BT_STRATEGY_PLAN.md 11 KB

BT Strategy Broad Search Plan

Goal

先建立 40–70 个策略候选池;其中第一阶段先力争形成 15–25 个真实可回测策略样本。完成初筛后,再两轮筛选,最后收敛到 5–10 个重点优化。

核心原则:

  • 先建池,再收敛
  • 先横向比较,再参数优化
  • 回测完成即刻可靠通知属于主流程
  • 同类问题优先修根因,不靠补发兜底

Current status

已验证流程

  • 单策略 BT 回测 + 主动通知:已验证
  • 三策略批量 BT 回测 + 主动通知:已验证
  • 使用 .bt-runs/<run_id>/state.jsonnotify.json 的新流程:已接入

当前已跑策略

  1. DualThrustRegimeStrategy
  2. DonchianRegimeStrategy
  3. MomentumVolTargetStrategy
  4. MomentumRegimeStrategy
  5. MomentumAtrTrailStrategy
  6. DonchianHybridVolAtrStrategy
  7. SuperTrendLongMaStrategy

Strategy families to expand

目标:扩展为 12 个家族,每个家族先准备 4–6 个变体,第一阶段形成 40–70 个策略池。

Core 6 families (priority first)

这些家族优先做深,先保证每类至少有足够样本和可比较变体。

1. Breakout family

  • Donchian variants
  • DualThrust variants
  • Opening range breakout
  • N-day breakout with filters
  • Breakout + volatility filter

2. Momentum family

  • Single-period momentum
  • Dual-period momentum
  • Momentum + regime
  • Momentum + ATR trail
  • Momentum + vol targeting

3. Trend family

  • SMA / EMA crossover
  • Long-MA filter
  • SuperTrend variants
  • KAMA trend
  • MACD trend filter

4. Volatility / risk family

  • Vol targeting
  • ATR stop / ATR trail
  • Position scaling by vol
  • Risk budget variants

5. Regime family

  • Bull/bear filter
  • Vol regime filter
  • Trend regime switch
  • Risk-on / risk-off filter

6. Hybrid family

  • Breakout + regime
  • Breakout + ATR
  • Trend + vol target
  • Momentum + trend filter
  • Breakout + trend + regime

Expansion 6 families (expand after core coverage)

这些家族保留在第一阶段,但执行顺序晚于核心 6 家族,不要求一开始平均铺开。

7. Mean reversion family

  • Bollinger mean reversion
  • Z-score pullback
  • Channel reversion
  • Short-term oversold rebound

8. Pullback family

  • Trend pullback entry
  • MA pullback continuation
  • ATR pullback setup
  • Breakout then pullback re-entry

9. Range / consolidation family

  • Range breakout failure
  • Range oscillation
  • Box mean reversion
  • Consolidation filter variants

10. Volume-confirmed family

  • Volume breakout confirmation
  • Price-volume trend filters
  • Volume surge entry
  • Low-volume rejection filters

11. Breadth / internal strength family

  • Market breadth proxy filters
  • Relative participation filters
  • Breadth-confirmed trend entry
  • Internal strength defensive overlays

12. Defensive / overlay family

  • Max drawdown guard
  • Risk-off overlay
  • Trailing stop overlay
  • Exposure cap / defensive switch

Batch execution plan

Batch 0: current base

现有已跑样本,作为第一阶段底座:

  1. DualThrustRegimeStrategy
  2. DonchianRegimeStrategy
  3. MomentumVolTargetStrategy
  4. MomentumRegimeStrategy
  5. MomentumAtrTrailStrategy
  6. DonchianHybridVolAtrStrategy
  7. SuperTrendLongMaStrategy

意义:

  • Breakout / Hybrid 已有初步基础
  • Momentum 已有初步基础
  • Trend / Defensive 有少量基础
  • 其他家族基本空白

Batch 1: expand strong families

目标:补 10–12 个新策略,优先扩当前强势方向,同时加入少量对照和防守样本。

建议配比:

  • Breakout / Hybrid: 4
  • Momentum: 3
  • Trend: 3
  • Defensive / Overlay: 1–2

