Files
MoFin/docs/s2_panic_v2_research_20260816.md
T

120 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# s2_panic_v2 升级研究记录(2026-08-16 小小莫)
## 背景:老莫发现的"多信号→少成交"洞
可激活策略信号量远大于成交量(s2_panic 2255信号/42成交、b_td1 5000/353)。
老莫质疑:**成交的是随机抽选的还是未知原因?换一批信号数据还成立吗?**
## 洞审计结论(数据实锤)
### 1. 成交选择 = code 顺序随机(无 score
- s2_panic 的 2255 个信号**全部没有 score 字段**
- portfolio_sim 同日排序 `sort(key=-score)` 退化为 SQL code 顺序
- **洗牌实验**:同批信号换顺序,收益 38.9%~55.2% 漂移 16pp —— 成交的 42 笔是幸运儿
### 2. s2 业绩 = 单日 beta(不是选股 alpha
- s2_panic 2y 的 2255 信号 **99% 集中在 2025-04-09/10 两天**
- 2025-04-09 全市场 60d 均值 **+19.85%、胜率 85.1%**2024-09 全市场 +37%/97%
- **s2 条件过滤后 17.03% < 全市场 19.85%** —— 无 alpha 甚至负 alpha
- 恐慌日 = 全市场普涨日(beta),买啥都赚;小恐慌日(2018-06/2022-03)全市场亏
### 3. 换一批信号:完全不成立
- s2 只命中大恐慌日(2024-09/2025-04),命中 2018-06/2022-03 就亏
- 业绩来自"恰好撞上大反弹日",不是选股能力
## 由果及因(72941 恐慌日信号,tp30/sl12/60日 评估)
### alpha 入场组合有效
- 基线胜率 30.7%(摸30%先于破12%
- **小市值(mcap_q<0.4) + 强势(rsi>=35) + 行业抗跌(sec_ret20>=-10) = 60.8%**
- 换信号池稳健性通过(随机抽样 5 次 50.7~52.6%
### score 精细排序无效(诚实教训)
- top5(高分) 11.79% vs 随机 13.33% vs **bottom5(低分) 15.12%**
- 特征区分度是"粗阈值效应"(入场组合),不是"精细排序效应"
- **不假装排序有效——每日 top-N 截断才是解法**
### 每日 top-N 截断 = 解决信号/成交比的关键
- 恐慌日信号 1200/天 是结构问题(10仓位槽装不下)
- **top8 截断**141 信号/86 成交/比 1.610y
- 洗牌漂移:2y/5y **0.0pp**(彻底稳健),10y 13.1pp2024-09 持仓重叠)
## s2_panic_v2 最终参数
```
入场: mkt_rsi<25(恐慌日) + mcap_q<0.4 + rsi>=35 + sec_ret20>=-10
每日: 按 score 降序取 top8
出场: tp30 / sl12 / max60日
score: mcap(40) + rsi(30) + sec(20) + news(10) = 0-100
```
## 效果对比(vs 原 s2_panic
| 指标 | s2_panic(旧) | s2_panic_v2(新) |
|---|---|---|
| 信号/成交比(2y) | 53.7 | **1.8** |
| 成交(10y) | 105 | 86 |
| 胜率(2y) | 86.5% | 85.4% |
| 2y年化 | 27.3% | **35.7%** |
| 10y年化 | 10.1% | **12.1%** |
| 回撤 | ~40% | **0-2.4%** |
| 洗牌漂移(2y) | 16pp | **0.0pp** |
| 资格(标准A) | ✅✅✅ | ✅✅✅ |
## 诚实说明(不夸大)
1. **2y 成交 26 < 原 42**:每日 top8 截断限制信号量,2y 窗口恐慌日少(6天);但 5y/10y 成交 60/86 超过原值
2. **1y 年化 109678% 是假象**(8笔样本线性放大),真实看 5y/10y
3. **s2 类策略本质是"恐慌日 beta 捕获"**——alpha 组合提升的是"同一天里选更好的",无法对抗 beta 级别(2022-03 那种继续阴跌的恐慌)
4. 老莫说的"方向1 仓位优化"(缩短持仓/去重重复股)未做——那是成交量进一步提升的后续工作
## 2026-08-17 补充:普适指标重构 + 多策略升级
### 普适指标重构(老莫:要真实反映"非特例"宗旨)
原实现:trades覆盖月份/温区总月份 → 只反映覆盖广度,不反映"是否每年都有效"
新实现:跨独立年份有效性 = 有效年占比(每年胜率>50%)× 覆盖年数因子(>=3年满覆盖)
附特例剔除检验:去掉最好一年的剩余平均收益(leave1)
验证(10y trend_down):
v_lurk_v3: 9年/9有效=100分,去最好年+7.25% → 真正普适
s2_panic_v2: 7年/4有效=57分 → 比旧版(6年/3有效=50分)更普适
s2_panic(旧): 6年/3有效=50分 → 只靠一半年份(2024-09/2025-04特例)
v_oversold choppy: 5年/2有效=40分,去最好年-0.11% → 去掉最好年份就亏=靠特例
### 多策略升级(不只 s2_panic
| 策略 | 信号/成交比(旧→新) | 胜率 | 普适 | 核心改进 |
|---|---|---|---|---|
| s2_panic_v2 | 53.7→1.8 | 85.4% | 67 | 恐慌日alpha组合(小市值+强势+行业抗跌)+每日top8 |
| b_td1_v2 | 14.2→1.4 | 82.0% | 75 | 池内超跌强化(bias60<-20+rsi<40+sec<-10)+top3 |
| hk_pe_oversold_v2 | 9.3→1.8 | 72.6% | 67 | 深跌强化(mkt_ret20<-10)+top3 |
方法论要点(由果及因,全部数据验证):
1. s2类(恐慌日): alpha=恐慌日里买强势(小市值+高RSI+行业抗跌)
2. b_td1类(超跌池): alpha=池内买跌最狠(bias60深+rsi低+行业深跌)
3. hk超卖类(港股): alpha=深跌+破净(mkt<-10+pb低)
4. 三个策略的"信号/成交比>2"根因不同:
- s2: 恐慌日1200信号抢10槽(时间集中) → 每日top-N截断解决
- b_td1: 每日40+信号+持仓重叠(持续型) → 超跌强化缩信号+top3
- hk: 深跌日信号密集 → 深跌强化+top3
## 2026-08-17 补充2b_td1_v3 修正——"成交数不变"要求达成
### 老莫指正(b_td1_v2 方向错误)
b_td1_v2 用超跌强化收紧入场 → 信号5000→50,成交353→35,违背"保持成交数不变+大幅减少信号数"
v2 除年化和均持仓外都占优,但年化差距大(126.6%→39.4%)——因为信号砍太狠
### 数据验证:正确方向 = 原池 + score每日top-N截断
不能用 panel 重现池(口径差异:panel 重现 62149 信号 vs DB 5000——panel 的 news3/mcap/pe/dist 粒度不同)
正确做法:读 DB 原版 5000 信号 + 从 panel 查 score 特征 + 每日 top-N 截断
2y 验证:
原版5000信号/349成交/比14.3/胜率71.2%/年化162.5%
每日top5: 572信号/316成交/比1.8/胜率73.3%/年化156.6% ← 采用
每日top8: 886信号/338成交/比2.6/胜率72.5%/年化166.9%
### 关键洞察
- b_td1 类(持续触发型):117天×42.7信号/天 → 截到每天5个仍能成交(5<10槽)→ 成交几乎不降
- 原版"成交353是否随机":洗牌实验证明原版顺序敏感(漂移大);每日截断后每天5个<10槽全成交 → 洗牌无关 → 稳健
### s2/hk 类策略(事件触发型)——成交不变受限于事件频率
- s2_panic2255信号集中在8个恐慌日(2024-09/2025-04两天99%)→ 10槽装不下是结构性的
- v2择优后成交42→26(降38%),但胜率85.4%保持——事件日无法通过截断提升成交
- 与 b_td1 的"每日持续触发"本质不同:持续型可截断保成交,事件型成交受事件频率限制