#22116 混合 免费

ID-1014_缩量整理低位放量首推选股研究报告

公式说明 AI生成

1. 一句话概括:专挑"前期缩量整理、价格仍在低位、首次明显放量上攻"的启动股,是宽样本验证后保留的有效量能结构。 2. 核心买入逻辑:三道门控G2(收盘不低于20日线98%,不逆势接刀)、G3(量在20日均量0.8~2.5倍,非异常)、G4(当日涨幅1%~6%,不追高不暴跌);再加三个正交维度P1(收盘低于60日线1.02倍,仍处低位)、P2(20日收盘价标准差/均线<0.035,前期波动收敛)、P3(量大于5日均量1.3倍,放量首推)。全过才选。 3. 适合市场环境:横盘缩量整理末端、低位首次放量的启动初期,不适合高位或主跌浪。 4. 风险提示:放量首日易遇假突破或一日游,需结合止损,且胜率仅约五成靠盈亏比取胜。

研究报告
# FORMULA-1014 缩量整理低位放量首推选股 研究报告 - **公式ID**:FORMULA-1014 - **家族**:price_heavy(价格行为家族 第十代 gen10) - **通道**:Step 0.5 配方微迭代(1014 mod 5 = 4) - **家族轮询(Fix-B)**:最近三次微迭代为 meanrev_heavy(F998) / mixed(F1008) / momentum_heavy(F1013),本轮轮至 **price_heavy**,非 mixed,合规 - **母配方**:`PriceMix9_993_material`(gen9,谱系可上溯 PriceMix_501_571_485) - **微迭代方式**:方式四 **精简子配方**(但本代实为全谱系首次「宽样本裁决式重建」) - **生成时间**:2026-08-09 12:00(定时任务 Formula-12-00) --- ## A. 实现细节(Implementation Details) ### A.1 本代的起点:一次针对母谱系的质疑 母配方 `PriceMix9_993_material` 登记胜率 64.86%,但备注中已自陈两处硬伤: `total_trades` 仅 37 笔、官方 `min-trades=5` 在两个引擎上都判定 `no_trades`。 更关键的是,**前九代(gen1~gen9)全部只在 106 只本地 CSV 上评估**, 其余 9921 只标的报 no-data。也就是说这条谱系九代以来从未被真正测量过。 本代没有沿用「在母配方上再叠一层」的惯性做法,而是先做一件九代都没做的事: **换用真正的宽样本重新裁决母节点是否真的有效。** ### A.2 数据源升级:从 106 只 CSV 到 1160 只清洗后的真实 A 股 发现本地 `data/market.sqlite3` 内含三张表,此前流程仅用到最小的一张: | 表 | 标的数 | 时间跨度 | |---|---|---| | `stock_daily` | 100 | 2025-06-10 ~ 2026-05-25 | | `stock_daily_300` | 300 | 1991-04-03 ~ 2026-07-20 | | **`stock_daily_full`** | **10027** | **1991-04-03 ~ 2026-07-20** | 改用 `stock_daily_full` 后,单只取数耗时约 0.01s,2023-01 至 2026-07 每只约 857 根 K 线。 ### A.3 数据法证:宽样本里混入了非股票品种(本代关键工程发现) 首次在宽样本上跑基准池时,得到 **5 日持有期基准均值 +20.93%** 这一不可能的数值。 未直接采用结果,而是做了数据法证,定位到污染源: | 代码 | 实际品种 | 异常表现 | |---|---|---| | `204028` | 国债逆回购 | 存在 233 元跳到 22.00 元的拆分断点,单笔最大 **+1056.82%** | | `880099` | 板块指数 | 非可交易个股 | | `510100` | ETF | 13.33 一夜跳到 26.80(份额折算) | | `920278`/`920504` | 北交所标的 | 涨跌幅制度不同 | **修复方案(已固化进 `_diag1014d.py`)**: 1. 只保留 `000/001/002/003/300/301/600/601/603/605/688` 开头的 6 位真实 A 股代码; 2. 剔除存在单日涨跌幅 >35% 的标的(拆分/数据断点); 3. 前瞻收益统一 winsorize 到 ±30%,杜绝单一极端事件驱动结论; 4. 要求至少 120 根 K 线。 清洗后得到 **1160 只真实 A 股**,基准池 **886,771 根 K 线**, 基准胜率 47.51%、单笔均值 +0.1995%(5 日持有)——回到合理区间。 ### A.4 裁决结果一:母谱系九代的优势在宽样本上不存在 在清洗后的 1160 只样本上重跑母节点 `GATES AND SPRING AND VSURGE`: | 指标 | 母节点(宽样本) | 基准池 | 判定 | |---|---|---|---| | 交易数 | 1,244 | 886,771 | — | | 胜率 | **46.38%** | 47.51% | **跑输基准 1.13pp** | | 单笔均值 | +0.3522% | +0.1995% | 略高 | | 匹配选择度安慰剂 percentile | **82.2%** | — | **未达 95% 显著线** | 即:母节点报告的 64.86% 胜率是 106 只样本、37 笔交易的**统计假象**。 这不是本代的退步,而是该谱系**第一次被正确测量**。 ### A.5 裁决结果二:留一法证明弹簧层是拖累项 对母节点八个组件在宽样本上逐一删除(SUP10, RECL0.75): | 删除项 | 交易数 | 胜率 | 单笔均值 | Δ均值 | 判定 | |---|---|---|---|---|---| | FULL | 1244 | 46.38% | +0.3522% | — | 基线 | | drop_G1 | 1250 | 46.32% | +0.3334% | -0.019 | 非约束 | | drop_S1 | 1247 | 46.43% | +0.3478% | -0.004 | **完全非约束** | | drop_S2 | 1642 | 47.02% | +0.3932% | **+0.041** | **拖累项** | | drop_S3 | 1654 | 46.31% | +0.3974% | **+0.045** | **拖累项** | | drop_G2 | 2894 | 47.55% | +0.2871% | -0.065 | 节流 | | drop_G3 | 1557 | 45.54% | +0.3065% | -0.046 | 节流 | | drop_G4 | 1929 | 46.66% | +0.3279% | -0.024 | 节流 | | **drop_VSURGE** | 2065 | 45.18% | +0.1407% | **-0.212** | **唯一承重项** | 结论:**谱系招牌「弹簧陷阱反包」S1/S2/S3 在宽样本上要么无效要么有害; 唯一真正承重的是量能维度 VSURGE。** gen9 花大力气扶正的 RECL 旋钮(S3)本身即拖累项。 ### A.6 一次被主动否决的「假发现」:支撑窗口梯度 在**未清洗**的宽样本上,支撑窗口 SUP 10→60 曾呈现极漂亮的单调梯度: ``` SUP10 wr 46.72% pf 1.331 → SUP60 wr 52.94% pf 2.549(安慰剂 percentile 89.5%) ``` 这看起来正是「九代未动过的结构性旋钮」,极具诱惑力。 但清洗数据后重跑,**全部档位 percentile 均 < 95%,梯度完全消失**: ``` SUP10 pct 82.2% | SUP20 pct 57.0% | SUP30 pct 59.4% | SUP40 pct 42.2% | SUP60 pct 56.8% ``` 该梯度纯由 ETF/指数/逆回购的极端跳变驱动。**本代明确否决这一假发现,不予采纳。** ### A.7 重建:候选维度筛选 + 严格时间外样本验证 放弃整个蜡烛投票层与弹簧层,以「经证明承重的门控」为底座, 筛选 15 个正交候选维度,并做**严格时间切分**以避免选择性过拟合: - **训练段**:2023-01-01 ~ 2025-03-31(仅此段参与选择) - **测试段**:2025-04-01 ~ 2026-07-20(完全不参与选择,仅用于检验) 训练段最优组合(前 3): | 组合 | n | 胜率 | 单笔均值 | PF | |---|---|---|---|---| | C_NEARLOW+C_VS_MA5 | 11710 | 47.27% | +1.0542% | 1.544 | | **C_NEARLOW+C_SQUEEZE+C_VS_MA5** | 8563 | 46.02% | +1.0475% | 1.563 | | C_NEARLOW+C_VS_MA5+C_PULLBK | 10408 | 46.99% | +1.0416% | 1.521 | **测试段(真正的样本外)表现**: | 组合 | TEST n | 胜率 | 单笔均值 | 基准 | PF | 安慰剂 pct | 判定 | |---|---|---|---|---|---|---|---| | **C_NEARLOW+C_SQUEEZE+C_VS_MA5** | 5168 | **50.14%** | **+0.6251%** | +0.3847% | 1.404 | **99.8%** | **显著** | | C_NEARLOW+C_VS_MA5+C_LOWVOL | 6490 | 49.91% | +0.5873% | +0.3847% | 1.365 | 98.6% | 显著 | | C_NEARLOW+C_VS_MA5 | 7064 | 49.52% | +0.5543% | +0.3847% | 1.317 | 98.2% | 显著 | | C_NEARLOW+C_VS_MA5+C_UP2 | 4054 | 48.89% | +0.4546% | +0.3847% | 1.255 | 75.0% | 不显著 | 选定 **C_NEARLOW + C_SQUEEZE + C_VS_MA5**:训练段选出,测试段安慰剂 percentile 99.8%。 ### A.8 最终公式结构 ``` GATES = G2 AND G3 AND G4 {基础门控,剔除已证非约束的 G1} P1 = CLOSE < MA60 * 1.02 {位置维度:低位约束} P2 = STD(CLOSE,20)/MA20 < 0.035 {波动维度:前期收敛} P3 = VOL > MA(VOL,5) * 1.30 {量能维度:放量首推(承重项强化版)} XG = GATES AND P1 AND P2 AND P3 ``` - **信号逻辑**:缩量整理充分(P2)+ 价格仍在低位(P1)+ 增量资金首次放量介入(P3) - **执行时点**:T 日收盘计算信号,T+1 日开盘执行 - **过滤机制**:G2 不逆势接刀 / G3 排除异常放量 / G4 涨幅限定 1%~6% 避免追高 - **风险控制**:卖出 = 站上 MA20 且较 MA60 抬升 8% - **适用市场**:A 股主板/中小板/创业板/科创板(已排除 ETF/指数/逆回购/北交所) - **Warmup 周期**:**前 65 根 K 线**(最长窗口 MA60,留 5 根冗余保证 MA60 与 STD20 收敛) ### A.9 回测结果 **(1)官方引擎 单股 000001(2023-01-01~2026-05-25, 818 日)— 方案A/方案B 完全一致** | 指标 | 方案A | 方案B | 差异 | |---|---|---|---| | 交易数 | 20 | 20 | 0 | | 胜率 | 30.0% | 30.0% | **0.0pp(强一致)** | | 总收益 | -14.6% | -14.6% | 0.0pp | | 最大回撤 | -23.2% | -23.2% | 0.0pp | | 盈亏比 | 1.38 | 1.38 | 0.0 | | 平均持有 | 5.8 日 | 5.8 日 | — | **单股 000001 为负,如实记录,不粉饰。** 平安银行是大型银行股, 低波动+低位放量的组合在单一大盘蓝筹上样本特性与全市场差异极大(详见 B 段)。 **(2)官方引擎 全市场 `--multi`(2023-01-01~2026-05-25, min-trades=5)— 方案A/方案B 强一致** | 指标 | 方案A | 方案B | 差异 | |---|---|---|---| | 扫描标的 | 10,027 | 10,027 | 0 | | 有效标的 | 7,646 | 7,646 | **0** | | 平均胜率 | 49.50% | 49.54% | **0.04pp(<5% 一致)** | | 平均收益 | 30.5% | 30.45% | 0.05pp | | 正收益标的 | 4,938 | 4,938 | **0** | | 正收益率 | 64.6% | — | — | | 数据错误 | 407 | — | — | **交叉验证结论**:两个独立解析器(方案A MyTT 风格 / 方案B tdx_interpreter) 在 7,646 只标的上给出胜率差 **0.04pp**、有效标的数与正收益标的数**完全相同**, 远优于「差异 <5% 认为一致」的门槛,收益与回撤符号一致,公式解析与执行无歧义。 **⚠️ 但官方 `avg_return` 30.5% 不可直接采信**:其 top5 依次为 `000905`(中证500指数, +125824%)、`204091`(逆回购)、`131803`(逆回购)、`204182`(逆回购)。 **这从第三方口径独立验证了本代 A.3 节的污染发现** —— 官方 `--multi` 未做品种过滤, 均值被指数与逆回购的复利爆炸严重拉高。故本报告以下方清洗样本口径为准。 **(3)清洗宽样本 1151 只有信号个股(自建诊断口径,5 日持有,winsor ±30%)** | 指标 | 全样本 | 训练段 | **测试段(样本外)** | |---|---|---|---| | 交易数 | 14,987 | 9,417 | **5,570** | | 胜率 | 48.12% | 46.90% | **50.18%** | | 单笔均值 | +0.980% | +1.196% | **+0.615%** | | 基准池单笔均值 | +0.200% | +0.075% | **+0.385%** | | 盈亏比(PF) | 1.563 | 1.648 | **1.393** | | 夏普比率 | 1.005 | 1.111 | **0.798** | | VaR(95%) | -7.31% | -7.52% | **-6.90%** | | CVaR(95%) | -10.23% | -10.49% | **-9.75%** | | 最大回撤 | -91.9%※ | -87.7%※ | -83.1%※ | | 安慰剂 percentile(1000 reps) | — | — | **100.0%** | ※ 最大回撤为「15000 笔跨股票交易顺序串联」的名义值,不代表实盘组合回撤,仅作相对参考。 ※ 复利总收益因同样原因为无意义天文数字,**故本报告一律以单笔均值/PF 为准,不引用总收益**。 --- ## B. 已知偏差(Limitations and Bias) 1. **单股与全市场结论方向相反(最关键偏差)** 官方引擎单股 000001 为 30% 胜率 / -14.6%,而官方全市场 7,646 只为 49.5% 胜率 / 64.6% 正收益率, 清洗宽样本样本外为 50.18% 胜率 / 正期望。 二者并不矛盾但必须明确:本公式是**横截面广度型**信号(靠上千只股票摊薄个体噪声), **不是**单标的择时策略。在任何单一标的上使用都可能长期为负。 2. **官方 `--multi` 的 avg_return 30.5% 严重失真,不得引用** 其 best_stock 为 `000905`(中证500指数,+125824%)、次席为 `204091`/`131803`(国债逆回购)。 官方引擎不做品种过滤且按复利串联,导致均值被非股票品种的价格跳变污染。 **本报告一律不引用该数字**,仅采用其胜率(49.5%)与正收益率(64.6%)作为方向性参考, 并以清洗样本的单笔均值/PF 为准。 3. **诊断口径与官方引擎口径不同** 自建诊断为固定 5 日持有、T+1 开盘进场、winsor ±30%、无手续费滑点; 官方引擎含自身的卖出信号与持有逻辑(平均 5.8 日)。 两套口径**不可直接比较**,宽样本数字仅用于「相对基准是否有超额」的裁决, 不作为可实盘收益承诺。 4. **仍是样本内的部分**:候选维度清单(15 个)由我人工设定, 虽然组合选择严格限制在训练段,但**候选池本身的构造带有先验**, 存在「维度筛选层面的软性过拟合」残留。 5. **单一市场体制**:2023-01~2026-07 主要覆盖震荡与结构性行情。 低波动+低位放量在**单边强趋势牛市**中会大量踏空(P1 低位约束会否掉领涨股), 在**系统性下跌**中会持续接飞刀(P1 会不断被满足)。 6. **交易成本未计入**:单笔均值 +0.615%(样本外)在扣除双边约 0.2%~0.3% 的佣金+印花税+滑点后,**实际净期望将大幅压缩至约 +0.3%~0.4%**,边际并不厚。 7. **Look-Ahead 风险已排查**:全部使用 `REF` 与历史窗口函数, `STD(CLOSE,20)`/`MA(VOL,5)`/`MA60` 均为当日及历史数据, 进场统一在 T+1 开盘,无未来函数引用。 --- ## C. 结果解读(Result Interpretation) ### C.0 官方全市场结果与本代结论的互证 官方 `--multi` 在 7,646 只有效标的上给出 **平均胜率 49.5%、正收益标的占比 64.6%**, 与清洗样本口径(样本外胜率 50.18%、显著正期望)方向一致,互为佐证。 更有意思的是:**官方引擎的 top5 自己就撞上了本代 A.3 节指认的污染品种** (指数 000905、逆回购 204091/131803/204182), 等于用第三方口径独立复现了「宽样本必须先清洗品种」这一发现。 ### C.1 本代的真正价值:证伪而非增益 本代**没有**做出「胜率更高的第十代」。它做的是三件更重要的事: 1. **证伪**:用宽样本证明 price_heavy 谱系九代的边际是 106 只样本的假象(母节点跑输基准); 2. **定位**:用留一法证明该谱系唯一承重的是量能维度,弹簧层是拖累项; 3. **重建**:在清洗数据 + 严格时间外验证下,找到一个真正样本外显著的替代结构。 按框架「每个公式必须比上一个更好」的标准, 本代在**统计可信度**上远优于母代:母代 n=37 / 1 个市场切片 / 无样本外验证; 本代 n=5570 样本外 / 1151 只股票 / 安慰剂 percentile 100.0。 ### C.2 创新点 - 首次在本项目中引入 **严格时间切分的样本外验证**(训练段选择、测试段检验), 而非既往的「全样本调参 + 全样本汇报」; - 首次做 **数据品种法证**,发现并剔除 ETF/指数/逃回购污染, 这一清洗逻辑对后续所有公式的宽样本回测都适用(已固化为可复用脚本); - 首次**主动否决自己发现的漂亮结果**(支撑窗口梯度),因其经不起数据清洗。 ### C.3 风险点 最大风险是 **P1 低位约束的双刃性**:它保证了不追高,但在趋势市中会系统性错过强势股, 且在下跌趋势中会反复触发。建议实盘配合大盘体制过滤(如指数在 MA60 之上才启用)。 其次是**边际偏薄**:扣费后净期望约 +0.3%~0.4%/笔,对交易成本极度敏感。 ### C.4 适用场景 适合**分散持仓的量化选股型投资者**(同时持有 20~50 只), 依靠横截面广度获取统计优势。**不适合**单票重仓或低频择时使用。 ### C.5 改进方向 1. 引入大盘体制门控(指数 MA60 方向),预期可显著改善趋势市踏空问题; 2. 测试持有期敏感性(当前固定 5 日,10 日/20 日可能更匹配「低位启动」的兑现节奏); 3. 把清洗后的 1160 只宽样本回填到 `combo_lab.py`, **对既有 34 条配方全部重测** —— 本代结果强烈暗示其它家族的历史配方 也可能存在同类的窄样本假象。 ### C.6 对抗式审查 我主动怀疑了以下 5 个点,并逐一排除或如实保留: 1. **怀疑:宽样本上的漂亮支撑窗口梯度是真的吗?** → **不是,已否决。** 基准池算出 +20.93%/5日 的不可能数值,触发数据法证, 定位到逆回购 204028(+1056% 单笔)、指数 880099、ETF 510100 污染。 清洗后梯度完全消失(全部 percentile < 95%),故本代不予采纳。 2. **怀疑:新组合是不是在全样本上挑出来的(选择性过拟合)?** → **已排除。** 组合选择严格只用训练段(2023-01~2025-03), 测试段(2025-04~2026-07)完全独立,仍取得 percentile 99.8%~100.0% 的显著性。 同时可见有 3 个训练段表现相近的组合在测试段掉到不显著(如 C_UP2 组 pct 75.0%), 说明该检验确实具备区分力,不是走过场。 3. **怀疑:单股 000001 是负的,是不是公式本身有 bug?** → **已排除 bug,但保留为真实局限。** 方案A/方案B 两个独立解析器给出 逐位一致的结果(20 笔 / 30.0% / -14.6% / 0.0pp 差异);全市场层面两引擎在 7,646 只标的上 胜率差仅 0.04pp、正收益标的数完全相同,说明解析与执行无误。 负收益是「单一大盘银行股 + 横截面广度型信号」的口径错配,已在 B.1 明确声明。 4. **怀疑:胜率 50.18% 是不是低到没有意义?** → **不能只看胜率。** 基准池同期胜率 49.53%,即绝对胜率天然接近 50%。 真正的边际在单笔均值(+0.615% vs 基准 +0.385%)与盈亏比(1.393), 且 1000 次匹配选择度安慰剂检验 percentile 达 100.0%,超额非随机。 但同时如实指出(B.5):扣除交易成本后边际将大幅压缩。 5. **怀疑:是否和现有公式重复?** → **已排除。** 对抗式新颖性评分 **1.00**(阈值 0.7); ChromaDB 语义去重相似度 **43.19% < 60%**(exit 0 通过)。 --- ## 质量门检查清单 | 检查项 | 门槛 | 本公式 | 结果 | |---|---|---|---| | R01-R05 规则验证 | 全部通过 | 通过(复杂度 5 星) | ✅ | | 逻辑链说明 | ≥100 字,4 要素齐全 | 市场背景/信号设计/确认机制/风险控制齐全 | ✅ | | 多样性得分 | 3 类以上指标融合 | 位置(MA60)+波动(STD)+量能(MA VOL)+涨幅门控 = 4 类 | ✅ | | 语义去重相似度 | <60% | **43.19%** | ✅ | | 对抗式新颖性评分 | ≥0.7 | **1.00** | ✅ | | Warmup 标注 | 已标注 | 前 65 根 K 线 | ✅ | | 对抗式审查怀疑点 | ≥3 个 | **5 个** | ✅ | | A/B/C 三段结构 | 齐全 | 齐全 | ✅ | | 回测数据真实性 | 禁止编造 | 全部来自本地 SQLite 真实行情 | ✅ | | A/B 双引擎交叉验证 | 胜率差 <5% | **0.04pp**(7,646 只标的) | ✅ | --- ## 附:本代产出的可复用资产 | 文件 | 用途 | |---|---| | `scripts/_diag1014d.py` | **清洗版宽样本加载器**(剔除非股票品种+数据断点+winsor),后续所有公式宽样本回测应复用 | | `scripts/_diag1014e.py` | 候选维度筛选 + 匹配选择度安慰剂检验 | | `scripts/_diag1014f.py` | 严格时间切分的样本外验证框架 | | `data/_diag1014b.json` | 污染样本的对照记录(保留作为反面教材) | | `data/_diag1014g.json` | 最终 7 项指标 + 训练/测试分段 | **给后续任务的最高优先级建议**: 用 `_diag1014d.py` 的清洗宽样本,对 `formula-recipes.json` 中既有 34 条配方**全部重测**。 本代已证明至少 price_heavy 一支的历史指标是窄样本假象,其余家族极可能同样存在此问题。
公式源码
登录后可查看

回测数据已公开,完整源码仅对已购买用户开放

查看定价
回测统计
胜率
51.8%
平均收益
10.00%
夏普比率
0.44
最大回撤
-11.1%
按市场状态分段表现

暂无市场状态数据