综合对比
| 战法 | 信号数 | AUC-ROC | T+1 | 最大涨幅 | 涨幅胜率 | 评价 |
|---|---|---|---|---|---|---|
| 暴力K战法 | 5,484 | 0.9103 | +0.62% | +8.48% | 89.9% | 数据泄漏+特征错位 |
| 少妇战法 | 12,348 | 0.9946 | +0.10% | +5.40% | 81.9% | Lift 10.4x |
| 填坑战法 | 4,516 | 0.9951 | +0.15% | +5.70% | 81.2% | Lift < 1 |
| 补票战法 | 2,436 | 0.9966 | +0.15% | +7.11% | 94.4% | 回测最强 |
| 上穿60放量战法 | 21,560 | 0.9948 | +0.28% | +6.28% | 94.1% | 模型过拟合 |
T+1 = 信号后第1天收益均值 | 最大涨幅 = 信号后5-10天内最高收益均值 | Lift = 模型精度/基线精度
暴力K战法
BigBullishVolumeSelector
策略原理
捕捉当日出现大阳线+放量的股票。核心逻辑是"强者恒强"——当日涨幅超过6%且几乎无上影线,成交量暴增2.5倍以上,意味着资金在短时间内强势介入。
触发条件
- ● 日内涨幅 ≥ 6%(close/open ≥ 1.06)
- ● 上影线比例 < 2%(几乎无上影线)
- ● 成交量 > 20日均量 × 2.5倍(放量确认)
- ● 收盘价 < ZXDQ × 1.15(知行短线附近)
- ● 阳线收盘(close ≥ open)
数据概况
模型性能
信号前瞻收益
关键特征 (Top 5)
分析结论
暴力K战法的ML模型有两个严重问题:(1) 训练特征包含未来数据(fwd_max_ret等)导致泄漏;(2) 预测时特征名与训练不一致,仅6/33个特征有效。参数修正为线上配置(涨幅≥6%、上影<2%、量比≥2.5x)后,回测Lift仅1.31倍。信号本身前瞻收益不错(+8.48%最大涨幅、90%胜率),需彻底重构训练流程。
少妇战法
BBIKDJSelector
策略原理
BBI(多周期均线合成)呈上升趋势,同时KDJ的J值处于极低位(超卖区),形成"趋势向上但短期回调到位"的买点。要求MACD DIF>0确认中期多头,知行线金叉确认趋势。
触发条件
- ● BBI 衍生值处于上升趋势(允许20%回撤,最短20日窗口)
- ● KDJ J值 < 15 或处于历史10%分位以下
- ● 价格曾上穿MA60且保持在上方
- ● MACD DIF > 0(中期多头)
- ● 知行线条件:收盘 > ZXDKX 且 ZXDQ > ZXDKX
数据概况
模型性能
信号前瞻收益
关键特征 (Top 5)
分析结论
参数修正后(bbi_min_window=20匹配线上),训练信号从294暴增至12,348个,模型可信度大幅提升。Lift 10.38倍,Precision@20达35%。核心特征从zx_spread(82%)变为j_value(54%)+price_vs_ma60(25%),更合理地反映了"BBI上升+KDJ超卖"的战法本质。前瞻T+5收益+0.36%(之前-0.06%),最大涨幅+5.40%(82%胜率)。
填坑战法
PeakKDJSelector
策略原理
寻找"前高回落后再创新高"的形态——先找到两个价格峰值,后一个高于前一个,然后价格回落到坑底(接近前高附近),同时KDJ J值处于超卖。相当于在上升趋势的回调买点入场。
触发条件
- ● 至少存在2个价格峰值(scipy peak detection)
- ● 后一个峰值 > 前一个峰值(上升趋势)
- ● 当前价格在前高附近(波动 ≤ 3%)
- ● KDJ J值 < 10 或处于历史10%分位以下
- ● 知行线条件:收盘 > ZXDKX 且 ZXDQ > ZXDKX
数据概况
模型性能
信号前瞻收益
关键特征 (Top 5)
分析结论
参数修正(j_threshold=-5→10)后训练信号从2,793增至4,516个。模型AUC 0.9951依旧很高,但回测Lift仅0.96倍(略低于基线),说明模型无法有效区分信号质量。不过信号本身的前瞻收益仍有价值:最大涨幅+5.70%(81%胜率)。建议将研究方向转为信号质量评分(用fwd_max_ret做回归而非分类)。
补票战法
BBIShortLongSelector
策略原理
BBI上升趋势中,短期RSV(3)完成"V形反转"(从高位跌到低位再弹回高位),同时长期RSV(21)持续在高位——意味着长期强势未变但短期经历了快速洗盘后重新走强。
触发条件
- ● BBI 衍生值处于上升趋势
- ● 长期RSV(21): 近3日全部 ≥ 75(持续强势)
- ● 短期RSV(3): 经历 ≥75 → <25 → ≥75 的V形反转
- ● MACD DIF > 0
- ● 知行线条件:收盘 > ZXDKX 且 ZXDQ > ZXDKX
数据概况
模型性能
信号前瞻收益
关键特征 (Top 5)
分析结论
补票战法是五个战法中回测表现最优的——Lift高达225.7倍,T+5均值+0.88%,最大涨幅+7.11%且94.4%胜率。"长期强势+短期V形洗盘"的逻辑非常扎实,核心特征rsv_long_value和rsv_short_min_5d直接刻画了洗盘深度和恢复速度。建议重点跟踪。
上穿60放量战法
MA60CrossVolumeWaveSelector
策略原理
价格突破MA60均线并伴随成交量放大——经典的趋势启动信号。要求MA60斜率为正(均线拐头向上),突破后的上涨波段日均成交量超过突破前的1.5倍。
触发条件
- ● KDJ J值 < -5 或处于历史10%分位以下
- ● 近60日内有效上穿MA60(前日收盘<MA60,当日≥MA60)
- ● 上涨波段日均量 ≥ 前等长窗口日均量 × 1.5
- ● 近5日MA60线性回归斜率 > 0
- ● 知行线条件:收盘 > ZXDKX 且 ZXDQ > ZXDKX
数据概况
模型性能
信号前瞻收益
关键特征 (Top 5)
分析结论
上穿60放量战法信号量最大(21,560个),CV AUC 0.9948极高,但回测Lift仅0.81倍(低于随机基线),典型过拟合。信号本身的前瞻收益不错(T+5最大涨幅+6.28%,94%胜率),但模型未能有效区分哪些信号更优质。可能因为信号数量太多(日均15+个)、信号间差异不大导致。需要更细粒度的标签定义或特征工程。
跨战法共性发现
ZX Spread 是通用强特征
在少妇、填坑(#2)、补票(#3)、上穿60(#1)中都是核心特征。知行线的短长线差值(ZXDQ-ZXDKX)对信号质量有极强区分力。
所有信号的5日最大涨幅胜率 > 80%
说明这些技术形态选出的股票几乎都有一波拉升,核心问题在于出场时机而非入场选择。
CV AUC > 0.99 反映的是信号识别而非盈利预测
模型能精准识别"这个技术形态是否出现",但不能直接预测"这个信号会涨多少"。真正的盈利能力要看回测Lift和前瞻收益。
暴力K模型存在数据泄漏
训练特征包含 fwd_max_ret、fwd_max_dd 等未来数据,导致训练AUC虚高。实际预测时这些特征填零,仅靠6/33个有效特征工作。
提升路线图
基于本次研究发现,5个方向可以进一步提升策略的实战效果
信号质量评分(回归模型)
同一天触发的多个信号中,预测哪些后续涨幅更大。
核心思路
- -标签改为 fwd_max_ret(5日最大涨幅)回归
- -在现有28~37个特征上增加行业热度、市场情绪、资金流向
- -LightGBM回归 + 分位数回归(预测收益区间)
预期效果
从每日N个信号中挑出Top 5最有潜力的股票,按预测分数分组后实际收益应单调递增。
适用: 补票(2,436信号) / 少妇(12,348信号)
暴力K模型重构
修复数据泄漏和特征错位两个已知Bug。
修复步骤
- 1.从训练特征中移除所有 fwd_* 特征
- 2.统一 baolik_features.py 和 baolik_predict.py 的特征名
- 3.用 configs.json 参数重新训练+回测
问题描述
训练含 fwd_max_ret 等未来数据(泄漏),预测时57个特征仅6/33匹配训练集。信号本身质量好(+8.48%最大涨幅,90%胜率)。
最优出场时机
解决"什么时候卖"这个核心问题——所有信号都涨,但什么时候卖最赚?
核心思路
- -分析 T+1 到 T+10 逐日胜率曲线,找"胜率拐点"
- -建立"冲高回落预警"模型
- -根据信号特征动态设定止盈/止损位
数据基础
已有5个战法的 fwd_ret_1d ~ fwd_ret_10d、fwd_max_ret、fwd_max_dd 完整前瞻数据,无需额外采集。
多战法联合(共振信号)
当多个战法同时选中同一只股票时,信号更强。
统计历史上多战法重叠时的收益提升,建立"共振评分":被N个战法同时选中 → 评分加权。例如同一天少妇+补票同时选中某股票,信号可信度大幅提高。
信号前预警(提前布局)
在信号正式触发前1-3天,提前发现"即将触发"的股票,不用追涨。
对每个信号取 T-3, T-2, T-1 的特征快照,训练模型预测"未来3天内会触发X战法信号"。适用于少妇(12,348信号样本充足)和补票(2,436信号)。
信号质量评分方案
从"能不能选到"转向"选到的哪个更好"——核心思路是把分类问题变成回归问题
当前方法的局限
- x 二分类模型:只回答"是不是信号",不回答"这个信号有多好"
- x AUC虚高:0.99+ 的AUC只说明模型能识别形态,不等于能预测涨幅
- x Lift不稳定:填坑(0.96x)和上穿60(0.81x)的Lift < 1,说明Top-20选择不如随机
目标方案
- + 回归模型:预测每个信号的 fwd_max_ret(5日最大涨幅),输出连续评分
- + 质量排序:同一天的信号按预测分数排序,只取Top 5
- + 分位数回归:不仅预测均值,还给出收益区间(如"5%~12%")
评分特征体系
- KDJ J值 / 分位数
- 价格偏离均线程度
- ZX Spread(知行线差值)
- BBI斜率 / 加速度
- MACD DIF / 柱状值
- 波动率 / ATR
- 同行业近5日平均涨幅
- 行业内信号股票占比
- 板块轮动指标
- 行业近20日动量排名
- 大盘状态(牛市/震荡/熊市)
- 当日涨停数 / 跌停数
- 两市成交额/均值比
- 北向资金净流入
- 流通市值(大小盘)
- 近5日日均换手率
- 主力净流入(如有)
- 所属概念板块热度
评估标准
评分模型是否有效,不看AUC,而看:
单调性
按预测分数分5组(Q1~Q5),实际收益是否 Q1 < Q2 < Q3 < Q4 < Q5?
Top组超额
Q5(最高分组)的平均收益是否显著高于全体信号?目标 > 2倍。
IC值
每日预测排名 vs 实际收益排名的Spearman相关系数,目标 IC > 0.05。
推荐实施顺序
先在补票战法(样本2,436,Lift已225x)上验证回归方案。用已有37个特征训练LightGBM回归,看分组收益是否单调。
效果好则扩展到少妇(12,348信号)。同时新增行业热度+市场情绪特征,观察IC提升。
上线评分系统:每日扫描后,对触发信号的股票实时计算评分,仅推送Top 5。