双龙戏珠战法 · 量化复现与回测
原文:灿灿说市《双龙戏珠战法》2026-08-04 · 数据:腾讯前复权日K,
全A 4491 只,2021-06 ~ 2026-08-18 · 生成于 2026-08-19 14:30
先说结论:这套形态能被程序精确复现,但
作为机械交易信号它不成立——2022年以来 49,727 条信号,T日收盘买入后
T+1 至 T+5 相对全市场等权全部为负超额(−0.12% → −0.53%);次日开盘买入
T+1 仅 +0.13%,扣掉 0.25% 双边成本后仍是负的。而且加上「堆量+大阴」这两段筛选后,
表现反而比只看均线结构更差。
真正被数据支持的是三条方向性判断:别追高(贴白线组接近0,最远组 −0.98%)、
调整要缩量(缩量组 −0.02% vs 不缩量组 −0.31%)、
堆量段带涨停的反而更差(−0.20% vs −0.06%)。唯一稳定为正的切片是原文排在最后的
「上穿黄线」(趋势擒龙),但样本小、幅度也就刚够覆盖成本。
过去一周信号(2026-08-12 ~ 2026-08-18,5 个交易日)
T+1/T+2/T+3 = 信号日收盘买入后的
超额收益(已减去同日同持有期全市场等权),空白 = 尚未到期。
实证分 = 上穿黄线(+2) + 贴线<3%(+1) + 调整缩量<0.8(+1) + 堆量无涨停(+1),
只由回测里真正呈现单调关系的条件构成,不是"会涨"分,是"相对更不差"分。
本周这批信号事后表现:严格档 T+1 超额 −0.66%、胜率 27%。
主因是 08-17 全市场等权大涨 +2.03%,而这批「回踩类」标的没跟上。
5 个交易日是噪音,不能当结论用,只能说明信号密度和风格:
严格档日均 54 只,几乎全是回踩白线型。
回测(2022-01 ~ 2026-08,全A,前复权)
基准怎么算的(这里踩过一个坑):第一版用"日度等权指数复利"当基准,
随机抽样对照组跑出 −0.08%/天(t=−5)的假超额——个股 h 日复利收益的均值天然低于
日度均值复利(波动拖累)。改成同日、同持有期、同票池的等权平均收益后,
随机对照回到 T+1 -0.007%、T+2 -0.011%、T+3 +0.001%、T+5 +0.001%,才是干净的口径。下面所有数字都是修正后的。
分年(收盘买入 T+1 超额)
分组:什么条件下相对更不差(严格档,收盘买入超额)
唯一正向切片:上穿黄线(趋势擒龙)
这是我检验的约 20 个切片里唯一稳定为正的一个,
存在多重检验的假阳性风险。支持它的证据:三档参数下方向一致;消融档样本 22563 条、
t=7.8、分年 5/5 为正。反对它的证据:幅度只有 +0.16%~+0.39%,
按天等权(更接近实盘组合口径)后严格档 +0.28%/宽松档 −0.06%/消融档 −0.22%,
成本一扣基本归零。结论:可以当"趋势修复的观察名单",不能当机械买点。
口径校准:原文点名的案例股,程序能不能复现
文章 2026-08-04 点名了 易点天下、科蓝软件、昆仑万维、米奥会展(当天早盘选出),
另有作业题 久其软件、中兰环保、捷强装备,以及前一日的华电。用这 9 只反过来校准参数,
是唯一能验证"我理解的双龙戏珠 = 灿灿的双龙戏珠"的锚点。
2 / 4严格档 08-04 命中当天点名股
(米奥会展、捷强装备)
3 / 4宽松档 08-04 命中
(+科蓝软件)
昆仑万维两档都不入选:MA6 远在 MA20 之下
按他自己的口诀是"黄上白下别乱搞"
易点天下两档都不入选:无调整段,
且收盘距白线 +26.7%(明显追高)
逐段漏斗:从左到右第一个 × 就是被卡住的地方
校准得到的最重要一条信息:灿灿本人并不严格执行自己写的三段条件。
昆仑万维(黄上白下)、易点天下(距白线 +26.7%)这两只,用他文中的口诀自身就该排除;
久其软件、华电两只则根本没有"三根堆量"。它们更像是先由板块与消息面
(当天 AI 应用、前一日电力)选出来,再用双龙戏珠的均线位置做入场描述。
所以这套程序能替代的是"形态识别"那一半,替代不了他做的板块判断——
这也是原文"补充:最好叠加板块龙头以及消息与产业链逻辑"那句话的真实分量。
量化定义
原文原话(三段 + 口诀)
- ① 前期三根一起的堆量,最好有涨停或大阳出现
- ② 出现大阴调整
- ③ 双龙出现:短线设 6 日均线(白),趋势设 20 日均线(黄)
- 口诀:K 线下方最稳妥,均线高悬风险多;白上黄下形态好,黄上白下别乱搞;
上穿白线短线瞧,回踩白线试操作;上穿黄线看趋势,双线金叉机会多
- 补充:最好叠加板块龙头,以及消息与产业链逻辑配合最佳
程序口径(信号日 T,收盘后判定)
- 票池:全A,剔除 ST/历史ST期(5% 涨跌停会造出假涨停)、次新股(K线<160根)、
当日成交额 < 5000 万。688/689、金融地产、北交所不剔。
- ①堆量:T-11…T-2 之间存在连续 3 根,每根量 ≥ 1.5× 簇前 5 日均量
(宽松档=三根合计),三根合计涨幅>0,且至少一根涨停或大阳(≥5%)。
涨停宽度按板块判定:主板10%/双创20%/北交所30%/ST期5%。
- ②大阴调整:堆量段结束后 1~10 个交易日内至少一根大阴(跌≥3% 且收阴),
期间最低价 ≥ 堆量启动前收盘(不吃掉整个堆量段),且每日最低 ≥ 当日 MA20×0.97
(必须跟当时的 MA20 比,用信号日的 MA20 会把强势股全部误杀)。
- ③双龙结构:MA6 > MA20(白上黄下)· MA20 不下行 · 收盘 > MA6
(两条线在 K 线下方托着)· 收盘距 MA6 ≤ +7%("别跟高")。
- ④买点(≥1 种,多标签):上穿白线 / 回踩白线(low ≤ MA6×1.01 且收在 MA6 上)/
双线金叉 / 上穿黄线 / 回踩黄线。
两档参数
代码
~/apps/shuanglong/:shuanglong.py(形态库,含逐段诊断
explain())· calibrate.py(案例股校准)· backtest.py(回测+随机对照)·
analyze.py(切片复核)· scan_week.py(出名单)· report.py(本页)。
数据复用 ~/apps/a-share-screener/data/kline_qfq.sqlite(阿福那套每日自动刷新的前复权日K)。
已知局限
- 幸存者偏差:K线库是按"曾经进过票池"建的,退市股大概率缺失,回测结果偏乐观。
- "T日收盘买"严格说有微量前视(收盘价确定的同时才知道信号),实盘要在 14:55 附近估算。
- 板块/消息面完全没有量化——而校准显示这恰恰是原作者选股的主要来源。
- 回测只到日频;日内是否有更好的入场点没有验证。