📖 策略说明
破新高后缩量回踩
Breakout + Low-Volume Pullback — 捕捉强势股突破新高后缩量回踩确认的经典形态。三段识别 · 分段评分 · 混合风控。
2025 总收益
+57.45%
原始版 66.21%
Sharpe
2.29
最大回撤
−15.0%
Calmar 3.85
2026·至今
+12.44%
Sharpe 1.63
交易次数
328 + 107
2025 · 2026
🎯 核心逻辑
强势股在突破历史/阶段新高后,如果出现缩量回踩(而非放量出货), 往往是主力清洗浮筹的行为,后续大概率迎来第二波主升浪。 策略通过三阶段流程识别这种经典形态,用量化评分体系确保只在最有把握的时机入场。
📐 三阶段识别
① Breakout · 突破锚点
股价向上突破过去 120 个交易日的最高点。评估突破质量(≥0.20),避免"擦边"突破。
窗口120d
质量阈≥0.20
缩量前置不要求
缓冲0%
② Pullback · 缩量回踩
10 个交易日内回撤,评分关注:深度偏好 7%±2%、缩量对比突破日 ≤85%、MA10 支撑。
深度7%±2%
量比突破≤85%
量比均量≤120%
MA 支撑MA10
③ Rebound · 转强确认
enhanced 模式:关注 K 线质量(阳线、高位收盘、短上影)+ 温和放量确认,不追暴涨反弹。
权重w=0.8
模式enhanced
K 线↑ 阳线
量能温和确认
🧮 评分体系
连续打分 0~1,分段加权后按自适应阈值选股。每日保证候选稳定在 20~50 只。
score_total = score_breakout × 0.25
+ score_trend × 0.25
+ score_pullback_supply × 0.25
+ score_rebound × 0.25
− penalty_mae5 × 0.30
+ w_market × market_score
+ score_trend × 0.25
+ score_pullback_supply × 0.25
+ score_rebound × 0.25
− penalty_mae5 × 0.30
+ w_market × market_score
突破质量25% · 强度+收盘
趋势强度25% · 均线+动量+斜率
回踩供给25% · 深度+缩量+效率
转强确认25% · 反弹质量
MAE5 惩罚−30% · 预估回撤扣分
市场加成w_market × 市场环境
自适应阈值 T · 候选 20~50 只
Setup Gate · 量比突破>80%·振幅>11% 直接剔除
🛡️ 出场 · 混合风控
多层出场机制,在保利润的同时控制下行。每日最多持仓 10 只,信号日收盘生成订单 → 下一交易日开盘撮合。
⚙️ 关键参数
突破回看
120d
high_lookback
回踩深度
7%
depth_target
回踩窗口
10d
pullback_window
趋势 MA
20/60
fast / slow
候选数
20~50
自适应阈值
硬止损
−5%
close 触发
移动止损
−8%
trailing
MA 支撑
MA10
±1% tol
MAE5 惩罚
w=0.30
风险扣分
Setup Gate
✅
量比≤80%
反弹模式
enhanced
w=0.8
持仓上限
10
max_pos
📈 回测表现
策略演化路径
原始
66.21%
· Sharpe 2.70 · 等权评分无风控
当前
57.45%
· Sharpe 2.29 · +MAE5惩罚+Setup Gate+自适应阈值
trade-off
−8.8pp
· 收益换风控稳健 · 弱市保护更强
初始资金 100 万 · 基准上证指数 · 全仓分散 · 计入交易成本
⚖️ 优缺点
✅ 优势
- 逻辑清晰——突破回踩是经典强势股形态
- Sharpe > 2,收益风险比优秀
- 三重风控(硬止损+移动止损+MAE5)下行保护强
- 自适应阈值:市场活跃时多选、冷清时精选
- 连续打分体系便于调参与 A/B 测试
⚠️ 局限
- 仅依赖日线数据,无法盘中实时预警
- 震荡市中信号稀疏,可能长时间空仓
- 风控带来收益牺牲(原始版 66% → 当前 57%)
- 2026 小盘行情回撤偏大
- 突破 120d 高点在小盘上可能过于严格
🚀 如何运行
① 更新日线
python tools/update_daily.py --workers 12② 今日选股
python src/run_pick_today_breakout_lowvol_pullback.py③ 一键更新+选股
python tools/run_daily_pipeline.py④ 整段回测
python src/run_picking_breakout_lowvol_pullback.py --start-date 2025-01-01 --end-date 2025-12-31