建议名单(需先做仓库现实检查,标注可跑 / 待实现):

  • DonchianAdxStrategy — 可跑(已存在)
  • DonchianBasicStrategy — 待实现 / 待确认
  • DualThrustBasicStrategy — 待实现 / 待确认
  • OpeningRangeBreakoutStrategy — 待实现 / 待确认
  • TsmomBasicStrategy — 待实现 / 待确认
  • MomentumMaFilterStrategy — 待实现 / 待确认
  • MomentumDefensiveFilterStrategy — 待实现 / 待确认
  • EmaCrossoverStrategy — 待实现 / 待确认
  • SmaLongFilterTrendStrategy — 待实现 / 待确认
  • KamaTrendStrategy — 可跑(已存在)
  • AtrStopOverlayStrategy — 待实现 / 待确认
  • MaxDrawdownGuardStrategy — 待实现 / 待确认

备注:

  • Batch 1 在真正执行前,先拆成“当前可跑批次”与“研发 backlog”
  • 不把概念性策略名直接当成可回测对象

Batch 2: trend / regime / risk

目标:再补 10–12 个,把趋势过滤、状态切换、风险控制这一层铺开。

建议配比:

  • Trend: 3
  • Regime: 3
  • Volatility / Risk: 4
  • Pullback / Range: 1–2

建议名单(需先做仓库现实检查,标注可跑 / 待实现):

  • SmaCrossoverStrategy — 待实现 / 待确认
  • MacdTrendFilterStrategy — 待实现 / 待确认
  • SuperTrendBasicStrategy — 待实现 / 待确认
  • BullBearFilterStrategy — 待实现 / 待确认
  • VolatilityRegimeFilterStrategy — 待实现 / 待确认
  • RiskOnRiskOffStrategy — 待实现 / 待确认
  • VolTargetBasicStrategy — 待实现 / 待确认
  • PositionScalingByVolStrategy — 待实现 / 待确认
  • AtrTrailBasicStrategy — 待实现 / 待确认
  • ExposureCapStrategy — 待实现 / 待确认
  • TrendPullbackEntryStrategy — 待实现 / 待确认
  • RangeOscillationStrategy — 待实现 / 待确认

Batch 3: fill blank families

目标:再补 10–12 个,优先填补此前覆盖不足的逻辑空间。

建议配比:

  • Mean Reversion: 3
  • Volume-confirmed: 3
  • Breadth / Internal Strength: 2–3
  • Defensive / Overlay: 2–3

建议名单(原则上先进入研发 backlog,不默认视为可直接回测):

  • BollingerMeanReversionStrategy — 待实现
  • ZScoreReversionStrategy — 待实现
  • OversoldReboundStrategy — 待实现
  • VolumeBreakoutConfirmationStrategy — 待实现
  • PriceVolumeTrendFilterStrategy — 待实现
  • VolumeSurgeEntryStrategy — 待实现
  • BreadthProxyFilterStrategy — 待实现
  • ParticipationFilterStrategy — 待实现
  • InternalStrengthTrendStrategy — 待实现
  • TrailingStopOverlayStrategy — 待实现
  • RiskOffOverlayStrategy — 待实现
  • DrawdownShutdownStrategy — 待实现

Batch 4: pullback / range / hybrid detail

目标:补 8–10 个,把 pullback、range、hybrid 细分补完整。

建议配比:

  • Pullback: 3
  • Range / Consolidation: 3
  • Hybrid: 2–4

建议名单(原则上先进入研发 backlog,不默认视为可直接回测):

  • MaPullbackContinuationStrategy — 待实现
  • AtrPullbackSetupStrategy — 待实现
  • BreakoutPullbackReentryStrategy — 待实现
  • BoxReversionStrategy — 待实现
  • ChannelBounceStrategy — 待实现
  • BreakoutFailureReentryStrategy — 待实现
  • BreakoutTrendRegimeStrategy — 待实现
  • MomentumRegimeAtrStrategy — 待实现
  • TrendVolTargetStrategy — 待实现
  • DefensiveHybridStrategy — 待实现

Batch 5: expand winning families

目标:补 8–12 个,根据前 4 批结果定向扩优胜家族。

规则:

  • 如果 Breakout 整体占优,继续扩 Breakout 变体
  • 如果 Momentum + 风控表现更稳,优先扩该方向
  • 如果 Trend / Defensive 更稳,优先扩相关组合
  • 如果某家族整体弱,减少继续投入
  • 如果某家族有互补价值但收益一般,可保留少量观察位

目标总量:40–70 个策略


Strategy inventory

