#22090
混合
免费
ID-989_波动率收缩速度确认均值回归研究报告
公式说明
AI生成
1. 这个公式在超卖投票通过的基础上,再要求波动率正在持续收缩,抓"跌透且恐慌衰竭"的股票做均值回归。 2. 买入逻辑:6个超卖指标(RSI底背离、VWAP回踩、UOS、WR、KDJ的J、CCI)至少3个命中且来自3类独立基;波动率(20日标准差/均价)相比5日和10日前同时下降(恐慌在衰减);再加低波体制、阳线、量能适中、涨跌幅安全、在MA60上方等门控。 3. 适合震荡市或超跌后企稳,靠"恐慌收缩后回归"赚钱,不适合波动率仍扩张的恐慌下跌。 4. 风险提示:波动率收缩也可能在阴跌中持续,速度下降不等于价格一定反弹。
研究报告
# FORMULA-989 波动率收缩速度确认(VCV)研究报告
**通道**:Step 0.5 配方微迭代(989 mod 5 = 4)
**家族**:meanrev_heavy gen14
**家族轮询 Fix-B**:最近三次微迭代 983 meanrev / 984 price / 988 momentum → meanrev 不在最近 2 次内,且为非 mixed 家族,**合规**
**母配方**:MeanRevMix10_959(gen10,3-of-6 投票 + NBASE≥3 + 基础门控)
**直系前代**:FORMULA-983(gen13,DEPTHZ2 = DECLINE / LLV(VOLPCT,60),平静期归一深度**水平**)
**隔代前辈**:FORMULA-974(gen12,DEPTHZ = DECLINE / VOLPCT当期)
**预登记**:`data/prereg989.json`,**全部 12 个臂与 8 条假设在任何回测之前写定**
**最终判定**:❌ **不宣称进化,注册为 material node**。全部 8 条预登记假设中,本代自己提出的核心假设 **H5 被自己的对照臂证伪**
---
## 摘要(先给结论)
本代要执行 983 留下的明确待办——把"波动率收敛/企稳"扶正为一等维度。**执行过程中我先否掉了这条待办本身的依据,然后又用数据否掉了自己提出的替代方案。**
三个层层递进的否定:
1. **继承的建议建立在已撤回的指标上**。983 说"V7 仅平静拿到 +0.88 残差,应扶正",但那个 +0.88 是节流线残差,而节流线已被 985 规则 D-1 正式撤回。用正确的每笔收益口径重算 983 已存数据:V7 = +0.887,**低于什么都不加的基线 +0.905**。这条待办的前提不成立。
2. **我的替代方案(速度量)被自己的对照臂击败**。预登记预测"速度 > 水平",实测 **速度 +0.5481 < 水平 +0.8857**,H5 **REFUTED**。
3. **符号证伪臂反杀**:波动率**扩张** (+1.0395) 显著优于波动率**收缩** (+0.5481),H3 **FALSIFIED**,与 981/987 同型。
**最大产出不是公式,是出厂前审计抓到的一个潜伏五代的逻辑死码**:`SCORE>=3`(本谱系对外宣称的"3-of-6 共识投票")被穷举证明**恒被 `NBASE>=3` 蕴含**,从 959 起五代从未真正生效。
---
## A. 实现细节(Implementation Details)
### A-1 公式逻辑与本代唯一改动
底座与 959 / 974 / 983 **字节级相同**:6 个超卖成员(RSI 底背离 / VWAP 回踩 / UOS 回升 / WR 拐头 / KDJ-J 抬头 / CCI 回升)、SCORE≥3 投票层、NBASE≥3 证据独立层、GATE_VOLREGIME / YANGOK / VOL_OK / SAFE / FLOOR_OK 基础门控、SELL 为站上 MA20 且 RSI>55。
**唯一改动**(干净单因子对照):
| | 前代 983 | 本代 989 |
|---|---|---|
| 门控 | `DEPTHZ2 := DECLINE / LLV(VOLPCT,60)`,带宽 (4.0, 24.0) | `VCV10 := VOLPCT/REF(VOLPCT,10)`;`VCV5 := VOLPCT/REF(VOLPCT,5)`;`GATE_VCONTRACT := VCV10<1.0 AND VCV5<1.0` |
| 数学对象 | 波动率**水平**的比值(静态) | 波动率的**方向/导数**(动态) |
| 自由数值参数 | 2 个(4.0 / 24.0) | **0 个** |
**为什么改成导数而不是照抄 983 的水平量**:水平与速度是不同的数学对象。一只长期缺乏流动性的冷股,波动率水平永远低而速度为零;一只刚从恐慌里走出来的股,可以在仍然偏高的水平上快速收缩。983 的 V7 无法区分二者,速度量可以。这就是 H5 的可证伪内容。
**阈值来源:本代零自由参数**。1.0 不是拟合值,是比值的语义不动点("比 N 根 K 线前更低")。968 死于固定百分比带宽,974/983 都还要为双边数值带宽做辩护,本代门控没有任何可调数字。**事前认领的代价**:无自由参数就无法把选择性对齐到 983 的 0.7207 通过率,因此选择性差异被如实测量(本代保留率 20.12%),由蒙特卡洛等量零分布承担对照职责。
### A-2 执行时点与 Warmup
- T 日收盘计算信号,T+1 日开盘执行(引擎语义已核对源码:`buy_price = data[i+1]['open']`)
- Warmup = 86 根(MA60 / UOS28 / HHV55 / REF20 为约束项;新增 REF(VOLPCT,10) 仅需 30 < 86)→ **与 959/974/983 完全一致,四代可比**
- 适用市场:A 股主板(106 只 CSV 池,232 交易日,2025-06-10 ~ 2026-05-25)
### A-3 出厂前强制审计(984 / 986 / 985 三条已升格规则)
**🔴 984 合取存活率审计 —— 抓到本代最大产出**
`P(层 | 其余全部出厂条件)`,24556 根 K 线 / 106 只股:
| 层 | 单独开火率 | 合取存活率 | 判定 |
|---|---|---|---|
| **VOTE (SCORE≥3)** | 4.37% | **100.00%** | 🔴 **真空层 → 经证明为逻辑死码** |
| NBASE≥3 | 2.57% | 52.85% | 承重 |
| GATE_VOLREGIME | 46.08% | 90.28% | 承重 |
| YANGOK | 29.35% | 91.55% | 承重 |
| VOL_OK | 54.01% | 86.67% | 承重 |
| SAFE | 42.50% | 92.86% | 承重 |
| **FLOOR_OK** | 61.10% | **100.00%** | 🔴 真空层(本样本内不筛任何东西) |
| GATE_VCONTRACT | 24.91% | 20.12% | 承重(本代新增) |
**986 互斥静态检查**:GATE_VCONTRACT 与反向臂 GATE_VEXPAND 共同开火 **0 次**(构造上互补,符合预期);完整合取链**可达**(65 次),未重蹈 986 第一版 0 信号覆辙。
**985 Look-Ahead 自查**:全部为 `.shift(k>0)` 与 trailing rolling 窗口,无负 shift、无 center=True、无未来索引。
### A-4 回测结果(12 臂预登记消融,min-trades=1,与 981-988 同口径)
**主指标为每笔收益**(985 规则 D-1:引擎 `total_return` 按笔连乘,已核对源码 `total_return *= (1 + t['return_pct']/100)`,池均总收益随交易数机械上升,不可跨臂比较)。
| 臂 | 池 | 交易 | 胜率 | 池均收益 | **每笔收益** |
|---|---|---|---|---|---|
| V974 隔代前辈 | 104 | 352 | 62.65% | +3.99% | **+1.1790** ⬅ 最优 |
| V8 速度∧水平 | 33 | 42 | 61.11% | +1.42% | +1.1190 |
| **V3 反向(波动率扩张)** | 103 | 281 | 61.74% | +2.84% | **+1.0395** |
| V0 基线 = 959 | 105 | 403 | 60.28% | +3.47% | +0.9052 |
| V7 水平(983 V7 重跑) | 56 | 84 | 59.52% | +1.33% | +0.8857 |
| V983 直系前代 | 95 | 262 | 59.84% | +2.03% | +0.7374 |
| V9 深度∧速度 | 47 | 62 | 56.74% | +0.86% | +0.6500 |
| **V1 出厂(速度)** | **58** | **81** | **56.90%** | **+0.77%** | **+0.5481** |
| V2b 剂量更紧 | 40 | 51 | 62.08% | +0.69% | +0.5373 |
| V2 剂量收紧 | 52 | 68 | 59.62% | +0.52% | +0.3941 |
**出厂公式在 12 个臂中排名倒数第三。**
### A-5 A/B 交叉验证(官方 Step 3)
| | Plan A | Plan B | 差异 |
|---|---|---|---|
| 有效股 | 58 | 58 | **0** |
| 平均胜率 | 56.90% | 56.8966% | **0.0034pp** |
| 平均收益 | +0.80% | +0.7655% | 0.03pp |
| 正收益股 | 35 (60.3%) | 35 | 0 |
**结论:强一致**(远小于 5% 一致门槛)。最佳 000504 +11.0%,最差 000004 −8.5%。全市场 10027 只中 9921 只无数据,实际样本为 106 只 CSV 池。
**未输出项**:引擎组合层不产出 Sharpe / VaR / CVaR / 盈利因子(portfolio 级),按铁则第 5 条标注为**待回测验证**,不编造。
---
## B. 已知偏差(Limitations and Bias)
**B-1 样本窗口极窄,且这是全库共性问题**
实际可用数据仅 106 只 × 232 日(约 11 个月),官方 10027 池中 9921 只无数据。单一市场阶段的单窗口结论,不能外推到牛熊切换。本代 65 个干净窗口信号、81 笔引擎交易,**样本量本身就在统计功效边缘**。V2b 臂仅 51 笔、V8 臂仅 42 笔,这两个臂的排名不应被单独采信。
**B-2 引擎不丢弃 Warmup,导致两套计数并存**
清洁窗口(丢弃前 86 根)信号数 = 65,引擎交易数 = 81。引擎会在指标尚未成形的前 86 根上开仓。**相对存活率不受影响**(所有臂同等对待),但这意味着引擎交易数不等于干净信号数,本报告的蒙特卡洛检验因此整个建在复刻器内部以保证内部一致。复刻器与引擎在出厂臂上的每笔收益为 +0.5597 vs +0.5481(差 0.012),量级一致。
**B-3 池计数与交易数近似共线,回归不可识别**
本次 12 臂 `corr(pool, trades) = 0.9620`。`ret~trades` R²=0.8864 与 `ret~pool` R²=0.7566 两个拟合无法分辨。**因此本报告不使用任何节流线残差判据**(985 D-1 撤回条款),一切裁定以每笔收益为准。
**B-4 无自由参数的代价:选择性未对齐**
本代门控保留率 20.12%,而 983 门控为 95.36%(同一底座下重测)。V1 与 V983 的对比因此混合了"尺子不同"与"松紧不同"两个因素,不是 983 那样的纯尺子互换对照。这是零参数设计主动接受的代价,由 H8 蒙特卡洛等量零分布来隔离——而该检验的结论是负面的。
---
## C. 结果解读(Result Interpretation)
### C-1 预登记假设逐条裁定
| 假设 | 内容 | 裁定 |
|---|---|---|
| **H1 承重性** | 三元组(池Δ、交易数Δ、每笔Δ) | ✅ **PASS**:池 105→58、交易 403→81(保留 20.1%)、每笔 +0.905→+0.548。真实收窄信号流,非装饰性 |
| **H2 剂量单调** | V1→V2→V2b 单调 | ❌ **非单调**(+0.548 → +0.394 → +0.537)。门控行为**像噪声** |
| **H3 符号证伪** | 收缩应优于扩张 | ❌ **FALSIFIED**:扩张 +1.0395 **反超** 收缩 +0.5481,差距 0.49。与 981/987 同型 |
| **H4 优于前代** | 须同时胜 983 与 974 | ❌ **双双落败**:+0.548 < +0.737(983) < +1.179(974) |
| **H5 速度 vs 水平** | 预测速度 > 水平 | ❌ **REFUTED**:速度 +0.5481 < 水平 +0.8857。**本代核心主张被自设对照臂推翻** |
| H6 独立性 | V8 是否超过 max(V1,V7) | ⚠️ V8 +1.119 > max(0.548, 0.886)。但 42 笔样本,且见 C-3 |
| H7 深度选谁做搭档 | 深度∧速度 vs 深度∧水平 | ❌ 速度 +0.650 **劣于** 983 的深度∧水平 +1.013 → **深度想要的搭档是水平不是速度** |
| **H8 蒙特卡洛零分布** | 须胜过等量随机过滤器 | ❌ **FAIL**:iid p=**0.4355**,按日聚类 p=**0.4755**。与随机等量过滤器**无法区分** |
**8 条假设中 6 条否定、1 条通过(H1,但方向有害)、1 条存疑。**
### C-2 🔴 头号产出:潜伏五代的逻辑死码(穷举证明)
出厂前审计发现 `SCORE>=3` 合取存活率 **100.00%**。我没有停在"经验上真空",而是去证明它:
```
NBASE = [M1∨M3] + [M4∨M5] + [M6] + [M2]
四个分组在成员上两两不相交
⟹ NBASE≥3 蕴含至少 3 个不同成员为真 ⟹ SCORE≥3
```
**穷举 64 种成员组合,NBASE≥3 且 SCORE<3 的反例数 = 0。蕴含关系成立。**
后果:
- 本谱系(959 / 968 / 974 / 983 / 989)对外宣称的"**3-of-6 共识投票**"**从未真正生效过**,五代皆然
- 真正在做筛选的是 `NBASE>=3`(4 个独立度量基取 3),这是一个**严格更强**的条件
- 实证确认臂 **V10(删除 SCORE≥3)与 V1 四项数字完全相同**(58 / 81 / 56.90% / +0.77%)
这与 984 发现的死码是**不同类型**:984 是成员与门控互斥导致的**恒假**死码;本次是层与层之间的**蕴含**导致的**恒真**死码。恒真死码更隐蔽——它不减少信号,只是让报告里的机制描述**说了假话**。
**同时发现 FLOOR_OK 存活率 100.00%**,V11 删除臂同样与 V1 完全相同。它不是逻辑死码(`CLOSE>MA60*0.85` 原则上可假),而是被 SAFE/VOL_OK 等条件实际覆盖的**经验真空层**,本报告依 984 规则声明其**在本样本内不做任何筛选**。
### C-3 机理解读:为什么速度输给水平,以及 V8 的假象
V3 反向臂(波动率**扩张**)+1.0395 大幅优于收缩臂,说明在这个超卖底座上,**波动率还在放大的标的反而更值得买**。合理解释:本底座已由 SAFE(涨跌幅 −1%~+6%)、GATE_VOLREGIME(ATR 比 <1.10)、VOL_OK 三重条件把真正的恐慌盘挡在门外,剩下的"波动率扩张"多是**超跌后放量启动**的初期形态;而"波动率持续收缩"筛出的是**成交清淡、无人问津**的阴跌股——它们确实安静,但也确实没有回归动能。
V8(速度∧水平)+1.119 看似最优,但:
- 仅 42 笔、33 只股,是全部臂中样本最小的之一
- 它**同时**低于 V974 的 +1.179,而 V974 有 352 笔
- 按 H6 判据它超过 max(V1,V7),但按 H8 的逻辑,任何把样本砍到 42 笔的过滤器都有很大概率靠运气跑出高每笔收益(零分布 sd = 0.32~0.40,p95 达 +1.03~+1.11)
→ **不采信 V8 为真实增量**,仅作为下一代待检验假设登记。
### C-4 对抗式审查(主动怀疑 ≥3 点)
**怀疑 1:会不会是我把 983 的建议执行错了,而不是建议本身有问题?**
排除:我没有只做速度臂,而是**把 983 的水平公式(V7)在完全相同的底座上原样重跑**,两臂只差门控形式。V7 = +0.8857 vs V1 = +0.5481,是同条件直接对比。同时我重算了 983 全部六个已存臂的每笔收益,确认 V7(+0.887) 本来就低于 V0 基线(+0.905)——**建议的前提在正确口径下就不成立**,不是执行问题。
**怀疑 2:出厂公式 +0.77% 是正的,能不能算"有效但弱"?**
排除:不能。三重反证——(a) 低于什么都不加的基线 V0;(b) 低于两代前辈;(c) 蒙特卡洛等量零分布 p=0.44/0.48,**与随机砍掉 80% 交易无法区分**。正收益来自底座,不来自本代维度。
**怀疑 3:H3 反向臂胜出,是不是应该顺手把公式反转过来宣称成功?**
排除:**拒绝**。理由与 985 拒绝把窗口改成龄 4-5 相同——V3 是我为证伪而设的臂,用它的结果反向拟合就是用同一份数据既选模型又验模型。而且 V3(+1.0395) 仍低于 V974(+1.1790),即便扶正也不是家族最优。登记为下一代**预登记**假设,需独立数据确认。
**怀疑 4:会不会是过拟合?**
排除:本代门控**零自由数值参数**(1.0 是语义不动点),从构造上无可拟合之处。这也反过来说明失败不是调参失败,而是**维度本身在该底座上无信息**。
**怀疑 5:与现有公式重复?**
排除:对抗式新颖性 **1.00**,ChromaDB 语义去重 **17.68%**(阈值 60%)。
---
## D. 规则提案与下一代实验
**D-1(强烈建议升格为强制质量门):蕴含关系检查(恒真死码检测)**
984 已把"合取存活率审计"升格为强制项,但其判据只覆盖 **0% = 恒假死码**。本代证明存在另一类:**100% = 恒真死码**,由层间逻辑蕴含造成。它不改变任何回测数字,却让报告的机制描述失真(本谱系五代都在宣称一个从未生效的"3-of-6 投票")。
建议:凡存活率 ≥99% 的层,**必须追加一步逻辑判定**——穷举该层与其余层的真值表(成员数 ≤ 20 时可暴力枚举),区分「逻辑蕴含(必须删除或改写机制描述)」与「经验真空(声明不筛选即可)」。本代 SCORE≥3 属前者,FLOOR_OK 属后者。
**D-2:全谱系回溯——959/968/974/983 的机制描述需修正**
这四代的报告都把"3-of-6 共识"作为核心卖点之一,实际生效的是 NBASE≥3。建议在知识库中对这四条加注,避免后续微迭代继续在一个不存在的机制上做文章。
**D-3:下一代最高优先级实验(决定性)**
V3(波动率扩张)+1.0395 与 V974(当期波动率归一深度)+1.1790 是目前仅有的两个稳定超过基线的方向,且**二者可能是同一个东西**:V974 的 `DECLINE/VOLPCT_now` 在当期波动率**高**时读数低、被带宽下限 2.0 挡掉……需要直接检验 `corr(GATE_DEPTH_974, GATE_VEXPAND)`。若高度相关,则 983 花两代追的"平静"方向从一开始就搞反了符号。**这一个检验可一次性厘清 974→983→989 三代的归因。**
**D-4:V8 需独立数据**
速度∧水平 +1.119 / 42 笔,样本过小不予采信,登记为待验假设。
---
## E. 产出文件
| 文件 | 内容 |
|---|---|
| `tongdaxin/ID_989.tn`、`formula-results/formula_ID_989.tn` | 公式本体 |
| `data/prereg989.json` | **回测前**写定的 12 臂 + 8 假设预登记 |
| `data/screen989.py` / `.txt` | 984 合取存活率审计 + 986 互斥检查 + 985 look-ahead 自查 |
| `data/vacuum989.py` / `.txt` | 64 组合穷举证明 SCORE≥3 为逻辑死码 |
| `data/ablation989.py` / `.txt`、`formula-results/ID_989/ablation_volatility_velocity.json` | 12 臂消融与假设裁定 |
| `data/montecarlo989.py` / `.txt`、`formula-results/ID_989/ablation_montecarlo_null.json` | H8 蒙特卡洛等量零分布(iid + 按日聚类,各 4000 次) |
| `formula-results/ID_989/summary_planA.json` / `summary_planB.json` | 官方 A/B 交叉验证 |
---
**最终诚实结论**:注册为 **material node**,**不宣称进化**。出厂公式(每笔 +0.5481)劣于基线、劣于两代前辈、且与随机等量过滤器不可区分。本代价值全部在方法学:**用出厂前审计抓出一个潜伏五代的逻辑死码,并用自设对照臂否掉了自己继承的待办与自己提出的替代方案。**
回测统计
胜率
45.3%
平均收益
1.90%
夏普比率
待验证
最大回撤
-7.1%
按市场状态分段表现
暂无市场状态数据