配对交易系统说明文档

Hyperliquid 配对交易系统 — 项目说明文档

版本: 0.2.0 · Python: ≥ 3.12 · 最后更新: 2026-02-17

目录


项目概述

本系统是一个基于 Hyperliquid 去中心化永续合约交易所的实时配对交易(Pair Trading)信号分析与自动执行系统。核心交易标的为 HYPE/USDCPURR/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 仅作降级
    • 内置 @retry 429 限流自动重试(指数退避 + 抖动)
  • 订单追踪: 集成 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_SYMBOLSTRADING_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 项开仓前检查

  1. KillSwitch 是否激活
  2. 熔断器是否触发
  3. 频率限制检查
  4. 币种黑名单检查
  5. 同币种重复持仓检查
  6. 最大持仓数量检查
  7. 每日亏损上限检查
  8. 最大回撤检查
  9. 余额充足性检查

额外能力:

  • 仓位大小计算: 基础仓位 × 信号强度缩放 × 余额动态限制
  • 止损检查: 固定止损 + 移动止损(激活阈值 + 回调阈值)
  • 持仓超时检查: 最大持仓时间控制
  • 每日统计: 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 个抽象方法:

  1. _get_active_symbols() — 获取活跃币种列表
  2. _get_config_params() — 获取服务配置
  3. _should_enable_symbol_monitoring() — 是否启用新币种监控
  4. _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-Score
  • analyze_pair_advanced() — 高级配对分析(完整流程)
  • analyze_multi_period() — 多周期 Z-Score 验证(3 周期协整一致性)

协整模型智能选择:

  • α 显著且较大 → 无 α 模型(跨资产类)
  • α 不显著或较小 → 含 α 模型(同类资产)

数据自愈框架 (data_healing/)

DataHealingOrchestrator 四阶段自愈流程:

  1. Phase 1 - 加载: 从 DB 加载历史 Z-Score 数据
  2. Phase 2 - 诊断: 三类问题检测
    • 连续性缺口 → gap_targets
    • 数据过期 → stale_targets
    • 数量不足 → shortfall_targets
  3. Phase 3 - 修复: 循环执行(诊断 → 合并目标 → 修复 → 重新加载)
  4. 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.pyquery_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 永久保留
  • 自动压缩: klines 7 天后压缩,其余 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.mddocs/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 测试框架

Read more

跑步的技巧(滚动落地)

“滚动落地(rolling contact / rolling foot strike)”不是一种教条式的“脚法”,而是一种 让冲击沿着整只脚、整条后链逐级传递的落地机制。 它的核心不是“你先用哪儿着地”,而是: 你的脚落地之后,冲击是不是像轮子一样滚过去,而不是像锤子一样砸下去。 这就是滚动落地的本质。 一、什么叫“滚动落地”? 你可以把它理解成两种完全不同的落地方式: 1. 砸地(撞击式) 脚像锤子一样拍到地上: * 要么后跟先砸 * 要么前掌先戳 * 冲击集中在一个点 * 一个结构瞬间吃掉大部分载荷 结果就是: * 后跟砸 → 膝盖难受 * 前掌戳 → 前脚掌磨烂 * 都不是长跑友好模式 这叫 撞击式着地(impact strike)。 2. 滚地(滚动式) 脚像轮胎一样“滚”过地面: * 不是某一点硬砸 * 而是外侧中足先轻触 * 再向前滚到前掌 * 最后从大脚趾蹬离

By SHI XIAOLONG

AMI的优越性

世界模型(World Models)的具体例子 如下,我按类型分类,便于理解。每类都附带实际实现、演示效果和应用场景。 1. Yann LeCun / Meta 的 JEPA 系列(最直接对应“世界模型”概念) 这些是 LeCun 主张的非生成式抽象预测世界模型代表。 * I-JEPA(Image JEPA,2023) 输入一张图像,模型把不同区域(context 和 target)编码成抽象表示,然后预测 target 的表示(不在像素级别重建)。 例子:给定一张遮挡了部分物体的图片,模型能预测“被遮挡物体的大致位置和属性”,构建对物体持久性和空间关系的理解。 这是一个“原始世界模型”,能学习物理常识(如物体不会凭空消失)。 * V-JEPA / V-JEPA 2(Video JEPA,

By SHI XIAOLONG

什么是:“世界模型(World Models)”

世界模型(World Models) 是人工智能领域的一个核心概念,尤其在 Yann LeCun 等研究者推动的下一代 AI 架构中占据中心位置。它指的是 AI 系统在内部构建的对现实世界的抽象模拟或内部表示,让机器能够像人类或动物一样“理解”物理世界、预测未来、规划行动。 简单比喻 想象你闭上眼睛也能“看到”房间里的物体会如何移动、碰撞或掉落——这就是你大脑里的世界模型。AI 的世界模型就是类似的“数字孪生”(digital twin)或“内部模拟器”:它不是简单记住数据,而是学习世界的动态、因果关系和物理直觉(如重力、物体持久性、遮挡、因果等)。 为什么需要世界模型? 当前主流的大型语言模型(LLM) 擅长处理文本(统计模式预测),但存在根本局限: * 缺乏对物理世界的真正理解 → 容易“幻觉”、无法可靠规划。 * 样本效率低 → 人类/

By SHI XIAOLONG

K线周期可配置化设计方案

K线周期可配置化设计方案 1. 背景与目标 当前 Beta 套利策略的 K 线周期硬编码为 "1h",分散在多个文件中。需要: 1. 将 K 线周期从 1h 改为 2h 2. 提取为环境变量 BETA_ARB_KLINE_INTERVAL,使其可在 .env 中配置 2. 影响范围分析 2.1 需要修改的文件(共 6 个) 文件 硬编码位置 修改内容 src/trading/config.py BetaArbConfig dataclass 新增 kline_interval 字段,

By SHI XIAOLONG