每个 batch 开始前,先做一次仓库现实检查,并输出三类清单:

  • runnable_now: 当前仓库已有、可直接回测
  • needs_adaptation: 稍作改造即可回测
  • needs_implementation: 仅有概念,还未实现

建议落地文件:

  • strategy_inventory.mdstrategy_inventory.csv

Unified evaluation table

后续所有策略都应进入统一总表,至少包含:

  • strategy_name
  • family
  • key_params
  • total_return
  • annual_return
  • sharpe
  • max_drawdown
  • win_rate
  • closed_trades
  • avg_exposure
  • status
  • shortlist_flag
  • notes

建议后续落地文件:

  • strategy_pool.csvstrategy_pool.md

Screening rules

Track A: main strategy filter

适用于主方向策略(breakout / momentum / trend / regime / hybrid)。

Round 1: hard filter

默认硬筛门槛:

  • annual_return > 8%
  • sharpe > 0.30
  • max_drawdown < 40%
  • closed_trades > 20

不满足时:

  • 默认淘汰
  • 或标记为观察样本(仅当风格有特殊参考价值)

Round 2: shortlist filter

从通过硬筛的策略里,再看:

  • 收益 / 回撤比
  • Sharpe 相对优势
  • 风格是否重复
  • 是否具备组合互补价值
  • 是否值得继续做参数优化

目标:收敛到 10–15 个主策略候选

Track B: component / overlay filter

适用于 defensive / overlay / vol-risk 组件型策略,不与主策略共用同一套门槛。

优先看:

  • 是否显著降低 max_drawdown
  • 是否改善收益 / 回撤比
  • 是否提升稳定性或持有体验
  • 是否能作为通用叠加层复用

组件型策略可以在以下情况下保留:

  • 绝对收益一般,但显著改善风控
  • 单独表现一般,但叠加后明显提升主策略表现
  • 交易次数较少,但具备明确的防守价值

Final focus

最终进入重点优化池:

  • 5–10 个主策略
  • 若干值得保留的 overlay / 组件模块
  • 进行小范围参数优化
  • 分阶段稳健性验证
  • 组合测试

Current observations

第一优先级候选

  • DualThrustRegimeStrategy
  • DonchianRegimeStrategy
  • MomentumVolTargetStrategy
  • DonchianHybridVolAtrStrategy

第二优先级候选

  • MomentumRegimeStrategy
  • MomentumAtrTrailStrategy
  • SuperTrendLongMaStrategy

当前判断

  • Breakout 家族:目前最值得继续扩
  • Momentum 家族:有明显潜力,但需要更多风控变体比较
  • Trend / Defensive 家族:更适合作为回撤控制对照组

Execution discipline

  1. 没有真实 run/session 证据,不报“已开跑”
  2. 回测完成不等于任务完成;通知送达也属于完成条件
  3. 优先修根因,不靠补发充当解决方案
  4. 每跑完一批,就更新总表与阶段判断
  5. 不在策略池尚小的时候过早深挖单个参数
  6. 每个 batch 开始前先做一次仓库现实检查:区分“当前可跑策略”与“待实现策略”

Unified evaluation table template

建议统一维护 strategy_pool.csvstrategy_pool.md,字段如下:

strategy_name family key_params total_return annual_return sharpe max_drawdown win_rate closed_trades avg_exposure status shortlist_flag notes
DualThrustRegimeStrategy Breakout / Hybrid range_period=20,k1=0.3,k2=0.3,regime=120 391.77% 15.02% 0.405 34.04% 47.22% 36 26.24% tested yes 当前收益第一
DonchianRegimeStrategy Breakout / Regime breakout=55,exit=30,regime=150 262.60% 11.98% 0.440 40.47% 45.00% 20 25.98% tested yes 当前 Sharpe 第一
MomentumVolTargetStrategy Momentum / Vol mom_short=20,mom_long=120,vol_period=30,target_vol=0.3 261.49% 11.95% 0.419 37.62% 38.89% 72 24.21% tested yes 风险收益较均衡

字段说明:

  • status: planned / running / tested / dropped / shortlisted
  • shortlist_flag: yes / no / observe
  • notes: 记录阶段判断,不写废话

Next checkpoint

下一步建议:

  1. 先确认 Batch 1 名单是否接受当前命名与方向
  2. 逐批回测并自动通知
  3. 跑完后更新统一对比表
  4. 做第一轮硬筛