#22031 混合 免费

ID-931_序贯区间重叠坍缩策略研究报告

公式说明 AI生成

一句话概括:这个公式抓"长期原地踏步、区间高度重叠后,某天区间突然向上脱离"的价格发现启动点。 核心买入逻辑:算相邻两天价格区间的重叠比(Jaccard相似度),要求前期20天平均重叠高(停滞蓄势),当天重叠骤降到0.3以下且跌破前期均值一半(均衡打破),区间中心上移且收盘在上方、区间整体向上平移,四条件满足三个,再叠加真实波动、站上MA60、量能配合、不追高等闸门,并剔除前80根热身K线。 适合市场环境:横盘整理末期向上突破的阶段,不适合单边下跌或急拉。 风险提示:重叠比是拓扑量、忽略幅度,确认层失效时可能把窄幅假突破误判为启动。

研究报告
# ID-931 序贯区间重叠坍缩策略研究报告 - **公式 ID**:FORMULA-931 - **公式名称**:序贯区间重叠坍缩选股(Range-Overlap Collapse 价格发现事件) - **生成日期**:2026-08-02 - **作者**:Q1 (qclaw) - **通道判定**:next_id=931,931 % 5 = 1 → **发散通道(Step 0 新维度方向)** - **信号原型家族**:市场微观结构 / 价格发现拓扑(清单外新原型,最接近第 6 类「波动率」但本质正交) - **采纳版本**:v3(收紧停滞门槛 0.52→0.58、坍缩门槛 0.35→0.30 与 0.60→0.50) --- ## 逻辑链说明 **市场背景**:A 股在震荡市中,大量个股会进入一种「价格发现停滞」状态——每日照常有成交、有涨跌,但每日的价格区间与前一日高度重合,价格只是在同一个价值带内反复搓揉。这种状态的本质是多空对标的价值已形成共识,没有新信息进入。真正值得关注的不是波动的大小,而是**这种共识何时被打破**。传统的波动率指标(ATR、布林带宽、标准差)度量的是「区间有多长」,无法区分「大幅震荡但原地打转」与「小幅但持续位移」这两种截然不同的市场状态。本式引入的区间重叠比正是为了填补这个盲区。 **信号设计**:把每个交易日看作实数轴上的一个闭区间 SEG(t) = [LOW(t), HIGH(t)],计算相邻两日区间的 **Jaccard 相似度**:ROR = 交集长度 / 并集长度,取值落在 0 到 1 之间。ROR 接近 1 表示两日区间几乎重合(价格发现停滞),接近 0 表示区间脱离(新信息进入)。核心信号由四个正交成分构成:S1 前期均衡停滞积累(20 日平均重叠比 MROR > 0.58 且在抬升,用 REF 取昨日值避免自证偏差);S2 重叠坍缩事件(当日 ROR < 0.30 且不足前期均值的五成);S3 位移方向向上(区间中心抬升 + 收盘位于当日区间上部六成以上);S4 单向脱离确认(今日最低价高于昨日最低价,且最高价接近 10 日新高,确认是区间整体上移而非上下扩张)。四成分采用 **3-of-4 投票**而非硬串联,避免单一门控导致零信号。 **确认机制**:四层门控过滤假信号。GATE_AMP 幅度真实性(ATR 占比 1%~9% 且当日振幅 > 1%),因为 ROR 是无量纲拓扑量,极窄幅区间会因浮点噪声产生伪坍缩,必须补真实幅度检验;GATE_POS 趋势位置(收盘高于 MA60 的 90% 且 MA20 未加速下行),排除崩溃段的向下脱离;GATE_VLM 量能配合(0.9~3.0 倍 20 日均量),价格发现必须有换手支撑,同时排除爆量出货;GATE_SAFE 安全涨幅(-3% ~ +6%),排除追高与跌停板。另加 WARMUP 门控确保 80 根 K 线数据完整。 **风险控制**:三分支结构化退出。分支 A:价格发现结束转弱(MROR 回升到 0.55 以上的停滞区且收盘跌破 MA20);分支 B:趋势止损(收盘跌破 MA20 的 97%);分支 C:过热止盈(收盘高出前 20 日最高价 12%)。实测放宽退出阈值会显著劣化收益(见 A.2 的 v4/v8),故保留原始较严的退出结构。 --- ## A. 实现细节(Implementation Details) ### A.1 公式逻辑与参数设计依据 | 层级 | 内容 | 参数(v3 采纳值) | 设计依据 | |---|---|---|---| | 核心量 | ROR = INTER/UNIONR | — | 区间 Jaccard 相似度,无量纲,对幅度不敏感、对位置敏感 | | 停滞基准 | MROR = MA(ROR,20) | 20 日 | 约一个月交易日,覆盖一轮完整的筹码换手周期 | | S1 停滞积累 | MROR1 > 0.58 且在抬升 | **0.58** | 随机游走下 ROR 期望约 0.4~0.5,0.58 表示显著高于随机重合 | | S2 坍缩事件 | ROR < 0.30 且 < MROR1×0.50 | **0.30 / 0.50** | 双重相对+绝对门槛,避免仅因基准低而误判 | | S3 方向确认 | 区间中心抬升 + CPOS > 0.60 | 0.60 | 收盘在区间上六成,排除冲高回落的假位移 | | S4 单向脱离 | LOW > LO1 且 HIGH ≥ HHV(HIGH,10)×0.995 | 10 日 | 区分「整体平移」与「上下扩张」 | | 投票 | PSCORE ≥ 3(4 成分) | 3-of-4 | 容错设计,避免硬串联零信号 | | 退出 | 三分支求和 ≥ 1 | 0.55 / 0.97 / 1.12 | 严退出结构,实测优于放宽版 | **执行时点**:全部使用 REF/SUM/MA/HHV 历史窗口函数,信号在当日收盘后计算,次日开盘执行。停滞基准 S1 刻意使用 REF(MROR,1) 而非当日 MROR,防止今日的坍缩事件本身拉低基准造成自证偏差。 **适用市场**:A 股全市场(本地 CSV 数据 10027 个标的),最适合震荡市中从横盘整理转入趋势启动的个股。**Warmup 周期:80 根 K 线**(ROR 的 20 日均值 + REF(MROR,21) 回溯 + MA60 中期均线,取 80 根安全余量),第 81 根 K 线起生成信号。 ### A.2 迭代实验(7 个变体全部真实全量回测,非推演) | 变体 | 改动 | 有效股 | 胜率 | 收益 | 正收益股 | |---|---|---|---|---|---| | v1 基线 | 3-of-4 投票 + 原退出 | 89 | 42.20% | **+0.20%** | 37 | | v2 | S2 强制成立 + 其余 2-of-3 | 89 | **42.40%** | -0.00% | 36 | | **v3 采纳** | **收紧阈值(0.52→0.58, 0.35→0.30/0.50)** | **80** | **41.10%** | **+1.00%** | **32** | | v4 | 仅放宽三分支退出 | 89 | 42.10% | -0.00% | 37 | | v5 | 加 S5 量能成分 + 4-of-5 投票 | 81 | 42.30% | -0.80% | 31 | | v6 | 强化方向确认(CPOS 0.70 + 收盘破昨高) | 76 | 41.00% | -0.50% | 28 | | v7 | v5 + v3 收紧阈值 | 70 | 40.00% | -0.10% | 27 | | v8 | v5 + 放宽退出 | 81 | 42.30% | **-1.00%** | 31 | **帕累托前沿(4 目标:胜率 / 收益 / 样本量 / 正收益股)**:{v1 基线, v2, v3}。 - **v2** 胜率最高(42.40%)但收益归零; - **v3** 收益最高(+1.00%,基线五倍)代价是胜率 -1.1pp、样本量 89→80; - 按「正期望优先」原则采纳 **v3**,它是唯一把平均收益推到 +1% 的结构。 **关键发现**: 1. **放宽退出是纯粹的负向改动**:v4(仅放宽退出)把基线的 +0.20% 打到 -0.00%,v8(量能成分 + 放宽退出)更是全场最差的 -1.00%。这与 FORMULA-930 的经验相反——930 靠放宽退出获得 +6.2pp 胜率。**教训:退出结构的松紧不存在普适答案,必须逐公式实测**。ROR 是短周期事件型信号(平均持仓 6 天),放宽止损只会让失效的持仓拖更久。 2. **加量能成分(v5)单独看是负向的(-0.80%)**,说明本式的价格发现信号已隐含在区间关系中,额外的量能扩张要求反而筛掉了「缩量突破」这类有效样本。 3. **只有收紧入场阈值(v3)有效**:更严的停滞门槛(0.58)意味着只在**真正长期胶着**的标的上出手,虽然样本量降 10%、胜率降 1.1pp,但单笔质量显著提升,总收益提升五倍。 ### A.3 回测结果(详见 C 段交叉验证) 数据源:本地 CSV(`stock_data/`;引擎全市场遍历 10027 标的,errors=9947)。样本区间实际落在 **2025-06-10 ~ 2026-05-25(232 交易日)**,平均持仓 6 天。 --- ## B. 已知偏差(Limitations and Bias) ### B.1 数据限制:样本区间远短于请求区间(最关键) 请求回测区间为 2023-01-01 ~ 2026-05-25,但引擎实际返回的 `sample_start` 一律为 **2025-06-10**,即本地 CSV 只有约 232 个交易日。这意味着: - **样本仅覆盖约 11 个月的单一市场环境**,无法验证策略在牛市/熊市/不同波动率体制下的稳健性; - errors≈9947 / 10027,绝大多数标的本地无数据,有效股仅 80 只,**结论的统计功效有限**; - Sharpe / VaR / CVaR / 盈利因子四项指标因单股笔数过少(多数股 1~4 笔)未能可靠输出,标记为**待回测验证(需全量数据重测)**。 ### B.2 回测偏差:持有期与执行假设 引擎按固定逻辑撮合,平均持仓 6 天。三分支退出中的 SELL_C(过热止盈 +12%)在日线粒度上只能在收盘确认后次日执行,**实际滑点会侵蚀部分收益**。此外区间重叠比依赖 HIGH/LOW 的准确性,**除权除息未做前复权校正的话会造成 ROR 虚假坍缩**(跳空缺口被误判为价格发现事件)——这是本式相对收盘价类指标特有的敏感点。 ### B.3 参数敏感性:高,且采纳版正处在敏感带上 v1→v3 仅改两处阈值,收益从 +0.20% 变到 +1.00%(五倍),但胜率与样本量同时下降;v7(v3 阈值 + 量能成分)又跌回 +0.10%。**参数敏感性明显偏高**,采纳的 v3 有可能是这 11 个月样本上的局部最优点。这是本公式最需要用更长样本复核的地方,不应仅凭 +1.00% 就认定其优越性。 --- ## C. 结果解读(Result Interpretation) ### C.1 A/B 双引擎交叉验证 | 指标 | 方案 A(backtest.evaluator) | 方案 B(planb 独立解析器) | 差异 | |---|---|---|---| | 有效股票数(基线 v1) | 89 | 89 | 0 | | 平均胜率(基线 v1) | 42.20% | 42.18% | **0.02pp** | | 平均收益(基线 v1) | +0.200% | +0.200% | **0.00pp** | | 有效股票数(v8 对照) | 81 | 81 | 0 | | 平均胜率(v8 对照) | 42.30% | 42.31% | **0.01pp** | | 平均收益(v8 对照) | -1.000% | -1.007% | **0.007pp** | 基线与 v8 两组独立对照的 A/B 差异均 **≤ 0.02pp,远小于 5% 一致性阈值 → 强一致**。两套独立实现的解析器给出同一结论,可排除「单一解析器 bug 导致的假信号」。采纳版 v3 的方案 B 复核结果记入 `summary_planB.json`。 ### C.2 创新点:度量的是「位置关系」而非「幅度」 覆盖度探针(对 `formula-history-index.json` + `formula-knowledge-base.json` 做关键词命中计数)结果: - 已密集覆盖:SAR 29 / Aroon 22 / TRIX 36 / 效率比 21 / 分形 28 / 熵 33 / Hurst 15 / 流动性 35 - **本次方向命中 0**:区间重叠、有效价差、买卖价差、价格发现、Garman-Klass、Yang-Zhang、Corwin、Roll、日内幅度、信噪 方向选择器本次再度回退到 Aroon+SAR(库内命中 22/29 次的密集家族),按修复A铁律**手动改选零覆盖家族**。本式与库内最近邻(ATR / 布林带宽 / 波动率压缩)的本质差异在于:**波动率类指标是区间长度的一元函数,本式是两个区间的二元集合关系**。一个大幅震荡但与昨日完全重合的交易日,在 ATR 视角下是「高波动」,在 ROR 视角下是「零信息」——这是库内 779 条公式无法表达的维度。 ### C.3 风险点与适用场景 最大风险是 **B.1 的样本不足叠加 B.3 的高参数敏感性**:41.1% 的胜率低于 50%,按拓扑自进化框架属正常粗筛结果(回测引擎持有期/样本窗口本身不准),**不删除,作为新维度材料节点入库**参与后续组合实验。ROR 是天然的正交因子,与库内动量/均值回归类公式相关性预期极低,**在 combo_lab 的 N-of-M 投票中作为独立成员的价值可能高于单独使用**。适合作为组合中的「市场状态过滤器」而非独立交易系统。 改进方向:(1)接入前复权数据消除跳空造成的伪坍缩;(2)把 ROR 推广到多日窗口(SEG(t) 与 SEG(t-k) 的重叠矩阵,度量价格发现的记忆长度);(3)在 combo_lab 中与 MeanRevMix / MomMix 家族做交叉组合验证正交性。 ### C.4 对抗式审查 我主动怀疑了以下 4 个点,并逐一排除: 1. **怀疑:ROR 是不是波动率的马甲?** 排除:ROR = 交集/并集,分子分母同时含区间长度,量纲相消。数学上可证明,当两日区间等长且中心距离为 d、区间长为 L 时,ROR = 1 - d/L,即 ROR **只依赖位移与幅度的比值**,而非幅度本身。同一 ATR 水平下 ROR 可从 0 变到 1。实测 GATE_AMP 需要单独加幅度门控,恰恰反证了 ROR 本身不含幅度信息。 2. **怀疑:S1 用 20 日均值判断「前期停滞」,是否被今日的坍缩事件污染(自证偏差)?** 排除:代码中 S1 使用 `MROR1 := REF(MROR,1)`(昨日均值)而非当日 MROR,且比较基准是 `REF(MROR,21)`。今日的 ROR 不进入 S1 的任何一侧,逻辑上不可能自证。 3. **怀疑:采纳 v3 是不是在做过拟合的参数搜索?** 排除(部分保留):(a)7 个变体中有 5 个是**结构性改动**(加成分/改投票数/改退出分支),只有 v3/v7 涉及阈值调整,不是网格搜索;(b)v3 的改动方向有先验解释——更严的停滞门槛等价于「只在真正长期胶着的标的上出手」,有经济学含义;(c)**但必须承认 B.3 的高敏感性风险仍在**,v3 的 +1.00% 需更长样本复核,本报告未将其宣称为稳健结论。 4. **怀疑:是否与现有公式重复?** 排除:语义去重(ChromaDB,D:\python312)相似度 **9.33%**,远低于 60% 阈值——这是近期所有公式中最低的相似度之一。对抗式新颖性评分 **1.00**(阈值 0.7)。关键词覆盖度探针 10 个相关词全部 0 命中。 **多样性评分:5/5** —— 融合微观结构拓扑量(ROR)+ 波动率(ATR)+ 趋势(MA20/MA60)+ 量能(VOL/VMA20)+ 价格行为(CPOS/区间关系)五类指标,含 3-of-4 投票容错机制与三分支结构化风险管理。 --- ## 强制自检(4 步) 1. **未来数据检查**:✅ 通过。全部使用 REF/SUM/MA/HHV/LLV/COUNT 历史窗口,无 REF(X,-1) 等未来函数。S1 刻意用 REF(MROR,1) 避免当日污染。 2. **Warmup 检查**:✅ 通过。WARMUP := COUNT(CLOSE,80) >= 80 强制门控,最长依赖链为 MA60 与 REF(MA(ROR,20),21)(21+20=41 < 80),安全余量充足。 3. **参数过拟合检查**:⚠️ 警告(非打回)。参数敏感性高(见 B.3),采纳版 v3 可能处于局部最优点,已在报告中显式标注风险,未宣称稳健。 4. **夸大宣传检查**:✅ 通过。样本区间为 **2025-06-10 ~ 2026-05-25 的样本内回测**,报告中未声称样本外验证;Sharpe/VaR/CVaR/PF 因笔数不足明确标注「待回测验证」,未编造数据。 --- ## 过程纠错记录(工程教训,务必保留) 本次任务中我一度**错误采纳了 v8**。根因是汇总脚本用了正则 `avg_return\D{0,4}([-0-9.]+)`,其中 `\D{0,4}` 会把 JSON 中的负号 `-` 当作非数字字符吞掉,导致 **-1.000% 被读成 +1.000%**,v8 与 v3 的排名完全颠倒。 发现过程:方案 B 的原始输出里直接打印了 `"avg_return": -1.0074`,与我汇总表里的 `+1.0` 矛盾,才暴露了解析 bug。修正后用带引号锚定的正则 `"avg_return"\s*:\s*(-?[0-9.]+)` 重新汇总全部 8 个变体,才得到真实排名,随即把最终公式从 v8 回滚到 v3。 **新增铁则**:解析回测 JSON 数值时,正则必须写成 `"key"\s*:\s*(-?[0-9.]+)`,**禁止使用 `\D{0,4}` 之类会吞掉负号的模糊匹配**;且汇总结果必须与至少一份原始输出交叉核对后才可用于决策。 --- ## 结论 FORMULA-931 为发散通道产出的**市场微观结构新原型**(区间重叠 Jaccard 拓扑,全库 0 命中,语义相似度 9.33%)。经 7 变体全量真实回测,帕累托前沿为 {v1, v2, v3},采纳 **v3**:有效股 80、胜率 41.1%、平均收益 **+1.0%**(基线 +0.2% 的五倍)。A/B 双引擎在两组对照上差异 ≤0.02pp,强一致。胜率低于 50% 按拓扑自进化框架属正常粗筛,**作为正交材料节点入库**,其在组合实验中的价值预期高于单独使用;高参数敏感性需更长样本复核。
公式源码
登录后可查看

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

查看定价
回测统计
胜率
---
平均收益
---
夏普比率
待验证
最大回撤
-0.0%
按市场状态分段表现

暂无市场状态数据