← 返回报告存档

本周否决了什么 · 首期

2026-10-23 · 研究文章

【本周否掉了什么】

我们想给卖期权加一道"开仓门槛":只有在市场结构看起来"干净"时才卖。

这个想法来自系统里每天在算、但从没被当作条件检验过的一张表(gate_daily):它标记了三件事

——仓单是否异动、持仓是否拥挤、20 日趋势是否转负。

直觉是:这三样都干净的时候,卖期权应该更安全。

结论:不成立。 而且我们找到了"看起来成立"的真正原因。

【怎么测的】

- 样本:2017-07 → 2026-09,卖 Put 价差(R5S)逐笔 4,750 笔、卖 Call 价差(R4S)4,561 笔、裸卖近 ATM Put(R6)5,083 笔

- 条件:「闸门干净」= 无仓单异动/无持仓拥挤;「趋势未转负」= 20 日趋势不为负

- 判据(事前冻结):方向为正 · 置换检验 p<0.05 · 多重比较校正(BH-FDR, q=0.10)· 逐品种方向一致率 ≥60% · 时间对半两段都为正 · 剔除首尾 1% 后仍为正 · 扣掉 IV 分位后仍为正 · 跨年 ≥5 窗且正年 ≥60%

- 批次:8 条候选 / 批;先冻结判据、再看数据(改判据 = 重新计时)

【为什么被否】

【第一轮:8 条全部淘汰 —— 但其中 4 条的"死因"是我们工具的问题】

第一轮跑出 0/8。四条候选在方向、显著性、多重比较、扣 IV 分位、跨年全部通过的情况下,

被"单调性"这一道闸拦下。

追查后发现:那道闸对 0/1 变量不适用。它的实现会先把数据按"条件值"排序,但对只有 0 和 1 的变量,

排序会把同一层内部也按收益切开 —— 于是"看起来单调"其实来自层内噪声。

实测证据:分桶后第 1 个桶与第 2 个桶同属"闸门干净"那一层,中位却相差 63 个百分点。

【第二轮:4 条存活 —— 但最强的那个是"标的在涨"换了个说法】

换闸后 4 条存活。看起来有戏。

给其中最强的一条("20 日趋势未转负",差 +10.70pp)建前向验证时,我们顺手加了一道最朴素的对照:

- 该条件(趋势未转负)差:+10.70pp

- 基线「标的过去 20 日收益为正」的同一差值:+10.67pp

- 两者标记同向:93.6%

- 在"过去 20 日上涨"的子集内,该条件的增量:−0.08pp

一旦锁定"标的在涨",这个条件就不剩任何增量。

原因不难想:卖 Put 价差本来就在赌标的别跌。把"过去 20 天没跌"叫成"趋势健康",

并不会让它变成一个新信息 —— 它只是把 beta 换了个说法。

【第三轮:把"扣掉标的涨跌"写成通用闸,重跑 8 条 —— 0 存活】

第三轮
候选差逐品种一致率在"标的在涨"子集内
卖 Put × 趋势未转负+10.70pp52.1%−0.08pp
卖 Put × 闸门干净+4.95pp62.3%+2.45pp
卖 Put × 两者都干净+7.97pp60.8%+1.86pp
裸卖 Put × 闸门干净+7.42pp55.6%+7.65pp
卖 Call × 闸门干净−12.56pp37.3%−14.53pp

两条独立的否掉理由:要么被"标的在涨"解释(子集内增量只剩 2pp 以下),

要么跨品种方向不一致(一致率不到 60%)。

【学到了什么】

- "全样本上条件层更好"几乎什么都没证明。 只要条件与价格路径沾边(趋势、动量、均线、涨跌幅),

它就会"更好"。必须扣掉"标的自己涨跌"这条最朴素的基线,并在该基线的两个子集内分别复算。

- 同一个数字,换个统计口径能差 39 个百分点。 我们一开始把"条件层赚钱的品种占比"(91.2%)

当成了"逐品种方向一致率"(真实值 52.1%)—— 前者宽松得多,足以让一条无效条件过关。

口径必须写进字段名,不能靠记忆。

- 自己是会犯错的,而且错的方式会重复。 这一轮我们两次引用了"自己写的临时脚本算出的数",

两次都被独立复核推翻。现在的规矩是:凡要写进台账的数字,必须来自可复现的工具输出或独立复核。

【这对你意味着什么】

不是"这个想法毫无价值",而是这个想法的验证方式一开始就错了:

- 如果你也在用"市场状态看起来不错"来择时卖期权,请先问一句:这和我已知的"标的在涨"有区别吗?

- 如果答不上来,那不是择时,那是在赌方向——只是包装成了波动率策略。

我们把这个结论写进了规则库:凡是"顺风类"的条件,必须先扣掉标的自身涨跌,否则一律不算证据。

【下周会测什么】

- 先把"测不了"讲清楚:加工利润分位只在 16 个有产业链的品种上存在,逐笔样本 998 笔

(占 R5S 全样本 21%)⇒ p20/p80 极端层只剩约 200 笔、低于我们冻结的 300 笔门槛。

这一批 6 条极端层候选全部被第一道闸判 unreachableOrNoData —— 是数据不够,不是想法错。

- 下一批要修的是工具,不是急着换假设:随机对照件在这批里"存活"了(+8.41pp、p=0.0185),

按规矩整批作废。查下来不是 bug:单个对照件在 α=0.05 下本身就有约 1/20 的概率被误判。

自下一批起改成 5 个对照件、判据「≥4/5 被拒」(零假设下 2 个及以上显著 ≈ 2.3%)。

- 待测清单(registry 现有):待测量 27 条、观察中 14 条。

取舍标准没有变:先做能复用现有样本、且不是价格路径变形的条件。

- 上一轮被否的"卖 Call 侧闸门反向"结论,继续作为负向知识留档,不删。

【附:本期的完整台账(供核对)】

附
批次候选数存活淘汰原因分布
C4(首测)804 条"工具不适用"(未判定) · 3 条不显著 · 1 条方向为负
C5(判据修订)84(后被推翻)见修正文档
C6(加 beta 基线闸)802 条 explainedByBeta · 2 条 notRobustShapeBinary · 3 条不显著 · 1 条方向为负
前向0—最强候选在样本内即被判不足,未进前向

想看实时数据而不是存档?波动率 · 基本面 · A 股温度 · 全部报告