Files
Hermes-Skills/intraday-regime-detector/references/decision-tree.md
T
mike e23f8d38c0 feat(strategy-management): exit_levels.py - 港美股做T 出场点位算法 (混合公式)
方法 2 (百分比波动率) + 方法 3 (关键价位) 混合算法

feat(intraday-regime-detector): 新 skill - 日内市场状态判别

来源: DeepSeek chat share 26iikphv8h94feze9q
核心: R² + ADF + 历史波动率, 识别趋势市 / 震荡市 / 混乱
推荐: 趋势跟踪 / 网格交易 / 布林带回归 / NO_TRADE
2026-07-18 21:26:14 +08:00

4.8 KiB
Raw Blame History

决策树详细说明

来源: DeepSeek chat share 26iikphv8h94feze9q

一、核心判别算法

1. 趋势效率 R² (线性回归)

目的: 衡量趋势的"纯粹度", 比单纯看均线方向更科学。

计算:

  • 取过去 N 根 K 线 (默认 20 根 5min K) 的收盘价序列
  • 以时间 (1,2,3...20) 为自变量 X, 收盘价为因变量 Y
  • 做一元线性回归
  • 计算 R²

判断:

状态 含义
> 0.75 趋势市 价格运动有明确方向, 噪声小
< 0.30 震荡市 价格运动无方向, 充满噪声
0.30-0.75 过渡 方向不明, 等待

2. ADF 平稳检验 (Augmented Dickey-Fuller)

目的: 判断价格序列是否倾向于均值回归。

计算:

  • 对过去价格序列执行 ADF 检验
  • 返回 p 值

判断:

p 值 含义 策略匹配
< 0.05 拒绝非平稳假设, 统计上平稳 均值回归, 适合震荡做T
> 0.05 不能拒绝非平稳, 可能是随机游走或趋势 不做均值回归

⚠️ 简化实现: 本 skill 用一阶差分自相关近似, 生产建议替换为 statsmodels.tsa.stattools.adfuller (代码已 fallback).

3. 历史波动率 (年化)

计算: log returns 标准差 × √252

判断:

波动率 含义
> 30% 高波动, 适合宽间距逆势 (布林带)
≤ 30% 低波动, 适合网格

4. 开盘缺口

计算: (open - prev_close) / prev_close × 100%

判断:

缺口 含义
> +0.5% 高开强势, 优先做正T
< -0.5% 低开弱势, 优先做倒T
平开/微小 默认震荡模式

二、策略参数说明

1. 趋势跟踪做T (TREND_FOLLOWING)

适用: 强趋势市 (R² > 0.75)

参数 (5min K):

  • direction: long_only / short_only
  • entry_trigger: 价格回踩 EMA5 不破 (上涨) / 价格反弹至 EMA5 受阻 (下跌)
  • stop_loss: EMA5 × 0.995 (long) / EMA5 × 1.005 (short)
  • take_profit: 现价 × 1.02 / × 0.98

2. 网格交易做T (GRID_TRADING)

适用: 低波动震荡 (R² < 0.30 + ADF 平稳 + 低波动)

参数:

  • grid_spacing: 近期平均振幅 × 0.8, 至少 0.5%
  • grid_levels: 3 (默认)
  • base_price: 当前价
  • reverse_at_boundary: True (在边界反向开仓)

3. 布林带回归做T (BOLLINGER_REVERSION)

适用: 高波动震荡 (R² < 0.30 + ADF 平稳 + 高波动)

参数 (20 期 ±2σ):

  • upper_band: MA20 + 2σ
  • lower_band: MA20 - 2σ
  • sell_at_upper: True
  • buy_at_lower: True
  • stop_if_break: True (破带止损)

4. NO_TRADE (暂停)

适用: 混乱或过渡状态

参数: reason: 市场状态不清晰, 等待趋势或明确震荡信号

三、决策流程图

              ┌─────────────────────┐
              │ 输入 20 根 5min K    │
              │ + 开盘缺口           │
              └──────────┬──────────┘
                         ↓
              ┌─────────────────────┐
              │ 计算 R²             │
              └──────────┬──────────┘
                         ↓
       ┌─────────────────┼─────────────────┐
       ↓                 ↓                 ↓
   R² > 0.75      0.30-0.75         R² < 0.30
   强趋势          过渡              震荡
       ↓                 ↓                 ↓
   TREND            UNKNOWN            计算 ADF
   FOLLOWING       NO_TRADE              ↓
                                     ┌─────┴─────┐
                                     ↓           ↓
                                 ADF<0.05    ADF≥0.05
                                 平稳         不平稳
                                     ↓           ↓
                                 计算波动率    CHAOTIC
                                     ↓        NO_TRADE
                                 ┌───┴───┐
                                 ↓       ↓
                              vol>30% vol≤30%
                                 ↓       ↓
                              BOLLINGER  GRID
                              REVERSION  TRADING

四、与本 skill 的对应关系

步骤 函数 文件
输入校验 diagnose() intraday_regime.py
计算 R² _calculate_r_squared() intraday_regime.py
计算 vol _calculate_historical_volatility() intraday_regime.py
计算 ADF _adf_test() intraday_regime.py
趋势判断 _classify_regime() intraday_regime.py
策略匹配 _match_strategy() intraday_regime.py
拉 K 线 + 整合 regime_scan.py regime_scan.py