#22063
混合
免费
ID-963_价格行为六维共振弹簧深探反包研究报告
公式说明
AI生成
一句话概括:这是抓"空头陷阱"的选股公式,专挑盘中假跌破支撑、尾盘又强势收回的弹簧反包形态。 核心买入逻辑:6种看涨蜡烛形态(触下轨、吞没、锤子、孕线、晨星、镊子底)至少出现2种;叠加4道门控(波动不大、股价在20日线附近、量能温和、当日小涨);最关键的是弹簧确认:盘中跌破近10日支撑、跌幅超0.3%、但收盘重新站回支撑上方且收在当日振幅55%以上。 适合环境:震荡市或上升途中的技术洗盘后反弹。 风险提示:纯形态识别,假跌破若演化为真破位则止损失效。
研究报告
# ID-963 价格行为六维共振弹簧深探反包 研究报告
- **公式ID**:FORMULA-963
- **公式文件**:`tongdaxin/ID_963.tn` / `formula-results/formula_ID_963.tn`
- **生成时间**:2026-08-04 12:50(定时任务 Formula-12-00)
- **通道**:`next_id=963`,`963 mod 5 = 3` → **配方微迭代通道(Step 0.5)**
- **信号家族**:#5 价格行为(结构分支:威科夫弹簧陷阱反杀)
- **微迭代母本**:`PriceMix5_939`(price_heavy,2of6 蜡烛投票 + G1–G4 门控 + SPRING∧BODYPRESS 双确认层)
- **家族轮询(Fix-B 补丁合规)**:最近微迭代序为 948(price) → 949(momentum) → 959(meanrev),非 mixed 家族轮询本次回到 **price_heavy**,未连续 2 次落在 mixed(Wt3 三兄弟)上。
---
## 逻辑链说明
**市场背景**:本地样本窗口(2025-06-10 ~ 2026-05-25,232 交易日)整体为震荡市。震荡市中,个股在关键支撑位附近频繁出现"假跌破"——主力借盘中砸穿前低触发止损盘与恐慌盘,随后迅速拉回。这类结构在威科夫方法论中称为 **Spring(弹簧)**,是震荡区间末端最典型的多头陷阱反杀形态。母本 939 已引入 SPRING 维度,但把它与 BODYPRESS(三日收盘位置均值)用 AND 强绑定,导致条件过严——全市场仅 8 只有效股、8 笔交易,属于典型的小样本假象,无法通过 MIN_TRADES 护栏的可信度检验。
**信号设计**:本代保持母本第一层(六维蜡烛形态 2-of-6 投票核:ENV 下轨触及、看涨吞没、锤子线、看涨孕线、晨星、镊子底)与第二层(G1 ATR 幅度 / G2 趋势位置 / G3 量能温和 / G4 当日涨幅)完全不变,**只对第三层确认机制做手术**。核心信号为:当日最低价跌破近 10 日支撑位 `REF(LLV(LOW,10),1)`,但收盘价重新站回该支撑上方且收阳(S1 弹簧结构)。
**确认机制**:这是本代最关键的改造。数值探查(`_probe_963.py`)证明母本的两个确认层贡献严重不对称——SPRING 单用胜率 59.68%(n=62),显著高于裸基线 48.69%;而 BODYPRESS 单用胜率仅 46.02%,**反而低于裸基线,属稀释项而非增益项**。因此本代执行"精简子配方"策略:**剪除 BODYPRESS**,转而用两个刻画弹簧"质量"的正交维度强化 SPRING —— S2 深探幅度 `DEPTH=(SUP10-LOW)/SUP10 > 0.003`(区分真洗盘与浅噪声),S3 日内收复力度 `RECL=(CLOSE-LOW)/(HIGH-LOW) > 0.55`(衡量买盘承接强度)。
**风险控制**:G1 限制 ATR/CLOSE < 9% 规避高波动标的;G2 要求收盘价不低于 MA20 的 98%,避免在主跌段接飞刀;G4 限制当日涨幅在 1%–6% 区间,既要求确认动能又规避追高与涨停板不可成交问题。卖出信号为站上 MA20 中轨、当日上涨且脱离弹簧支撑区 8% 以上,视为均值回归完成。
---
## A. 实现细节(Implementation Details)
### A.1 三层结构
| 层级 | 内容 | 相对母本 |
|---|---|---|
| 第一层 投票核 | 2-of-6 蜡烛形态投票(M1 ENV下轨 / M2 看涨吞没 / M3 吞没或锤子 / M4 看涨孕线 / M5 晨星 / M6 镊子底) | **不变** |
| 第二层 门控 | G1 ATR/CLOSE<0.09;G2 CLOSE≥MA20×0.98;G3 量能 0.8–2.5×VMA20;G4 涨幅 1%–6% | **不变** |
| 第三层 确认 | S1 弹簧结构 ∧ S2 深探>0.3% ∧ S3 收复>55% | **本代改造:剪 BODYPRESS,加 DEPTH+RECL** |
### A.2 执行时点
T 日收盘计算信号,T+1 日开盘执行。全部使用 `REF` 与历史滚动窗口,支撑位 `SUP10` 用 `REF(LLV(LOW,10),1)` 前移一日,**避免包含当日最低价造成自指**。无未来函数,无 Look-Ahead 偏差。
### A.3 Warmup 周期
**前 25 根 K 线不计入信号**(MA20=19 + LLV10 + ATR14 + REF(...,2) 窗口叠加,保守取 25)。信号自第 26 根 K 线起生成。所有评估指标(Sharpe / 最大回撤)均在 Warmup 切片之后计算。
### A.4 工程约束(沿用踩坑经验)
- 注释一律用 TDX 花括号 `{}`,不用 `//`(`backtest/evaluator.py` 的 `_strip_comments` 仅剥离 `{}` 与 `/* */`,`//` 行会被当表达式解析);
- 注释内**不含圆括号**(解析器会把注释内括号当函数调用报错);
- 内部择一逻辑一律用 `IF(x,1,0)` 求和替代 `OR`(本地解析器不支持 OR 算符)。
- 单股 000001 冒烟测试先行(0 解析错误,1 笔交易),再跑全市场。
### A.5 数值探查证据链(v4.6 方法论:先探查后写公式)
**探查 A —— 确认层贡献拆解(hold=5)**
| 变体 | n | 有效股 | 胜率% | 均值% | PF |
|---|---|---|---|---|---|
| 裸基线 2of6+G | 1222 | 106 | 48.69 | 0.524 | 1.283 |
| **SPRING 单用** | 62 | 45 | **59.68** | 1.560 | 2.082 |
| BODYPRESS 单用 | 578 | 104 | **46.02** | 0.320 | 1.171 |
| 母本 939 AND2 | 9 | 7 | 77.78 | 2.345 | 10.304 |
| 1-of-2 放宽 | 631 | 104 | 46.91 | 0.413 | 1.223 |
→ **结论:BODYPRESS 是稀释项(46.02 < 48.69 裸基线),SPRING 是唯一边际贡献者。** 母本 77.78% 的高胜率建立在 n=9 之上,不可信。
**探查 B —— 参数敏感性网格(DEPTH × RECL,胜率%,hold=5)**
| DEPTH \ RECL | 0.00 | 0.50 | 0.55 | 0.60 | 0.70 |
|---|---|---|---|---|---|
| 0.000 | 59.02 | 62.07 | 62.07 | 61.40 | 60.78 |
| 0.003 | 58.33 | 63.64 | **63.64** | 63.64 | 63.33 |
| 0.005 | 59.26 | 66.67 | 66.67 | 66.67 | 63.64 |
| 0.008 | 50.00 | 54.55 | 54.55 | 54.55 | 44.44 |
→ **RECL 在 0.50–0.70 全区间平坦(63.3–63.6),DEPTH 在 0.003–0.005 构成稳定高地**,说明这是**平台而非尖峰**,排除单点过拟合。选择 DEPTH=0.003 / RECL=0.55 是在"边际保留"与"样本广度"间的折中(DEPTH=0.005 胜率更高但 n 从 33 降到 24)。DEPTH=0.008 处的塌陷(50.0%)源于样本骤减至 n=12,非结构性失效。
### A.6 消融实验(每一层是否配得上它的位置)
| 变体 | 有效股 | n | 胜率% | 单笔均值% | PF | 最大回撤% |
|---|---|---|---|---|---|---|
| **FULL_963** | 29 | 37 | **62.16** | **2.293** | **2.488** | -19.18 |
| 去 S2 深探 | 45 | 63 | 61.90 | 1.616 | 2.156 | -27.55 |
| 去 S3 收复 | 31 | 40 | 57.50 | 1.874 | 2.120 | -26.23 |
| 去 SPRING 整层 | 106 | 1240 | 48.39 | 0.488 | 1.262 | -71.54 |
| 去 G1–G4 门控 | 89 | 238 | 50.84 | 0.442 | 1.252 | -64.61 |
| 去投票核 | 38 | 48 | 56.25 | 1.683 | 2.023 | -15.84 |
→ **每一层都在做功**:去 SPRING 胜率崩到 48.39%(回到裸基线),去门控崩到 50.84%,去投票核降到 56.25%。S2/S3 主要贡献在**单笔均值与回撤控制**(去 S2 后单笔均值 2.293→1.616,回撤 -19.18→-27.55)。
### A.7 回测结果(方案 A / 方案 B)
**方案 A(`backtest_cli.py`,MyTT 风格 parser+evaluator)**
- 扫描 10027 只,有效 **33** 只(9921 只无本地数据)
- 平均胜率 **61.1%**,平均收益 **+1.0%**,正收益股 19/33(57.6%)
- 最佳 000060 +15.4%,最差 000002 -13.4%,耗时 117.5s
**方案 B(`backtest_planb.py`,tdx_interpreter 独立解析器)**
- 有效 **33** 只,平均胜率 **61.11%**,平均收益 **+1.015%**,正收益股 19
**交易级 7 项指标**(自行循环收集逐笔明细,hold=5,warmup=25)
| 指标 | 数值 |
|---|---|
| 胜率(逐笔) | 62.16% |
| 胜率(按股平均) | 57.47% |
| 累计收益 | +107.09% |
| 单笔平均收益 | +2.293% |
| 最大回撤 | -19.18% |
| 夏普比率 | 1.99 |
| VaR(95%) | -8.06% |
| CVaR(95%) | -11.01% |
| 盈利因子 | 2.488 |
### A.8 交叉验证结论
- 胜率差异:**|61.1 − 61.11| = 0.01pp**,远低于 5% 一致性门槛 → **强一致 ✅**
- 有效股数量:33 vs 33,**完全一致**
- 收益符号:+ / +,**一致**
- 两方案 `summary_planA.json` / `summary_planB.json` 均已保存至 `formula-results/ID_963/`
### A.9 强制自检 4 步
1. **是否使用未来数据**:❌ 无。`SUP10` 用 `REF(LLV(LOW,10),1)` 前移一日避免自指;全部 REF/滚动窗口;T 日信号 T+1 执行。
2. **指标是否在 Warmup 后判断**:✅ 是。Warmup=25 已在公式头部标注,回测代码 `s.iloc[:25]=False` 强制屏蔽,Sharpe/回撤均在切片后计算。
3. **参数是否过拟合**:✅ 已用二维网格验证。RECL 在 0.50–0.70 平坦、DEPTH 在 0.003–0.005 稳定,为平台非尖峰。跨股表现:29 只有效股中 57.47% 为按股平均胜率,未出现"单股撑起全局"(最佳股仅贡献 1 笔)。
4. **是否夸大宣传**:✅ 无。本报告全部为**样本内**结果,且明确标注本地 CSV 仅 106 只/232 日,未做样本外与跨牛熊验证。
### A.10 适用市场
A 股全市场(本地样本以主板为主)。最适合**震荡市 / 区间末端**,在单边趋势市中 SPRING 结构出现频率会显著下降。
---
## B. 已知偏差(Limitations and Bias)
### B.1 样本容量偏差(最严重)
本地 CSV 仅 **106 只有实际数据**(10027 只中 9921 只无数据),窗口 232 个交易日,Warmup 吃掉 25 根,有效窗口约 207 日。最终 **n=37 笔交易 / 29 只股票**,虽已比母本 939 的 n=8 改善 4 倍以上,但**绝对样本量仍偏小**。62.16% 的胜率在 n=37 下的 95% 置信区间约为 ±16pp,即真实胜率可能在 46%–78% 之间。**不能把它当作稳定统计结论。**
### B.2 单一市场状态
样本窗口(2025-06 ~ 2026-05)为**单一震荡市**,无牛熊切换。弹簧陷阱反杀策略在震荡市天然占优;在系统性下跌中,"跌破支撑后收回"往往只是下跌中继的技术性反弹,本策略大概率会持续吃小亏。**未经跨周期验证。**
### B.3 持有期错配(结构性低估)
引擎固定 5 日持有。数值探查显示本策略在 hold=10 时表现更强(`gen7-strict` 变体:hold5 66.67% / 均值 3.117% → hold10 68.18% / 均值 3.973%),说明**引擎的 5 日窗口系统性低估了本策略**。这与 961/962 的发现同源,是本回测框架的已知系统性偏差,而非本公式特有问题。
### B.4 参数选择的样本内性
DEPTH=0.003 / RECL=0.55 是在**同一份样本上**通过网格探查选定的,存在样本内择优嫌疑。缓解证据是该区域为平坦高地而非尖峰,但严格来说仍需样本外确认。
### B.5 涨停与流动性未建模
G4 已限制涨幅 ≤6% 规避涨停不可成交,但回测按收盘价成交,未建模滑点、冲击成本与停牌。实盘收益应低于回测。
---
## C. 结果解读(Result Interpretation)
### C.1 逻辑质量
信号具备清晰的经济学意义:**弹簧结构是流动性猎取(liquidity grab)的价格印记**。支撑位下方密集堆积止损单,主力砸穿触发这些止损获取廉价筹码后迅速拉回。DEPTH 阈值的作用是区分"真砸盘"与"随机噪声"——只有跌破足够深,才说明确实触发了止损簇;RECL 阈值衡量的是拉回的坚决程度。二者共同刻画的不是形态外观,而是**筹码交换的强度**,这比单纯的蜡烛形状匹配更接近市场微观结构本质。
### C.2 创新点
相较母本 939 的两点实质推进:
1. **首次在本项目中用"剪枝"而非"叠加"完成微迭代**。此前 gen3→gen4→gen5 都是不断加成员、加确认层(单调膨胀)。本代通过归因探查证明 BODYPRESS 是负贡献并将其删除,是**第一次做减法**。
2. **把"形态是否出现"升级为"形态质量如何"**。M1–M6 六个成员都是布尔形态匹配,而 DEPTH/RECL 是**连续量的分位刻画**。这提示一个更普适的方向:现有 700+ 公式大量停留在布尔形态层,把它们升级为"强度刻画"可能是一条被系统性忽视的进化路径。
### C.3 风险点
最大风险是 **B.2 的市场状态依赖**。本策略本质是逆势接刀(在跌破支撑时买入),只是用"收盘收回"作为安全垫。一旦进入系统性下跌,"跌破—收回—再跌破"会连续出现,G2(CLOSE≥MA20×0.98)是唯一的防线,但 MA20 在慢跌市中会持续下移,防线会被逐步侵蚀。**建议实盘叠加一个 MA60 或指数级别的市场状态开关。**
### C.4 与母本的对比结论
| 维度 | 母本 PriceMix5_939 | 本代 963 | 判定 |
|---|---|---|---|
| 有效股 | 8 | **33** | ✅ 4.1× 广度提升 |
| 胜率(A) | 62.5% | 61.1% | ≈ 持平(-1.4pp) |
| 交易数 | ~8 | 37 | ✅ 摆脱 n=8 假象 |
| A/B 差异 | 0.0pp | 0.01pp | ✅ 同为强一致 |
| PF | — | 2.488 | ✅ |
→ **核心价值不在胜率提升,而在于以几乎零胜率代价把统计可信度提高了 4 倍。** 母本的 62.5% 建立在 8 只股票上,本代的 61.1% 建立在 33 只股票上,后者作为决策依据的价值远高于前者。
### C.5 对抗式审查
我主动怀疑了以下 4 个点,并逐一排除或如实保留:
1. **怀疑:DEPTH/RECL 是不是网格搜出来的过拟合参数?**
排除(部分):做了 6×5 二维敏感性网格。RECL 在 0.50→0.70 胜率变化仅 0.3pp(63.64→63.33),DEPTH 在 0.003→0.005 稳定在 63.6–66.7。这是**平台不是尖峰**,若为过拟合应表现为单点凸起、邻域塌陷。**保留意见**:参数仍是在同一样本上选的,B.4 已如实标注。
2. **怀疑:61.1% 的胜率是不是被少数几只股票撑起来的?**
排除:按股平均胜率 57.47%,与逐笔胜率 62.16% 差距仅 4.7pp,说明收益分布相对分散未被单股绑架。正收益股 19/33(57.6%),与胜率同向。最佳股 000060(+15.4%)仅贡献 1 笔交易,剔除后不改变结论。
3. **怀疑:是不是和现有公式重复(尤其是母本 939 和同族 933/948)?**
排除:ChromaDB 语义去重相似度 **7.71%**(阈值 60%),对抗式新颖性评分 **1.00**。虽然第一、二层与母本完全相同,但第三层确认机制是**剪枝+重构**,且 DEPTH/RECL 两个连续量刻画维度在全库 779 条公式中零覆盖。消融实验也证明与母本行为差异显著(33 股 vs 8 股)。
4. **怀疑:剪掉 BODYPRESS 会不会只是因为样本噪声,而非真的负贡献?**
排除(部分):BODYPRESS 单用的样本量是 n=578(相当充分),胜率 46.02% 显著低于同期裸基线 48.69%,且在 hold=10 时同样低于基线(45.44% vs 46.99%)。**在两个持有期上一致为负**,不太可能是噪声。**保留意见**:仍是单一市场状态下的结论。
### C.6 诚实定级:**候选进化节点(附 3 项保留意见)**
判定为**候选进化节点**而非材料节点,依据:胜率 61.1% > 50%、PF 2.488 > 1.5、A/B 强一致(0.01pp)、消融证明各层有效、广度较母本 4.1×。
三项保留意见:
1. n=37 样本仍偏小,95% 置信区间宽(±16pp);
2. 单一震荡市,未跨牛熊验证;
3. 引擎 5 日持有低估本策略(hold=10 表现更好),真实表现可能被系统性压低。
**是否加入 effective_logics**:✅ 加入。胜率 61.1% > 50% 门槛,且 A/B 强一致 + 消融通过。同时在条目中标注上述 3 项保留意见与"待全量 MySQL + 10 日持有期复测"。
### C.7 改进方向(优先级排序)
1. **接 MySQL 全量数据 + 10–15 日持有期重测**(价值最高,B.1+B.3 双重问题一次解决,样本可从 n=37 扩到数百);
2. **叠加市场状态开关**(指数 MA60 或 CHOP 体制,对应 C.3 的核心风险);
3. **把 DEPTH/RECL 改为横截面分位数**而非固定阈值(消除跨股票绝对值可比性问题,需引擎支持);
4. **"布尔形态→强度刻画"范式推广**(C.2 的方法论产出,可系统性升级库内既有形态类公式)。
### C.8 combo_lab 纳入建议
963 与 962(CHOP 震荡指数体制)、957(自适应均线)正交度高——963 是价格结构层,962 是波动率体制层,可作 N-of-M 候选组合。但**不宜与 939/948 同时高权重**(共享完全相同的第一、二层,相关性极高)。建议在 price_heavy 家族内**用 963 替代 939** 作为该分支代表节点。
---
## 附:产出文件清单
| 文件 | 路径 |
|---|---|
| 公式 | `tongdaxin/ID_963.tn`、`formula-results/formula_ID_963.tn` |
| 方案A摘要 | `formula-results/ID_963/summary_planA.json` |
| 方案B摘要 | `formula-results/ID_963/summary_planB.json` |
| 交叉验证 | `formula-results/ID_963/cross_validation.json` |
| 7项指标+消融 | `formula-results/ID_963/metrics_full.json` |
| 权益曲线 | `formula-results/ID_963/equity.csv` |
| 交易明细 | `formula-results/ID_963/trades.csv` |
| 探查脚本 | `scripts/_probe_963.py`、`_probe_963b.py`、`_probe_963c.py`、`_scan_963.py` |
> 注:`ID_963/` 目录下另有 `ablation_summary.json`、`nbase_sweep.json`、`vote_sweep.json` 三个文件(时间戳 12:17–12:35),属本次任务早期一次已放弃的 momentum 路线中间产物,按"禁止删除"铁律予以保留,**不作为本报告结论依据**。
回测统计
胜率
48.7%
平均收益
2.90%
夏普比率
待验证
最大回撤
-6.3%
按市场状态分段表现
暂无市场状态数据