配对交易系统说明文档
Hyperliquid 配对交易系统 — 项目说明文档
版本: 0.2.0 · Python: ≥ 3.12 · 最后更新: 2026-02-17
目录
项目概述
本系统是一个基于 Hyperliquid 去中心化永续合约交易所的实时配对交易(Pair Trading)信号分析与自动执行系统。核心交易标的为 HYPE/USDC 与 PURR/USDC 永续合约,通过统计套利策略在两者价差偏离时自动开仓/平仓。
核心能力
| 能力 | 说明 |
|---|---|
| 实时数据采集 | WebSocket 订阅多周期 K 线(5m/1h/4h),毫秒级入库 |
| 多周期分析 | 相关性分析、OLS 协整检验、多周期 Z-Score 验证 |
| 自适应策略 | Adaptive Bollinger Z-Score 突破入场 + 均值回归退场 |
| 自动交易 | 限价/市价下单、配对仓位管理、止损/移动止损/超时平仓 |
| 数据自愈 | 自动检测 K 线缺失/过期并通过 REST API 补回 |
| 多层安全 | KillSwitch、RateLimiter、CircuitBreaker、风控审查 |
| 监控告警 | 飞书 Lark Bot 通知 + 资源监控 |
系统架构
┌─────────────────────────────────────────────────────────┐
│ Hyperliquid API │
│ (WebSocket + REST, wss://api.hyperliquid.xyz) │
└──────────┬──────────────────────────────┬────────────────┘
│ K线/L2/订单更新 │ 下单/查询
▼ ▼
┌────────────────────┐ ┌────────────────────────┐
│ EnhancedWebSocket │ │ HyperliquidExecutor │
│ Manager │ │ (SDK 封装 + 429 重试) │
│ ·双重心跳检测 │ │ ·限价/市价下单 │
│ ·指数退避重连 │ │ ·杠杆/账户管理 │
│ ·L2 订单簿缓存 │ │ ·L2 快照零延迟定价 │
└────────┬───────────┘ └────────┬───────────────┘
│ │
▼ ▼
┌────────────────────────────────────────────────────────┐
│ RealtimeKlineServiceBase (抽象基类) │
│ ·K线入库 ·分析调度 ·数据自愈 ·策略信号触发 │
└───────────────────────┬────────────────────────────────┘
│ 信号
▼
┌────────────────────────────────────────────────────────┐
│ TradingOrchestrator (编排器) │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────────┐ │
│ │ Strategy │ │ PositionMgr │ │ RiskManager │ │
│ │ (Adaptive │ │ ·开/平仓 │ │ ·9项风控审查 │ │
│ │ Bollinger) │ │ ·DB持久化 │ │ ·仓位缩放 │ │
│ │ ·EMA+Welford │ │ ·孤儿仓位 │ │ ·止损/回撤 │ │
│ └──────────────┘ └──────────────┘ └────────────────┘ │
└───────────────────────┬────────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ TimescaleDB + EventBus │
│ ·7张表/4个Hypertable │
│ ·事件驱动通知 │
└───────────────────────────────┘
目录结构
Trading-in-websocket/
├── src/ # 源代码主目录
│ ├── config.py # 全局配置(环境变量 + 常量)
│ ├── trading/ # 交易引擎核心
│ │ ├── config.py # TradingConfig 数据类 + .env 加载
│ │ ├── models.py # 数据模型(信号、订单、仓位)
│ │ ├── executor.py # Hyperliquid SDK 封装(下单/查询)
│ │ ├── orchestrator.py # 交易编排器(信号路由 + 线程协调)
│ │ ├── strategy.py # Adaptive Bollinger Z-Score 策略
│ │ ├── position_manager.py # 配对仓位生命周期管理
│ │ ├── risk_manager.py # 风控审查 + 仓位计算
│ │ ├── safety.py # KillSwitch / RateLimiter / CircuitBreaker
│ │ ├── trade_repository.py # 交易数据持久化(CRUD)
│ │ ├── websocket_order_manager.py # WS 订单追踪 + HTTP 兜底
│ │ └── protocols.py # 协议接口定义
│ ├── services/ # 实时数据服务
│ │ ├── realtime_kline_service_base.py # 抽象基类(90%共同逻辑)
│ │ ├── realtime_kline_service.py # 通用实例(全币种监控)
│ │ ├── realtime_kline_service_hype.py # HYPE/PURR 专用实例
│ │ └── eth_btc.py # ETH/BTC 配对服务
│ ├── events/ # 事件驱动架构
│ │ ├── base.py # Event 基类 + 优先级
│ │ ├── event_bus.py # 线程安全单例 EventBus
│ │ ├── trading_events.py # 交易事件定义
│ │ └── system_events.py # 系统事件定义
│ ├── utils/ # 工具库
│ │ ├── analysis/ # 分析算法
│ │ │ ├── analysis_core.py # 相关性/协整/Z-Score 核心
│ │ │ ├── coingetation_more_check.py # 高级协整检验
│ │ │ ├── kline_data_filler.py # K线数据补充器
│ │ │ ├── kline_data_filler_lazy.py # 惰性加载补充器
│ │ │ └── risk_evaluator.py # 风险评估
│ │ ├── data_healing/ # 数据自愈框架
│ │ │ ├── orchestrator.py # 自愈编排器(4阶段流程)
│ │ │ ├── continuity_checker.py # 连续性检查
│ │ │ ├── repair_executor.py # 修复执行器
│ │ │ ├── quality_assessor.py # 质量评估
│ │ │ └── config.py # 自愈配置参数
│ │ ├── database/
│ │ │ └── timescaledb.py # TimescaleDB 连接池客户端
│ │ ├── websocket/
│ │ │ └── enhanced_ws_manager.py # 增强型 WS 管理器
│ │ ├── monitoring/
│ │ │ ├── lark_bot.py # 飞书 Lark Bot 告警
│ │ │ ├── alert_sender.py # 告警发送封装
│ │ │ ├── alert_level.py # 告警级别定义
│ │ │ └── signal_alert_formatter.py # 信号告警格式化
│ │ ├── core/
│ │ │ └── logging_config.py # 日志配置
│ │ ├── hyperliquid_candles.py # K线 REST API 封装
│ │ ├── message_deduplicator.py # 消息去重器
│ │ └── retry_utils.py # 重试工具
│ └── scripts/ # 脚本工具
│ ├── backtest_*.py # 多种策略回测脚本
│ ├── backfill_*.py # 历史数据回填
│ ├── optimize_*.py # 参数优化
│ └── validate_data_consistency.py # 数据一致性验证
├── database/
│ └── init_timescaledb.sql # 数据库初始化(7张表 + 索引 + 策略)
├── docker/
│ ├── docker-compose.yml # TimescaleDB 容器编排
│ ├── Dockerfile.akash # Akash 部署镜像
│ ├── deploy-akash.yaml # Akash SDL 部署清单
│ └── AKASH_QUICKSTART.md # Akash 快速部署指南
├── docs/ # 文档目录
├── pyproject.toml # 项目依赖定义
├── .env.example # 环境变量模板
└── .gitignore
核心模块详解
交易引擎 (src/trading)
交易引擎由 6 个核心组件 + 3 个辅助模块构成,采用分层架构设计。
1. 数据模型 (models.py)
定义所有交易数据结构:
| 类型 | 说明 |
|---|---|
TradingNetwork |
交易网络枚举(mainnet / testnet) |
PositionStatus |
仓位生命周期状态(pending → opening → open → closing → closed) |
SignalType |
信号类型(entry / exit) |
AccountType |
账户模式(auto / unified / standard) |
PairTradeSignal |
交易信号数据类(Z-Score、方向、强度、L2快照等) |
OrderResult |
单笔订单执行结果(支持部分成交扩展) |
PairOrderResult |
配对订单结果(Leg A + Leg B) |
PairPosition |
配对仓位状态(含信号快照、盈亏、峰值PnL追踪) |
ReversionInfo |
均值回归退场信息 |
2. 交易配置 (config.py)
TradingConfig 数据类从 .env 环境变量加载所有交易参数:
- 基础设置: 交易开关、网络(测试/主网)、配对模式(single/pair)、账户类型(auto/unified/standard)
- 仓位参数: 基础/最大/最小仓位 USD、杠杆倍数、杠杆模式、Portfolio Margin 上限
- 风控参数: 最大持仓数、总敞口限制、止损比例、最大回撤、每日亏损上限、移动止损激活/回调比例、最大持仓时间
- 安全机制: 频率限制、熔断器阈值/冷却、KillSwitch 路径、黑名单、禁止平仓代币(close_disabled_symbols)
- 策略参数: EMA 窗口、STD 窗口、Adaptive Z 阈值、最小 Z-Score 绝对值、均值回归因子、冷却期;支持按币种覆盖(StrategyParams)
- 订单参数: 开仓/平仓订单类型(market/limit)、限价偏移、超时、滑点;WebSocket 订单追踪超时与重连
- 信号缩放: 强/中/弱信号的仓位缩放倍数(TRADING_STRENGTH_SCALE_*)、最低余额系数、是否允许同币种重复持仓
- 内置业务逻辑验证(
__post_init__)和安全审计(validate_secrets)
3. 执行器 (executor.py) — 1854行
HyperliquidExecutor 封装 Hyperliquid SDK 的 Exchange + Info 类:
- 初始化: 钱包创建、SDK 连接(带重试)、币种元数据缓存(szDecimals/maxLeverage)
- 杠杆管理: 动态设置杠杆倍数 + 模式(全仓/逐仓),支持 Portfolio Margin 自动检测
- 下单系统:
open_pair_position()— 配对开仓(Leg A → Leg B 顺序执行,含 Leg B 预检查)close_pair_position()— 配对平仓(反向下单 + 残留处理)- 支持限价单和市价单两种模式
- 限价单使用 L2 快照零延迟定价,API 仅作降级
- 内置
@retry429 限流自动重试(指数退避 + 抖动)
- 订单追踪: 集成
WebSocketOrderManager,实时追踪限价单成交状态 - 价格精度: 按
szDecimals自动截断下单数量和价格
4. 策略引擎 (strategy.py) — Adaptive Bollinger Z-Score
AdaptiveBollingerStrategy 实现完整的入场/退场信号生成:
核心算法:
adaptive_z = (z4h - EMA(z4h, span)) / StdDev(z4h, window)
- EMA: 指数移动平均(默认
ema_span=36,由TRADING_STRATEGY_EMA_SPAN配置) - StdDev: Welford 在线增量法计算标准差,滚动窗口大小由
TRADING_STRATEGY_STD_WINDOW(默认 72)配置 - 入场: adaptive_z 从低于阈值突破到高于阈值时触发(突破检测),阈值
TRADING_STRATEGY_ADAPTIVE_THRESHOLD(默认 3.0),并受TRADING_STRATEGY_MIN_ZSCORE_ABS过滤 - 退场: adaptive_z 回归到入场值的指定比例时触发(均值回归),比例由
TRADING_STRATEGY_REVERSION_FACTOR(默认 0.30)配置
架构特性:
- Per-Symbol 隔离: 每个交易对独立的
SymbolState(缓冲区、EMA、统计量、持仓追踪) - 按币种策略覆盖: 通过
TRADING_STRATEGY_OVERRIDE_SYMBOLS与TRADING_STRATEGY_{SYMBOL}_{PARAM}为指定币种覆盖 EMA_SPAN、STD_WINDOW、ADAPTIVE_THRESHOLD、MIN_ZSCORE_ABS、REVERSION_FACTOR、COOLDOWN_MINUTES、STOP_LOSS_PCT、MAX_HOLD_HOURS - 去重 K 线: 通过
kline_time过滤重复 tick - 冷却期: 平仓后强制等待(
TRADING_STRATEGY_COOLDOWN_MINUTES),避免连续反复交易 - 历史预热:
prime_buffer()从数据库加载历史数据初始化缓冲区
5. 仓位管理器 (position_manager.py) — 1172行
PositionManager 管理配对仓位的完整生命周期:
- 开仓流程: 防重复 → 获取价格 → 风控审查 → 计算仓位 → 下单 → 持久化
- 平仓流程: 查找仓位 → 状态锁定 → 执行 → 计算盈亏 → 持久化
- 重启恢复: 从 DB 恢复未关闭仓位 → 与交易所对比验证 → 清理幽灵仓位
- 仓位同步: 定期与交易所实际持仓对比
- 检测并收纳孤儿仓位(交易所有但内存没有)
- 自动配对检测(alt/base 孤儿方向相反时合并为 pair)
- 清理幽灵仓位(内存有但交易所没有)
- 价格更新: 批量原子性更新所有仓位的当前价格
6. 风控管理器 (risk_manager.py)
RiskManager 提供 9 项开仓前检查:
- KillSwitch 是否激活
- 熔断器是否触发
- 频率限制检查
- 币种黑名单检查
- 同币种重复持仓检查
- 最大持仓数量检查
- 每日亏损上限检查
- 最大回撤检查
- 余额充足性检查
额外能力:
- 仓位大小计算: 基础仓位 × 信号强度缩放 × 余额动态限制
- 止损检查: 固定止损 + 移动止损(激活阈值 + 回调阈值)
- 持仓超时检查: 最大持仓时间控制
- 每日统计: PnL 跟踪 + 峰值权益 + UTC 每日重置
7. 编排器 (orchestrator.py)
TradingOrchestrator 是交易模块的统一入口:
- 启动流程: 初始化 Executor → 恢复仓位 → 加载历史数据(含数据自愈降级) → 启动监控线程
- 信号处理: 接收
process_analysis()调用 → Strategy 生成信号 → 执行开/平仓 - 后台线程:
- 止损监控线程(固定止损 + 移动止损 + 持仓超时 + 失败重试)
- 仓位同步线程(定期与交易所对账)
- 通知: 开仓/平仓结果通过飞书 Lark Bot 推送
8. 安全机制 (safety.py)
三层安全保护:
| 组件 | 说明 |
|---|---|
KillSwitch |
文件系统紧急停止 — touch /tmp/trading_kill_switch 立即停止交易 |
RateLimiter |
滑动窗口频率限制(默认 30次/分钟) |
CircuitBreaker |
连续失败熔断器(默认 5 次触发,300 秒冷却后自动恢复) |
9. WebSocket 订单管理器 (websocket_order_manager.py)
WebSocketOrderManager 基于 WebSocket orderUpdates 实时追踪限价单:
- 注册订单追踪 → 等待 WS 成交通知 → 超时 HTTP 兜底验证
- 与 K 线服务共享 WebSocket 连接,无需独立连接
- 支持
userFills消息补充成交均价信息
实时服务 (src/services)
RealtimeKlineServiceBase — 抽象基类(1770行)
包含 90% 的共同逻辑,子类仅需实现 4 个抽象方法:
_get_active_symbols()— 获取活跃币种列表_get_config_params()— 获取服务配置_should_enable_symbol_monitoring()— 是否启用新币种监控_get_corr_threshold_for_analysis()— 分析用相关系数阈值
核心功能:
- WebSocket 订阅: K 线 + L2 订单簿 + 订单状态更新
- 消息处理: 解析 K 线数据 → 去重 → 入分析队列
- 批量写入: K 线数据批量 upsert 到 TimescaleDB(带死锁重试)
- 分析调度: 多工作线程并行分析,生成交易信号
- 数据自愈: 集成
DataHealingOrchestrator,启动时自动修复历史数据 - 交易集成: 信号触发时调用
TradingOrchestrator.process_analysis()
子类实例
| 服务 | 类名 | 交易对 | 说明 |
|---|---|---|---|
realtime_kline_service.py |
RealtimeKlineService |
全币种 | 通用监控服务 |
realtime_kline_service_hype.py |
RealtimeKlineServiceHypePurr |
HYPE/PURR | 专用高频分析 + 自动交易 |
eth_btc.py |
RealtimeKlineServiceEthBtc |
ETH/BTC | ETH/BTC 配对分析 |
事件系统 (src/events)
采用发布-订阅模式解耦组件:
EventBus — 线程安全单例:
- 同步分发,订阅者异常隔离
- 性能监控(发布延迟、订阅者耗时告警 >100ms)
事件类型:
| 事件 | 触发场景 |
|---|---|
PositionUpdatedEvent |
仓位状态变更 |
OrderFilledEvent |
订单成交 |
BalanceChangedEvent |
余额变动 |
PriceUpdatedEvent |
价格更新 |
OrderBookUpdatedEvent |
L2 订单簿更新 |
CandleUpdatedEvent |
K 线更新 |
WebSocketConnectedEvent |
WS 连接成功 |
WebSocketDisconnectedEvent |
WS 断开 |
WebSocketReconnectedEvent |
WS 重连成功 |
工具库 (src/utils)
分析核心 (analysis/analysis_core.py)
提供共享的时序分析算法:
prepare_price_series()— K 线数据转价格序列calculate_correlation()— 收益率相关系数(Pearson/Spearman/Kendall)calculate_cointegration_params_ols()— Engle-Granger 两步法全量协整分析calculate_cointegration_params_dual_window()— 双窗口策略(beta=100期 + zscore=30期)calculate_zscore_ols()— 基于 OLS 残差的 Z-Scoreanalyze_pair_advanced()— 高级配对分析(完整流程)analyze_multi_period()— 多周期 Z-Score 验证(3 周期协整一致性)
协整模型智能选择:
- α 显著且较大 → 无 α 模型(跨资产类)
- α 不显著或较小 → 含 α 模型(同类资产)
数据自愈框架 (data_healing/)
DataHealingOrchestrator 四阶段自愈流程:
- Phase 1 - 加载: 从 DB 加载历史 Z-Score 数据
- Phase 2 - 诊断: 三类问题检测
- 连续性缺口 →
gap_targets - 数据过期 →
stale_targets - 数量不足 →
shortfall_targets
- 连续性缺口 →
- Phase 3 - 修复: 循环执行(诊断 → 合并目标 → 修复 → 重新加载)
- Phase 4 - 评估: 最终质量评估,返回
HealingResult
辅助组件:ContinuityChecker(连续性检查)、RepairExecutor(修复执行)、QualityAssessor(质量评估)
增强型 WebSocket 管理器 (websocket/enhanced_ws_manager.py)
EnhancedWebSocketManager(1416行)提供生产级 WebSocket 连接管理:
- 双重健康检测: 底层 TCP 连接 + 应用层心跳(数据流中断检测)
- 指数退避重连: 1s → 2s → 4s → ... → 60s(含 ±25% 随机抖动)
- 状态机: DISCONNECTED → CONNECTING → CONNECTED → RECONNECTING → FAILED
- L2 缓存: 最新订单簿快照缓存,供 Executor 零延迟定价
- 事件集成: 连接/断开/重连事件发布到 EventBus
数据库客户端 (database/timescaledb.py)
TimescaleDBClient 基于 psycopg[pool] 的连接池客户端:
- 异步连接池管理(可配置 min/max/超时/最大存活/最大空闲)
- K 线批量 upsert(ON CONFLICT DO UPDATE)
- 分析结果批量写入
- 通用查询接口
监控告警 (monitoring/lark_bot.py)
飞书 Lark Bot Webhook 告警:
- 彩色卡片消息(
sender_colourful) - 带重试的 HTTP 请求(指数退避)
- 支持自定义标题/内容/颜色
回测脚本 (src/scripts)
| 脚本 | 说明 |
|---|---|
backtest_base.py |
回测基类/公共逻辑 |
backtest_adaptive_zscore.py |
Adaptive Z-Score 策略回测 |
backtest_kalman.py |
Kalman 滤波策略回测 |
backtest_cusum.py |
CUSUM 策略回测 |
backtest_double_zscore.py |
双 Z-Score 策略回测 |
backtest_eth_btc_zscore_4h.py |
ETH/BTC 4h Z-Score 回测 |
backtest_eth_btc_zscore_4h_binance.py |
ETH/BTC 4h Z-Score(Binance)回测 |
backtest_purr_hype_zscore_4h_hyperliquid.py |
PURR/HYPE 4h Z-Score 回测 |
optimize_adaptive_zscore.py |
Adaptive Z-Score 参数优化 |
optimize_adaptive_zscore_v2.py |
V2 参数优化 |
compare_exit_methods.py |
退出方法对比 |
backfill_all_data.py |
历史 K 线全量回填 |
backfill_analysis_results.py |
分析结果回填 |
validate_data_consistency.py |
数据一致性验证 |
validate_ema_std_decouple.py |
EMA/STD 解耦验证 |
validate_multicoin_btc_base.py / _v2.py |
多币种 BTC 基准验证(Gate1+Gate2) |
fix_buffer_loading.py |
缓冲区加载修复 |
btc_autocorrelation.py |
BTC 自相关分析 |
query_analyze_result/*.py |
分析结果查询(query_purr_zscore、query_eth_zscore、check_* 等) |
klines/query_purr_5m_klines.py、query_purr_1h_klines.py |
K 线查询脚本 |
多币种回测 v2(4H 相关系数过滤 + Gate1+Gate2)的详细分析报告见 BACKTEST_MULTICOIN_V2_ANALYSIS_REPORT.md。
数据库设计
使用 TimescaleDB(PostgreSQL + 时序扩展),7 张表 + 4 个 Hypertable:
表结构
| 表名 | 类型 | 用途 | 分区策略 |
|---|---|---|---|
klines |
Hypertable | K 线数据(多币种/多周期) | 7 天 chunk |
symbol_metadata |
普通表 | 币种元数据 | — |
analysis_results |
Hypertable | 分析结果(Z-Score/协整等) | 30 天 chunk |
trading_signals |
Hypertable | 交易信号记录 | 30 天 chunk |
pair_positions |
普通表 | 配对仓位管理 | — |
trade_orders |
Hypertable | 订单明细 | 30 天 chunk |
daily_trading_stats |
普通表 | 每日交易统计 | — |
自动化策略
- 数据保留:
klines保留 90 天,analysis_results永久保留 - 自动压缩:
klines7 天后压缩,其余 30 天后压缩 - 连续聚合:
daily_analysis_stats物化视图,每小时自动刷新 - 索引优化: 14+ 个索引(含覆盖索引、局部索引、组合索引)
配置说明
所有配置通过 .env 文件管理,参考 .env.example 模板。
核心配置分类
| 分类 | 关键变量 | 说明 |
|---|---|---|
| 数据库 | TIMESCALEDB_* |
连接信息 + 连接池参数 |
| 交易开关 | TRADING_ENABLED |
true/false 总开关 |
| 网络 | TRADING_NETWORK |
mainnet / testnet |
| 仓位 | TRADING_BASE_POSITION_USD |
单腿基础仓位(USD) |
| 杠杆 | TRADING_LEVERAGE / TRADING_LEVERAGE_MODE |
倍数 + 模式 |
| 风控 | TRADING_STOP_LOSS_PCT / TRADING_MAX_DRAWDOWN_PCT |
止损 + 回撤 |
| 策略 | TRADING_STRATEGY_* |
EMA/阈值/回归因子/冷却 |
| 订单 | TRADING_OPEN_ORDER_TYPE / TRADING_CLOSE_ORDER_TYPE |
market / limit |
| 安全 | TRADING_KILL_SWITCH_FILE |
紧急停止文件路径 |
| 告警 | LARKBOT_ID / LARK_ALERT_EMAIL |
飞书通知 |
| API | HYPERLIQUID_PRIVATE_KEY |
交易私钥(⚠️ 敏感) |
部署方式
方式一:本地运行
# 1. 克隆项目
git clone https://github.com/zhajingwen/Trading-in-websocket.git
cd Trading-in-websocket
# 2. 创建环境
cp .env.example .env
# 编辑 .env 填入实际配置
# 3. 启动 TimescaleDB
cd docker && docker compose up -d && cd ..
# 4. 安装依赖
uv sync
# 5. 启动服务(二选一)
# HYPE/PURR 配对专用(推荐)
uv run python -m src.services.realtime_kline_service_hype
# 或:全币种通用监控
# uv run python -m src.services.realtime_kline_service
方式二:Docker Compose
cd docker
docker compose up -d
方式三:Akash 去中心化云
参考 docker/AKASH_QUICKSTART.md 和 docs/AKASH_DEPLOYMENT.md。
使用 docker/Dockerfile.akash 构建镜像,通过 docker/deploy-akash.yaml SDL 清单部署。
安全机制
多层保护体系
Layer 1: KillSwitch → touch 文件立即停止
Layer 2: CircuitBreaker → 连续失败自动熔断
Layer 3: RateLimiter → 滑动窗口频率限制
Layer 4: RiskManager → 9项开仓前审查
Layer 5: .env 权限检查 → 启动时验证文件权限 + 弱密码检测
Layer 6: 私钥安全 → repr 遮蔽 + 格式校验 + 主网额外约束
紧急操作
# 紧急停止所有交易
touch /tmp/trading_kill_switch
# 恢复交易
rm /tmp/trading_kill_switch
依赖清单
核心依赖
| 依赖 | 版本 | 用途 |
|---|---|---|
hyperliquid-python-sdk |
≥0.22.0 | Hyperliquid 交易所 SDK |
websocket-client |
≥1.6.0 | WebSocket 连接 |
psycopg[binary,pool] |
≥3.1.0 | TimescaleDB 连接池 |
pandas |
≥3.0.0 | 数据分析 |
numpy |
≥2.4.0 | 数值计算 |
scipy |
≥1.17.0 | 科学计算 |
statsmodels |
≥0.14.6 | 协整检验 / ADF 检验 |
scikit-learn |
≥1.8.0 | 机器学习工具 |
tenacity |
≥9.1.2 | 重试机制 |
python-dotenv |
≥1.2.1 | 环境变量加载 |
redis |
≥7.1.0 | 缓存(预留) |
requests |
≥2.31.0 | HTTP 请求 |
arch |
≥8.0.0 | 计量/时序模型 |
cachetools |
≥7.0.0 | 缓存工具 |
hurst |
≥0.0.5 | Hurst 指数等 |
psutil |
≥7.2.1 | 系统监控 |
tqdm |
≥4.66.0 | 进度条 |
tabulate |
≥0.9.0 | 表格输出 |
urllib3 |
≥2.0.0 | HTTP 客户端 |
retry |
≥0.9.2 | 重试装饰器 |
matplotlib / seaborn |
— | 绘图与可视化 |
networkx |
≥3.2 | 图/网络分析 |
yfinance |
≥1.0 | 行情数据(可选) |
可选依赖
| 组 | 依赖 | 用途 |
|---|---|---|
ml |
lightgbm, xgboost |
机器学习模型 |
deep-learning |
tensorflow, keras |
深度学习 |
test |
pytest, pytest-cov, faker 等 |
测试框架 |