# v_mr 策略文档:小盘深超跌均值回复 > 创建:2026-08-02 | 引擎版本:v2(合并自 mr_engine_v2.py) | 状态:✅ 已通过 10y 全市场验证 ## 1. 策略一句话 **买入"跌过头的小盘股",等它反弹回均值**。与 v_next4(追趋势)互补,专攻震荡市/熊市里被错杀的超跌股。 ## 2. 背景与动机(为什么建这个策略) - 翻倍股分析发现:**77% 的翻倍股诞生于震荡/中性市**,只有 23% 诞生于趋势市。 - 趋势引擎(v7.1 评分体系)天然只在趋势市出手,**震荡市是它的盲区**。 - 尝试把趋势引擎改成均值回复(test_vmr/scan_vmr 系列)**全部失败**——评分体系是趋势导向的(追动量、追突破),改 filters 是硬套,方向就错了。 - 结论:均值回复必须**独立建一套入场逻辑**,不走 score/momentum 评分体系。 ## 3. 入场逻辑(v2 最终版) | 因子 | 参数 | 含义 | 来源 | |------|------|------|------| | `bias60` | ≤ -10%(单边,无下限) | 价格比 MA60 低超过 10% = 深超跌 | 翻倍股起点 bias60≤-15.75%,取 -10 捕获"超跌未崩"区间 | | `rsi_max` | ≤ 42 | RSI 超卖 | 翻倍股起点 RSI≤44.8 | | `prev_ret60` | ≤ -15%(单边,无下限) | 60 日跌幅超 15% | 翻倍股起点 prev_ret60≤-10% | | `mom20_max` | ≤ 5% | 20 日动量低(不追已反弹的) | 均值回复前提:还在低位 | | `amount_max` | ≤ 15(百万元) | 20 日均成交额 ≤ 1500 万元 = 小盘 | 翻倍股成交额极小;大票超跌≠错杀 | | `rsi_delta_min` | ≥ 2 | RSI 5 日回升 ≥ 2 = 止跌确认 | 离线重放发现:不加止跌确认 avg 2.41% → 加后 3.01% | | `mkt_mode` | `any` | 不限大盘 | **10y 验证:sideways 过滤有害**(见 §7) | **次日开盘价入场**(信号日收盘确认,次日 open 成交)。 ## 4. 出场逻辑(v2 最终版) | 出场 | 参数 | 说明 | |------|------|------| | `target`(止盈) | +18% | 让利润跑向目标,不截断 | | `stop`(止损) | -8% | 固定止损 | | `time`(时间) | 25 个交易日 | 超时按收盘价平仓 | **关键修复(v1 → v2)**:v1 有 "反弹到 MA20 止盈" 出场(`ma20_revert`)。实测这是**毒药**: - 超跌票 MA20 就在头顶 2-3%,反弹到 MA20 只赚 2-3% 就卖 - 而止损是 -8%,盈亏比严重倒挂 - v2 删除 MA20 出场后,avg 由负转正(200 笔测试中 136 笔走 ma20_revert 的 avg +3.29% 看着还行,但大量本该到 +18% 的票被 2-3% 截断了) ## 5. 参数是怎么定出来的(完整推导链) 1. **翻倍股共性因子**(分析 10 年翻倍股):起点集中在 小盘 + MA60 下方深跌 + 近期跌 + RSI 偏低 + 低动量。 2. **v1 松版基线**(strategy_lab.py 首版):923,603 笔 / wr 61.4% / avg **-0.1%** —— 入场太松 + MA20 出场倒挂,白忙活。 3. **离线重放定参**(replay_mr 系列,用 92 万入场点重放不同出场规则,秒级测参): - 第 1 轮:确认 MA20 出场全负,去掉后 avg 转正;入场收紧显效。 - 第 2 轮:最紧入场(bias≤-10/amount≤15/prev≤-15/rsi≤42)→ 13,637 笔 avg 2.41%。 - 第 3 轮:`rsi_delta≥2`(止跌确认)→ avg 3.01% / wr 53.6%;`rsi_delta≥3` → 3.15%。 - 第 4 轮:`tp18/sl8/25d` → 9,082 笔 / avg 3.16% / wr 54.8%。年度分布健康(2018 熊市 4098 笔 +4.19%)。 4. **真实 10y 全市场验证**(mr_engine_v2.py):见 §6,avg 3.34% vs 离线预测 3.16%,**对齐良好**。 ## 6. 验证结果(10y:2016-07-01 ~ 2026-07-24,A 股全市场) | 指标 | 数值 | |------|------| | 交易笔数 | 21,690 | | 胜率 | 53.6% | | 平均收益/笔 | +3.34% | | 平均盈利 | +11.9% | | 平均亏损 | -6.56% | | 平均持仓 | 16.9 天 | | 组合 10y(等权 5 仓) | +332.1%(年化 15.6%,回撤 45.4%) | | 组合 10y(满仓模拟) | +208.8%(年化 11.8%,回撤 26.0%) | | 覆盖月份 | 107 个月,universality 76.0 | | 出场分布 | target 5,851(+18%)、stop 7,374(-8%)、time 8,465(+3.09%) | **年度分布(组合口径)**:2018 熊市大量出手(10,163 笔);2019 +49%;2025 +25%;2026 当前 -12.6%(见 §7)。 ## 7. 踩过的坑(重要教训) 1. **MA20 反弹止盈是毒药** —— 均值回复的票反弹空间只有 2-3% 到 MA20,必须让利润跑向 +18%。 2. **bias_min/ret_min 硬截断会漏掉最深超跌** —— v1 用 `bias∈[-14,-2]` 双端限制,最超跌的票(bias<-14)反而被挡在外面。v2 改单边(只设上界不设下界)。 3. **sideways 过滤(ADX<25 才出手)有害** —— 10y 全市场验证:过滤后收益 206.6% → **147.9%**。趋势市里买超跌反弹力度更大,强制过滤掉的是赚钱交易。 4. **MA20 方向过滤无一致规律** —— 2018 熊市大盘 MA20 下抄底反而赚钱(wr 63%),2026 年上下都亏。不能用于过滤。 5. **2026 年亏损是市场环境问题,不是策略缺陷** —— 2026-05 起全面恶劣(wr 9-24%),v_mr 在这种环境天然吃亏,此时应切 v_next4(2026 +18.9%)。这正是组合互补的意义。 6. **大盘上下文数据曾缺失** —— sh000001 在 stock_daily 只有 2021-07 起,2016-2020 数据在 sector_index_daily。已回填(2026-08-02),mkt_adx 覆盖从 23% → 90%。 ## 8. 与 v_next4 的分工(组合互补性验证结论) | 维度 | v_next4(趋势) | v_mr(均值回复) | |------|----------------|-----------------| | 出手时机 | **100% 大盘 MA20 上方**(强趋势市) | 83% 在大盘 MA20 下方/震荡市 | | 典型年份 | 2025 +29.8%、2022 +16.2% | 2019 +49%、2021 +23.7% | | 2018 熊市 | 0 笔(完全不出手) | 10,163 笔(主战场) | | 2026 趋势市 | +18.9%(主力) | -12.6%(回避) | | 股票池 | 58 只(大市值趋势票) | 1,753 只(小盘超跌票) | | 信号重叠 | 21 个重叠日/10 年(竞争极少) | —— | **合并价值**:v_mr 单独 10y +206.6%,叠加 v_next4 覆盖牛市暴利段后 +302.1%(cagr 14.8%,dd 26.2%)。两策略按市场周期轮动,互不抢信号。 ## 9. 代码位置 - **引擎(合并后)**:`strategy_lab.py` → `run_mr_backtest()`(v2 版本,含 skip_stats 统计) - **注册**:`strategy_lab.py` → `register_mr_strategy()`(B 类策略,不进 v7.1 评分体系) - **独立副本(历史)**:`mr_engine_v2.py`(v2 修复版,已合并,保留作参考) - **数据**:`data/mofin.db` → `strategy_research` 表(version='v_mr',最新一条 = v2 10y 21690 笔) - **离线重放脚本**:`/tmp/replay_mr*.py`(历史调参用) ## 10. 运行方式 ```python import strategy_lab as lab lab.register_mr_strategy('v_mr', 'v_mr: 小盘深超跌均值回复', summary, hypothesis, {'bias_max': -10, 'rsi_max': 42, 'ret_max': -15, 'mom20_max': 5, 'amount_max': 15, 'rsi_delta_min': 2, 'mkt_mode': 'any'}, {'tp_pct': 0.18, 'sl_pct': 0.08, 'max_hold_days': 25}, slots=5) r = lab.run_mr_backtest('v_mr', '2016-07-01', '2026-07-24', 913000, save=True, universe='a', period_tag='10y') ``` > ⚠️ 注册须在跑测前调用(v_mr 不进 STRATEGIES 持久化注册表)。universe='a' = A 股;'all' 含港股(港股 HSI 上下文另算)。 ## 11. 六步方法论精选调优(2026-08-02 深夜,v_mr 精选版) > 背景:实盘扫描器原用"bias60 最超跌取前10"排序——**违反六步方法论、无验证、实测证伪**(corr(bias60,profit)=0.028≈0,最深档 bias<-23.7% 反而最差 avg+1.41%/wr42.8%)。按六步方法论从 21690 笔回测中重新推导。 ### 第1步:挑显著收益票 - v_mr 基线 21690 笔,收益分层 p50=+1.5% / p75=+18.0% / max=+18.0% / min=-8.0% - 显著盈利组 = profit ≥ +18%(即 target 止盈档,5851 笔) ### 第2步:共同因子(显著盈利组 vs 亏损组) | 因子 | 显著盈利均值 | 亏损均值 | 结论 | |------|------------|---------|------| | mom20 | -14.17 | -12.14 | 盈利组20日动量更负(加速下跌尾声)| | rsi_delta | 8.86 | 7.21 | 盈利组RSI回升更强(止跌确认)| | dist_ma20 | -5.59 | -4.56 | 盈利组离MA20更远(反弹空间大)| | atr_pct | 4.16 | 3.62 | 盈利组波动更大(弹性足)| | mkt_adx | 32.88 | 34.68 | 亏损组在大盘强趋势时抄底危险 | | bias60/rsi/prev_ret60 | ≈无差异 | | 深超跌≠更好 | ### 第3步:正面因子组合全市场重筛 | 组合 | 笔数 | avg | 胜率 | 盈亏比 | 覆盖 | |------|------|-----|------|--------|------| | 基线 v_mr | 21690 | +3.34% | 53.6% | 1.81 | 107月 | | mom20+rsi_delta 双因子 | 2005 | +8.11% | 71.4% | 2.10 | 68月 | | 三因子(+dist_ma20) | 620 | +9.04% | 75.6% | 2.25 | 40月 | | 四因子(+atr_pct) | 242 | +10.56% | 79.8% | 2.34 | 26月 | ### 第4步:负面因子(四因子组内亏损 vs 盈利) | 负面因子 | 亏损组 | 盈利组 | 含义 | |---------|--------|--------|------| | mkt_adx | 40.15 | 29.43 | 大盘ADX≥35 强跌市抄底危险 | | obv_delta | -977k | +25k | 资金流出(OBV<0)必死 | | bias60 | -19.75 | -17.67 | bias<-22 过深易续跌 | | prev_ret60 | -29.57 | -26.26 | 60日跌超32%易续跌 | | amount_ma20 | 8.90 | 10.43 | 太缩量流动性差 | ### 第5步:正负因子合并 | 版本 | 笔数 | avg | 胜率 | 盈亏比 | 亏损 | 覆盖 | |------|------|-----|------|--------|------|------| | 四正面因子 | 242 | +10.56% | 79.8% | 2.34 | 49 | 26月 | | 全负面合并 | **144** | **+12.73%** | **88.9%** | **2.67** | **16** | 13月 | ### 第6步:稳健性验证(非过拟合) | 检查 | 笔数 | avg | 胜率 | |------|------|-----|------| | 全样本 | 144 | +12.73% | 88.9% | | 去掉2018全年 | 37 | +10.76% | 83.8% | | 去掉2018-10极端月 | 60 | +9.27% | 78.3% | - 年度分布:2018年107笔(74%,2018-10单月84笔)、2022年24笔(+13.86%/100%独立验证)、其余37笔 - 2022 年独立复现高收益 → 不是单一事件过拟合 - 组合模拟(3槽,扣费):10年 +94.0% / 年化 8.4% / 回撤 8.1% / 执行 27 笔 ### 精选版策略画像 - **10年 144 笔 = 年均 14 笔 = 每月约 1 笔,完全适合手工操作** - 单笔毛利 +12.73%、胜率 88.9%、盈亏比 2.67 - 出场沿用 tp18%/sl8%/25天(后续调优中) ### 待落地 - [ ] 实盘扫描器排序规则:bias60最超跌取10 → 精选因子组合筛选 - [ ] ST 股不排除(仓位控制即可,老莫 2026-08-02 指示) - [ ] 出场参数调优(tp/sl/max_hold 对精选组重新扫描) ### 第6步续:出场参数调优(2026-08-02,网格扫描 tp x sl x hold) 对精选组 144 笔用原始K线重放,扫 tp∈{12,15,18,20,25} × sl∈{6,8,10} × hold∈{20,25,30}: **Top 组合**: | tp | sl | hold | avg | wr | pf | |----|----|----|-----|-----|-----| | **0.25** | **0.10** | **30** | **+15.51%** | **90.3%** | 2.35 | | 0.25 | 0.08 | 30 | +15.45% | 88.9% | 2.74 | | 0.20 | 0.10 | 30 | +14.96% | 91.7% | 2.05 | | 0.25 | 0.06 | 30 | +14.71% | 84.0% | 3.41(盈亏比最优) | **结论**:tp 18→25(利润跑更远)+ hold 25→30(给反弹时间)= 主要提升来源;sl 8-10% 稳健。 **选定参数:tp=25% / sl=10% / max_hold=30天** **最终版稳健性验证**: | 检查 | 笔数 | avg | wr | |------|------|-----|-----| | 全样本 | 144 | +15.51% | 90.3% | | 去2018全年 | 37 | +12.18% | 81.1% | | 2022独立验证 | 24 | +15.01% | 95.8% | | 2024 | 6 | +19.17% | 83.3% | **组合模拟(扣费0.2%往返)**: | 槽位 | 10年总收益 | 年化 | 回撤 | 执行 | |------|-----------|------|------|------| | 3槽 | +135.7% | 11.0% | 10.0% | 27笔 | | 5槽 | +93.3% | 8.4% | 6.0% | 35笔 | | 全参与MC | +43.5% | 4.4% | 0.8% | 98笔 | ### 最终版策略画像(v_mr 精选) - **入场**:6基线条件 + 正面4因子(mom20∈[-20,-14]、rsi_delta≥10、dist_ma20∈[-10,-7]、atr_pct≥4.5)+ 剔除4负面(mkt_adx≥35、OBV<0、bias60<-22、prev_ret60<-32) - **出场**:tp=25% / sl=10% / max_hold=30天 - **10年144笔 = 年均14笔 = 每月约1笔,适合手工** - 单笔毛利 +15.51%、胜率 90.3%、盈亏比 2.35-2.74 - ST 股不排除(仓位控制,老莫指示) ## 12. ⚠️ 结论修正:v_mr 系列不作为弱市实盘策略(2026-08-03 六步方法论全面重审) > 老莫按六步方法论要求重新推导"真正普适的弱市策略"(标准:去2018后 avg>0 + 覆盖≥80月 + 年度正贡献≥7年)。研究结论:**v_mr 家族(含精选版 v_mr_sel)全部不合格,弱市不存在可实盘的选股 alpha**。 ### 12.1 v_mr 基线为何不合格 - 基线 avg +3.34% 靠 **2018 超级熊市 10163 笔(47%)** 撑起;**去 2018 后 avg +2.14%/wr 49.8%**——掷硬币 - 2018 是 A 股十年一遇(上证 3500→2440),深超跌反弹只在此时有边缘,其余年份信号稀疏且收益平庸(2026 年 avg +0.06%) - 本质:v_mr 是"2018 型超级熊市探测器",不是可持续策略 ### 12.2 v_mr_sel(精选版)为何不合格 - 144 笔信号中 **2018-10 三天占 78 笔(54%)**,覆盖仅 14/120 月——完全是一次行情的产物 - 任何因子筛选逃不开 2018:单因子 rsi_delta≥10 去 2018 后 avg +2.49%(回到基线),mom20 去 2018 后 +2.11% ### 12.3 全市场弱市选股穷尽验证(无 alpha) | 逻辑 | 弱市日 20日 avg | 去2018 | 结论 | |------|----------------|--------|------| | 全市场随机(基线) | +0.36% | +0.36% | 掷硬币 | | 深超跌(v_mr) | +0.38% | ≈0 | 无边缘 | | 相对强势(RSI≥50) | ≈0 | ≈0 | 无边缘 | | 收缩突破(DNA) | -0.97% | -0.57% | 负边缘 | | 低PE防御(60日) | +1.18% | +1.86% | 普适达标但年化仅7%,组合3槽-20.7% | ### 12.4 数据支撑的结论 **弱市最好的策略是仓位管理,不是选股**:弱市(大盘MA20下)随机买入 = 趋势市随机买入(无差别),期望≈0。弱市应降仓/空仓,把资金留给 v_next4 趋势市主战场。 - 实盘已实现:strategy_lifecycle 6.5 市场阶段降级(trend_down/choppy 买入降级为"关注") - v_mr/v_mr_sel 仅作为"极端熊市(ADX极高+深超跌)"的期权式参考,不作为常规配置 ### 12.5 方法论教训 - 六步方法论第6步"合格评估"必须包含**普适性硬标准**(去极端年后 avg>0 + 覆盖≥80月 + 正贡献≥7年),只看整体 avg/胜率会被极端年份欺骗 - 回测 10 年含 2018 这种极端年,任何"深跌反弹"类策略都会被拉高指标造成假象——必须做去极端年稳健性检查 ## 13. 12维框架深挖:大盘ADX择时是弱市edge的关键前提(2026-08-03) > 按老莫 12 维分析理论(大盘/行业/个股 × 消息/基本/技术/资金)系统验证,发现第 2 步"个股技术无区分"的根因是遗漏了【大盘技术面】维度。 ### 13.1 核心发现:大盘 ADX 是弱市择股的分层器 全市场 10 年弱市日(大盘MA20下)按大盘 ADX 分桶,60日收益: | 大盘ADX桶 | 样本 | avg60日 | wr | 赢家率(≥26.4%) | |-----------|------|---------|-----|----------------| | <20 | 118670 | +1.63% | 45.6% | 9.8% | | 20-25 | 30113 | -1.24% | 39.6% | 6.3% | | **25-30** | **54202** | **+4.89%** | **51.0%** | **14.7%** | | 30-40 | 74666 | -0.04% | 41.4% | 8.2% | | ≥40 | 85291 | -0.10% | 42.2% | 10.0% | **甜区 = 弱市 + 大盘ADX∈[25,30]**(趋势刚转弱/盘整初期):avg +4.89%(年化≈30%)、wr 51%、赢家率 14.7%,远超其他区间。 ### 13.2 甜区内叠加个股超跌因子(12维:大盘技术 × 个股技术) | 组合 | avg60日 | 去2018 | 正年 | |------|---------|--------|------| | 甜区(基线) | +1.67% | +2.19% | 5/11 | | 甜区+bias60<-20 | +4.77% | +6.78% | 9/11 | | **甜区+bias60<-20+RSI<30** | **+5.04%** | **+5.67%** | **10/11** | ### 13.3 结论与落地建议 - **弱市"深超跌反弹"的 edge 真实存在,但前提是大盘 ADX∈[25,30]**——这是 v_mr 缺失的大盘前置条件(v_mr 用 mkt_mode='any',任何弱市都扫,信号被 ADX≥30 的强跌市污染) - **落地建议**:现有 v_mr 扫描器加入大盘 ADX 门控(仅 ADX∈[25,30] 时扫描),提升单笔质量 - **局限**(诚实):单笔 edge +5.67% 真实但薄,信号密集且无排序因子,组合层面年化仅 3%(2018外)——**不足以上线为独立实盘策略**,价值在"认知 + 门控改进" ## 14. ✅ v_weak_final:六步方法论完整产出的弱市策略(2026-08-03 定稿) > 按老莫六步方法论 + 12维框架(大盘/行业/个股 × 消息/基本/技术/资金)完整执行 1-6 步,产出可推荐弱市策略。 ### 策略定义 | 层 | 条件 | |----|------| | 大盘 | 弱市(sh000001 < MA20)+ 大盘ADX ∈ [25,30](甜区)| | 个股正面 | bias60 ∈ [-35, -20](深超跌但不过深)+ RSI ≤ 25(极度超卖)| | 个股负面剔除 | 5日跌幅 > -3%(剔除阴跌,只留急跌/恐慌盘)| | 出场 | tp=30% / sl=12% / max_hold=40日 | ### 验证结果(10y 全市场 A股) | 指标 | 数值 | |------|------| | 交易笔数 | 2,649 | | 单笔均收益 | **+10.66%** | | 胜率 | **68.4%** | | 正贡献年份 | **9/11**(2017/18/19/20/21/22/24/25/26正,2023略负)| | 去2018 | avg +5.60%(967笔/37月)| | 组合5槽(扣费) | +115% / 年化8.8% / 回撤32% | ### 六步方法论推导链 1. **赢家**:弱市日60日≥+26.4%(p90) = 35,490信号/100月覆盖(每年都有,非2018独有) 2. **共同因子**:12维框架发现大盘ADX是分层器(ADX25-30 avg+4.89% vs 其他区间≈0);个股技术单独无区分(漏维度) 3. **全市场筛**:甜区+深超跌+RSI<30 → 7,254信号 avg+5.19% 4. **负面因子**:筛选集内亏损vs盈利对比 → 过深bias60(<-35)/RSI偏高(>25)/5日浅跌(r5f>-3) 是亏损共性 5. **正负合并**:三负全剔 → 2,651信号 avg+9.84%/wr66.1% 6. **调参**:出场tp25→30/sl10→12/hold40 → avg+10.66%/wr68.4% ### 与 v_mr 对比(全面胜出) | 指标 | v_mr | v_weak_final | |------|------|-------------| | avg | +3.34% | **+10.66%** | | wr | 53.6% | **68.4%** | | 去2018 | +2.14%(掷硬币) | **+5.60%(真实)** | | 组合年化 | 4.6% | **8.8%** | ### 关键认知(可复用) - **弱市选股 edge 真实存在**,前提=大盘ADX∈[25,30](趋势刚转弱的盘整期),这是 v_mr 缺失的大盘前置 - **负面剔除 > 正面排序**:筛选集内"亏损票共性"(过深/RSI偏高/阴跌)比"挑最好"更有效 - 信号适中(年均265笔,每月约22笔,部分可人工) ## 15. 仓位研究:等权6槽自然序为最优(2026-08-03 全面测试) > 对 v_weak 做科学仓位研究(非拍脑袋):强度评分单调性验证 + 6 种仓位方案 × 3-8 槽全扫描 + 排序选票对比 + MC 随机对照。 ### 15.1 强度评分单调性(分级仓位的前提验证) r5f/RSI/bias60 合成强度分,十等分:D1(+1.24%/41%) → D10(+18.17%/90.5%) **完美单调**(差距15倍)。 ### 15.2 分级仓位 × 槽位 全扫描结果 | 方案 | 最优槽 | 年化 | 总收益 | 回撤 | 收益/回撤 | |------|--------|------|--------|------|-----------| | **等权(基准)** | **6** | **9.6%** | **131%** | 27.6% | **4.7** | | 等权 | 5 | 8.8% | 115% | 32.1% | 3.6 | | 连续Kelly | 5 | 7.5% | 92% | 29.2% | 3.2 | | 两档0.5/1.5 | 5 | 5.0% | 56% | 26.7% | 2.1 | | 三档0.3/1/2 | 5 | 4.9% | 54% | 27.9% | 1.9 | **结论:等权 > 任何分级加权**。boost 加权虽降回撤(32%→24-27%),但收益损失更大(115%→53-56%)。强度分单调但组合层面分级无益。 ### 15.3 排序选票对比(关键反直觉发现) | 选票方式 | 总收益 | 年化 | |----------|--------|------| | **自然序(插入序)** | **115%** | **8.8%** | | score高分优先 | 17% | 1.7% | | score低分优先 | 4% | 0.5% | | MC随机(30次均值) | 87% | 7.0% | **自然序 >> 任何排序**:v_weak 信号按日期自然排列时,同天先出现的恰是更强超跌(隐式质量排序)。高分优先排序反而破坏入场节奏。 ### 15.4 最终仓位策略 - **等权 6 槽**(100万/6≈16.7万每票),**自然序入场**(不做 score 排序、不做 boost 分级) - 10年:总收益+131% / 年化9.6% / 回撤27.6% / 收益回撤比4.7 - 单笔:avg+10.66% / wr68.4% / 去2018+5.60% / 正年9/11 ## 16. 回撤优化:每月≤8信号(2026-08-03,回撤27.6%→19.4%) > 用户质疑回撤27.6%过大。系统诊断 + 全面测试后找到最优方案。 ### 16.1 回撤根因诊断 - 最大回撤区间 2023-02 ~ 2024-08(18个月阴跌),312笔 wr仅36.2% - 打击点:2024-01微盘流动性危机(22笔全灭 wr0%/avg-12%)、2023-03(13%)、2024-05(20%) - 结构性缺陷:甜区(ADX25-30)持续出手,但2023-2024是阴跌市,RSI≤25深超跌无反弹,止损-12%反复被打 ### 16.2 降回撤方案全测试(诚实记录) | 方案 | 结果 | |------|------| | 大盘RSI回升过滤 | ❌ 信号2649→394,avg+10.66%→+3.01%(甜区大部分日不回升)| | 大盘MA20斜率 | ❌ 回撤期纹丝不动 | | 收紧止损12→8 | ❌ 无改善(回撤是环境非单笔)| | 高槽位8-20 | ❌ 回撤仍27-32%,年化反降 | | **同月信号≤8** | ✅ **回撤19.4%,年化9.6%→16.7%** | ### 16.3 最终方案:v_weak_8 - **每月最多8个信号**(自然序=最强超跌优先),**等权6槽** - 回测:301笔 / 组合6槽 +308% / 年化15-16.7% / **回撤19.4%** / 收益回撤比15.9 - 单笔 avg+4.83% / wr54.8% / 去2018 +6.00%(236笔/37月) / 正贡献10/11年 - 每月8笔完全人工可操作 ### 16.4 认知 - 深超跌抄底的**回撤来自集中出手**而非单笔亏损——同月限8让资金不"一篮子抄底",收益/回撤4.7→15.9 - 择时过滤(大盘RSI/斜率)对阴跌市无效,2024-01微盘危机大盘指标是假回升 ## 17. 入场修正:只买"下方有支撑"的票(2026-08-03,老莫洞察) > 老莫指出:"支撑太远的票根本不该买"。验证并落地。 ### 17.1 洞察验证(距20日低点分桶) | 距20日低点 | n | avg | wr | |-----------|-----|------|-----| | <5%(近支撑)| 2258 | +10.93% | 70.0% | | 5-10% | 351 | +9.73% | 59.5% | | 10-15% | 36 | +4.38% | 55.6% | | 15-25% | 4 | -2.04% | 50.0% | **结论**:支撑越近越好。距前低<5%的票(跌到近期底部、下方有承接)反弹最有力(+10.93%/wr70%);>10%的还在下跌途中、无支撑(avg崩至+4%以下)。 ### 17.2 修正后入场条件 原 v_weak 条件 + **距20日低点 <5%**(剔除"还在下跌途中、下方无支撑"的票) ### 17.3 修正后表现 | 指标 | 原v_weak_8 | 修正版 | |------|-----------|--------| | 单笔 avg | +4.83% | **+5.13%** | | 胜率 | 54.8% | **57.5%** | | 去2018 | +6.00% | **+6.34%** | | 正贡献年 | 10/11 | 10/11 | | 组合6槽 | 310%/16.8%/19.4% | **310%/15.1%/19.4%** | ### 17.4 止损结论(前文S1/S2测试的教训) - 弱支撑S1距入场仅1.6%→wr崩至17.9%(太近,一买就被扫) - 强支撑S2可能在-20~-40%→最大单亏-41.6%(太远=没止损,扛单扛到死) - **深超跌票下方无可靠技术支撑,止损用固定-12%(回测最优),入场用"距前低<5%"筛选确保有承接** ## 18. 止损+RR 正式定稿(2026-08-03,RR维度验证) > 老莫要求:①支撑太远不买(已落地§17);②必须考虑RR(Risk/Reward盈亏比)。本节省完整验证。 ### 18.1 止损×RR 全组合扫描(7止损 × 3RR = 21组合,每月≤8) | 止损 | RR | avg | wr | 去2018 | max亏 | |------|-----|-----|-----|--------|-------| | **固定-12%** | **2.5** | **+5.13%** | 57.5% | **+6.34%** | -12.0% | | 固定-12% | 2.0 | +5.11% | **58.9%** | +6.23% | -12.0% | | 固定-12% | 3.0 | +5.17% | 56.5% | +6.22% | -12.0% | | ATR×3 | 3.0 | +4.61% | 57.2% | +5.51% | -22.4% | | 前低-8% | 3.0 | +4.24% | 51.0% | +5.04% | -12.2% | | 前低-6% | 3.0 | +3.73% | 48.3% | +4.40% | -10.3% | ### 18.2 为什么"跌破前低止损"不如固定-12%(诚实结论) - v_weak 入场要求距前低<5%(§17),跌破前低止损距离仅4-8% - 深超跌高波动票的正常波动就达4-6%,支撑止损太紧频繁被扫(wr 42-53% vs 固定58.9%) - **支撑筛选已在入场侧完成(确保下方有承接),止损侧用固定-12%控制单笔风险** ### 18.3 正式止损+止盈逻辑 - **止损**:入场价 -12%(盘中触发即出) - **止盈**:入场价 +30%(= RR2.5 × 12%止损距离,满足盈亏比≥2:1要求) - **超时**:40个交易日按收盘平仓 - **同日冲突**:止损优先 - **RR 验证**:止盈/止损 = 30/12 = 2.5 ≥ 2 ✅ ### 18.4 入场筛选(完整) 弱市(MA20下) + ADX∈[25,30] + bias60∈[-35,-20] + RSI≤25 + 5日急跌≤-3% + **距20日低点<5%(下方有支撑)** + 每月≤8 + 等权6槽 ## 19. 三次评估流程优化:入场重评确认(缩量+收阳)(2026-08-03) > 按老莫"三次评估流程"(选股→入场重评→出场重评)重构回测,找到入场重评的确认条件。 ### 19.1 三次评估回测探索 - 3stage初版(等回调买入): wr 48.2%——等回调=等继续跌,错过反弹不回调的票 - 3stage实盘对齐(深套/弱势豁免+swing MA10出场): wr 54.9%——MA10波段对深超跌高波动太敏感(97%被swing平掉) - 结论: v_weak深超跌反弹票不适合实盘swing/MA10出场体系,需简单出场(tp/sl/time) ### 19.2 入场重评确认最优解(信号日12维确认) | 确认条件 | n | avg | wr | 去2018 | |----------|-----|-----|-----|--------| | 基线(信号日直接买) | 292 | +5.13% | 57.5% | +6.34% | | 当日收阳 | 204 | +4.43% | 54.4% | +6.40% | | 缩量<1.0 | 221 | +2.82% | 53.8% | +3.56% | | **缩量+收阳** | **136** | **+7.00%** | **61.8%** | **+8.46%** | | RSI3日回升 | 115 | +3.35% | 48.7% | +4.82% | | 大盘RSI<45 | 172 | +2.86% | 47.7% | +4.57% | **最优: 缩量(<1.0)+收阳 双确认**——缩量=抛压衰竭, 收阳=资金进场, 过滤弱信号。 ### 19.3 v_weak 最终形态(三次评估) - Stage1选股: 甜区(弱市+ADX25-30) + bias60∈[-35,-20] + RSI≤25 + 5日急跌≤-3% + 距前低<5% + 每月≤8 - Stage2入场重评: **当日收阳 + 缩量(<1.0)** 确认才买入 - Stage3出场: 固定 tp30%/sl12%/hold40(简单出场,不适合swing/MA10) - 结果: 136笔/avg+7.00%/wr61.8%/去2018+8.46%/正年8/11/6槽ret163%/dd18.7% ## 20. C 机器学习探索:时序外验证(2026-08-03) > 老莫要求 C(机器学习)在三次评估框架内试,不偏离实盘路径。用纯Python逻辑回归(无sklearn,防环境依赖)。 ### 20.1 设计 - 样本: 2260 个 v_weak 候选(甜区+深超跌+RSI+急跌+距前低<5%),12维特征 - 标签: 未来40日是否达+30%止盈(正例率34%) - 时序外: 前70%(2016-2023)训练, 后30%(2024-2026)测试——防过拟合 ### 20.2 结果 | 概率阈值 | 精确率 | 召回率 | 预测买入 | |----------|--------|--------|----------| | 0.45 | **0.511** | 0.446 | 186笔 | | 0.40 | 0.483 | 0.596 | 263笔 | | 基线正例率 | 0.34 | — | — | **时序外有效**: 逻辑回归把止盈精确率从基线34%提到51%(+17pp),非过拟合。 ### 20.3 特征权重(新洞察) | 特征 | 权重 | 含义 | |------|------|------| | mkt_adx | **+0.695** | 大盘ADX越高越倾向止盈(甜区内接近30上沿反弹更确定)| | r10f | **-0.278** | 10日跌越深越好(恐慌释放充分)| | r20f | +0.195 | 20日动量微正(企稳)| | dist_lo20 | +0.187 | 距前低略远(站稳)| | rsi_delta | -0.150 | RSI回升反而不利(已反弹的追高风险)| ### 20.4 结论 - ML 时序外有效(51% vs 34%),但**不优于"缩量+收阳"硬规则**(wr 61.8%) - 硬规则可解释、无模型维护成本,**v_weak 保持硬规则** - ML 发现的新因子(mkt_adx接近上沿、r10f深跌、rsi_delta为负)作为未来增强方向记录 ## 21. 仓位优化:每月≤30 + 等权8槽(2026-08-03) > 老莫指出136笔/10年少、回撤18.7%高、问仓位控制影响。系统扫描 每月上限×槽位 矩阵。 ### 21.1 仓位矩阵(每月上限 × 槽位) | 月上限 | n | 槽 | 年化 | 总收益 | 回撤 | 收益/回撤 | |--------|-----|-----|------|--------|------|-----------| | 8 | 136 | 6 | 12.0% | 163% | 18.7% | 8.7 | | 8 | 136 | 8 | 12.2% | 166% | 19.3% | 8.6 | | **30** | **234** | **8** | **12.8%** | **178%** | **16.4%** | **10.9** | | 30 | 234 | 10 | 12.5% | 172% | 17.5% | 9.9 | | 5 | 100 | 4 | 10.9% | 142% | 20.4% | 6.9 | **仓位结论**:8槽最优。4→8槽: 年化+2pp, 回撤-4pp, 收益/回撤6.5→10.9。等权分散是核心。 ### 21.2 最终 v_weak 配置 - 每月≤30 + 等权8槽 + 缩量收阳确认 + tp30/sl12/40 - 234笔/10年(年均23笔) / avg+7.17% / wr62.4% / 去2018+8.02% / 正年8/11 - 组合8槽: +178% / 年化12.8% / 回撤16.4% / 收益回撤10.9 ### 21.3 对比(解决三个质疑) | 指标 | 原(月8/6槽) | 最优(月30/8槽) | |------|------------|---------------| | 笔数 | 136 | **234**(+72%) | | 年化 | 12.0% | **12.8%** | | 回撤 | 18.7% | **16.4%** | | 收益/回撤 | 8.7 | **10.9** | ## §22 消息面补数据研究:同花顺 API 定向拉取能力(2026-08-04) > 老莫提醒:现代 web 应用是"拉到最后触发拉取下一批"(无限滚动),不是"下一页"翻页。且做过的事要记录(§ + 代码块规范)。本节固化消息面补数据的研究结论。 ### §22.1 同花顺 timeline API 定向拉取能力(实测验证) **接口**:`https://news.10jqka.com.cn/timeline_web/web/v1/news/list` **分页参数**: - `marketId`: 17=上交所(6开头), 33=深交所(0/3开头) - `code`: 6位股票代码 - `size`: 每页条数(默认20,**实测可用100**,减少请求数) - `offset`: **秒级时间游标**(publishTime/1000),语义=**严格排他上界**(返回该时间戳之前的新闻) **实测确认(600519 茅台)**: - offset=2024-06-01 00:00 → 返回 2024-05-31 21:49:29 及更早新闻(**offset 之前的**) - offset=某条新闻的确切秒 → **该新闻自身不被返回**(严格排他) - 翻页连续无重叠无缺口(page1末 05-30 08:02:19 → page2首 05-30 06:41:30) - **历史深度可回溯到 2011 年**(offset=2015 时返回 2011/2013/2014 新闻) - `startTime/endTime/start/end/beginTime` 等参数**全部无效**——API 只支持 offset 单边上界 **窗口化拉取算法**(用于定向补某时间段新闻): 1. offset = 窗口终点 + 1秒(排他上界,包含终点时刻) 2. 往回翻页(size=100 减少请求) 3. 当本页最后一条 publishTime < 窗口起点 → 停止 4. 过滤只保留 [起点, 终点] 区间内的新闻 5. 实测:6 周窗口 19 页(size=20)→ size=100 只需 ~4 页,**0 条越界** ### §22.2 消息面补数据方案:定向拉取(非全量) **原则**:不全量补全市场新闻,而是**先定赢家波段,只补相关股票在相关时段的消息**。 **首批研究对象**:涨幅≥80% 的极端波段,每年取涨幅前 20 → **220 个波段,210 只股票**,年份分布均衡(2016-2026)。 **定向窗口**:波段起点前 7 天 ~ 起点后 40 天(约 47 天),覆盖入场前后的消息面。 **执行结果**:`news_backfill_window.py` 已完成首批拉取: - 210 只 × 波段窗口 - **共入库 9471 条新闻**(stock_news 表,source=同花顺iNews) - 单票窗口拉取约 3-8 页(size=20),全程约 20-30 分钟 ### §22.3 12 维消息面可补的结论 | 维度 | 数据源 | 历史覆盖 | 状态 | |------|--------|---------|------| | 个股消息面 | 同花顺 ths_news.py | **2011+(实测)** | ✅ 可补 | | 个股消息面(近期) | 东财 search-api | 近6个月 | ⚠️ 仅近期 | | 大盘消息面 | macro_context_collector.py | 仅实时 | ❌ 硬缺口 | | 行业消息面 | signal_news | 仅实时 | ❌ 硬缺口 | **消费端**:strategy_lab.py 的 `prepare_news_context()` + `news_mult=2.0` 已启用,补数据直接进回测增益。 ### §22.4 已固化的采集脚本 ``` /home/hmo/MoFin/deploy/profile-scripts/ths_news.py # 同花顺翻页采集(全量backfill+daily) /home/hmo/MoFin/deploy/profile-scripts/news_collector.py # 东财翻页采集(近6个月) /tmp/news_backfill_window.py # 定向窗口拉取(赢家波段相关时段) ``` ## §23 消息面分析最终结论:数据补全但无选股价值(2026-08-04) > 老莫指导补全消息面数据(4001只赢家波段股×相关时段,401万条新闻)。全量分析后结论:**消息面不可用作选股因子**。 ### §23.1 全量消息面数据 - 4001 只赢家波段股 × 波段起点前后窗口(起点-7天~+40天) - 401 万条新闻入库(stock_news 表) - 覆盖:同花顺iNews(主)+ 东财(近6月补充) ### §23.2 消息面 vs 波段收益(全量,诚实结论) | 情绪 | n | avg_gain | 判断 | |------|-----|---------|------| | 利好(positive) | 198 | +52.8% | 无显著优势 | | 中性(neutral) | 941 | +56.4% | 反而最高 | | 利空(negative) | 153 | +49.5% | 仅略低 | | 无新闻 | ~4100 | ~51.5% | 基线 | **关键发现**: 1. **新闻情绪与波段收益几乎无关联**——利好52.8% vs 利空49.5% vs 中性56.4%,差异不显著 2. **之前"有新闻波段+126.5%"是小样本噪音**(248只子集),全量后消失 3. **反向因果**:大涨的票更可能有新闻(新闻是结果不是驱动) ### §23.3 12维消息面最终定位 - ✅ **数据已补全**(消息面维度不再缺) - ❌ **不能作为选股筛选因子**(无统计显著关联) - ⚠️ **可作辅助参考/排除**:波段起点有重大负面公告(监管处罚/业绩暴雷)的谨慎——但数据验证排除信号也弱 ### §23.4 方法论教训 - **小样本假象**:248只子集的"新闻+大涨"关联在全量后消失——必须先全量再下结论 - **反向因果陷阱**:消息是涨的结果不是原因,不能用"涨得多的有新闻"反推"有新闻的会涨" - **数据补全 ≠ 策略价值**:补了400万条新闻,证明消息面在波段选股上无稳定规律——这是有价值的研究结论(证明此路不通) ## §24 新闻与上涨的时间关系:先导反而降低收益(2026-08-04) > 老莫问:新闻发布时间和上涨开始时间有什么关系?分析发现:**新闻更多是滞后报道,先导新闻反而降低收益**。 ### §24.1 新闻发布时间与波段起点的时间差分布 | 时间关系 | 占比 | 含义 | |----------|------|------| | 新闻在先>7天 | 33.3% | 新闻发布7天以上后股票才涨(先导)| | 新闻在先1-7天 | 10.2% | 先导 | | 新闻当天 | 2.2% | 引爆 | | 新闻在后1-7天 | 12.5% | 滞后报道 | | 新闻在后>7天 | 41.8% | 滞后报道 | **平均时间差 -1.5天(新闻略滞后)**;先导43.5% vs 滞后54.3%。 ### §24.2 先导新闻数与收益的关系(关键发现) | 先导新闻数 | avg_gain | |-----------|---------| | **无先导** | **+59.5%** | | 1条先导 | +48.8% | | 2条先导 | +49.7% | | 3+条先导 | +49.9% | | **纯滞后(无先导)** | **+64.6%** | **结论**: 1. **无先导新闻的波段收益最高(+59.5%)**——先导新闻不但不预测大涨,反而**抑制收益**(有先导49.8% vs 无先导59.5%) 2. **纯滞后(新闻只在涨后报道)的波段收益最高(+64.6%)**——再次证明"新闻是涨的结果" 3. **先导新闻越多,收益略降**——新闻密集=高关注=拥挤交易,推高后回落 ### §24.3 消息面不能作选股因子的三重铁证 1. **§23**:有新闻/无新闻收益无差异(全量数据) 2. **§23**:利好/利空情绪无显著差异 3. **§24**:**先导新闻反而降低收益**——"没新闻盯上的票涨得更猛" ### §24.4 这解释了 v_weak 为什么用技术面能赚钱 v_weak 用"深超跌+缩量+收阳"选的是**没被新闻盯上的超跌票**(低关注度、无先导新闻、非拥挤交易),这些票反弹空间大。新闻先导的票是高关注拥挤交易,容易冲高回落。技术面避开"新闻拥挤度",正是 v_weak 的优势来源。 ## §25 卖点研究:波段终点因子画像 + 出场机制验证(2026-08-04) > 老莫质疑:①Stage3 机械出场(tp30/sl12/40)是否合理、是否符合实盘"卖前12维重评"流程? > ②v_next4 先于六步法/12维框架,是否还有调优空间?③v_weak 真的是最优吗? > 核心提醒:研究要准确研究最佳买卖点(可多个/分仓)的具体因子,不要机械划百分比/时间区间硬凑。 ### §25.1 波段终点数据重建(58135 波段补全终点画像) - 之前 wave_starts.json 只存波段**起点**因子(买入点画像),无终点。 - 本次重建 /tmp/wave_ends.json:58135 个 zigzag(8%) 波段补全**终点因子**: 结束日期/价/涨幅/持续天数 + 终点处 rsi/bias20/bias60/量能(surge)/5日涨幅/连涨天数/距20日高/大盘ADX/大盘RSI + 峰后5/10/20/40日回撤 + 20日内是否创新高(假顶标记)。 - 波段终点画像(中位):涨幅+42.2%、持续22天、RSI 70.5、bias20 +19.6%、量能1.42(放量见顶)、连涨3天、大盘ADX 33.7。 - **峰后回撤(从峰顶)**:5日-10.8%、10日-13.5%、20日-16.7%、40日-21.0% —— zigzag 峰是真实的顶,卖出点有依据。 - **假顶率 32%**(20日内创新高),真顶 68%。 ### §25.2 真顶 vs 假顶:单因子无法区分(诚实结论) | 因子(中位) | 真顶(68%) | 假顶(32%) | |---|---|---| | RSI | 70.4 | 70.7 | | bias20 | +19.3% | +20.5% | | 量能surge | 1.42 | 1.41 | | 连涨天数 | 3 | 3 | | 大盘ADX | 33.6 | 34.4 | - **单因子在"峰顶那一刻"分不出真假顶**——顶是事后定义的(zigzag 需要 8% 回落确认)。 - 但这不代表卖点研究失败:**真正的决策点不是 zigzag 峰顶,而是"涨到+30%那一刻"**(tp 触达时)。 ### §25.3 +30%时刻分析(58133 样本):分仓卖出的数学依据 - 73.3% 的波段在 +30% 后还会创新高(峰在+30%后),平均还能涨 18.6%,中位 10.1%。 - 但 post_min20 中位 -9.2%,46% 的票 20 日内回撤超 -10%。 - **数学**:全卖在+30% = 放弃 73% 票的后续涨幅(中位+10.1%);全不卖 = 46% 回撤超-10%。分仓可两头吃。 - **涨速是强区分因子**:≤5天到+30% 峰后还能涨 21.1%(快涨=强动能,不该全卖);>30天仅 9.3%(慢涨=弱动能,该落袋)。 - **bias20 强区分**:<10% 回撤小(-6.1%);≥25% 弹性大但回撤深(-13.1%)。 - **无效因子**:RSI@+30%(9.9~10.1%全平)、量能、连涨天数——在+30%时刻无区分度。 ### §25.4 v_weak 234笔实单的卖点真相 - 只有 68/234(29%)触达+30%——v_weak 选的是**深超跌慢反弹**票,多数靠 time(40日) 或 stop 出场。 - 触达+30%的中位耗时 29.5 天(vs 全市场 21.4 天)——**v_weak 的票没有"快涨"类别**。 - 触达后:60日峰值收益中位 +50.5%(一半的票还能冲+50%),但 20日回撤 -10.7%。 ### §25.5 出场机制严格回测(v_weak 信号全量 + 每月30 + portfolio_sim) | 出场 | 单笔avg | 6槽 | 8槽 | 10槽 | |---|---|---|---|---| | **机械 tp30/sl12/40(现版)** | 6.91% | **194.7%** | **181.4%** | **170.4%** | | 分仓(半仓tp+半仓trail8%) | 7.01% | 173.9% | 160.8% | 157.1% | | 全移动止盈 trail8% | 7.09% | 169.1% | 152.0% | 152.9% | - **机械出场在 6/8/10 槽全部最优**(非实验假象,三口径一致)。 - 原因:**组合资金效率主导**。移动止盈/分仓延长持仓,8槽组合资金周转率下降,复利受损。 - **单笔最优 ≠ 组合最优**:v_weak 深超跌慢反弹票,+30%后继续持有的期望收益(中位+10%但回撤-11%)不足以补偿资金占用。 - **结论:对 v_weak 这类票,+30% 机械止盈就是组合最优卖点**——不是硬凑因子,是资金效率的自然结果。 ### §25.6 入场侧验证(严格对齐复现) - 严格对齐 v_weak 三次评估流程复现:信号日收阳+缩量确认 → 235笔/avg 6.91%/wr 63.4%(与库里 234笔/7.17%/62.4% 一致)✅ - 对比"次日确认"(4.56%)和"无确认"(3.56%):**信号日确认是最优**——入场侧已是最优。 - 全市场(无甜区)扫描发现:起点收涨 avg 5.27% vs 急跌 3.30%,放量 1.0-1.2 优于缩量——但**叠甜区后贴底+缩量仍然最优**(甜区是前提)。 ### §25.7 对老莫三个质疑的回答 1. **Stage3 机械出场"不合理"的质疑**:经严格回测,机械出场在组合口径下**确实最优**(资金效率论据)。但实盘"12维出场重评"的价值不在单笔收益,而在**风险控制**(大盘转坏/消息面恶化时提前离场)——组合回测无法体现,需实盘验证。 2. **v_next4 调优空间**:确认存在——它先于方法论,出场是 swing MA10 机械规则,从未做过终点因子研究;10y 仅103笔/5槽cagr 4.6% 弱于 v_weak(10.7%)。按六步法重走 v_next4 是下一步(趋势市赢家的买卖点)。 3. **v_weak 是否最优**:入场侧已最优(信号日确认验证);出场侧组合口径下机械已最优。**剩余优化空间在 v_next4 重做,不在 v_weak 微调**。 ### §25.8 数据与脚本位置 - /tmp/wave_ends.json(58135波段终点)、/tmp/tp30_moments.json(58133个+30%时刻) - /tmp/wave_ends.py(终点重建)、/tmp/tp30.py(+30%时刻)、/tmp/strict_cmp.py(严格对齐) - /tmp/final_cmp.py、/tmp/scale_cmp.py(组合口径出场对比) ## §26 v_next4 六步法重做研究(2026-08-04) > 老莫质疑:v_next4 先于六步法/12维框架诞生,是否有调优空间? > 结论:有——但不是换入场因子(赢家采样陷阱),而是调优信念权重结构。 ### §26.1 趋势市波段起点画像(15639 个,大盘MA20上方的赢家) - 趋势市赢家起点特征:**贴MA60上方(bias60≈-2.7%) + RSI中等(46.6) + 大盘ADX低(20.7,趋势酝酿期) + 大盘RSI健康(56.7)**——是"趋势回踩/启动点",不是超跌抄底。 - 与弱市起点(RSI 37/深跌-10%/大盘ADX 47)完全不同——**两个市场状态需要完全不同的选股逻辑**,验证了 v_weak(弱市)+v_next4(趋势市) 分工的必要性。 ### §26.2 赢家采样陷阱(重要方法论教训) - 从趋势市赢家起点归纳三因子:bias60[0,5)+r20f[0,5)+shrink[1.0,1.2) → 赢家集内涨幅均值165%/中位114%/p90 329%/大赢家75%。 - **但全市场实时筛股完全失败**:avg -0.3%/wr 40%(信号爆炸8万+,正例率被稀释)。 - 原因:wave_starts 是**事后采样**(只含最终涨≥30%的波段起点),"先知道答案再找特征"。 - **教训:赢家采样归纳的因子必须用全市场实时回测验证才能落地**。v_weak 能成功是因为甜区(大盘ADX 25-30)先压缩了宏观状态。 ### §26.3 v_next4 实单103笔因子分析(有效发现) | 组合 | n | avg | wr | 解读 | |---|---|---|---|---| | dist_ma20[5,10] × ma20_slope<-2 | 12 | 24.64% | **92%** | 回调中突破(最强) | | RSI 60-70 × dist_ma20[10,15] | 19 | 32.02% | 68% | 强势突破买点 | | RSI 60-70 × dist_ma20[5,10] | 13 | -5.49% | **31%** | 追高陷阱(RSI高+贴均线) | | RSI 50-60 × dist_ma20[5,10] | 35 | 13.62% | 66% | 回调企稳买点 | - 但全市场验证单因子组合同样失败(avg -0.6~-3.2%)——**v_next4 的 alpha 不在单因子,在 v8.1 评分体系+信念叠乘**。 ### §26.4 信念叠乘是真正 alpha | boost | n | avg | wr | |---|---|---|---| | **4.0(3+信念命中)** | 26 | **25.89%** | **92%** | | 2.0(1-2信念) | 44 | 10.33% | 61% | | 1.0(无信念) | 33 | 8.24% | 42% | - **flow_delta>0**:10笔 100% wr(已验证最强信念) - **行业ADX>25**:28笔 wr89%(有效,但可能限制收益弹性) - **DNA**:24笔 wr62% vs 无 63%——**几乎无效,DNA×2 应降权** ### §26.5 出场侧:swing 波段体系有效 | 出场类型 | n | avg | wr | 中位 | |---|---|---|---|---| | swing_re(破MA10出→收回再进)| 21 | **32.79%** | **86%** | 25.37% | | swing_out(破MA10出)| 42 | 11.18% | 67% | 5.56% | | stop | 40 | 6.04% | 48% | -3.00% | - 23 笔 >30% 大赢家(含 181.3%/157.7%)主要来自 swing_re 再进场——**波段体系捕捉多波行情的能力是核心价值**。 ### §26.6 结论:v_next4 优化方向(六步法第6步:细调参数) 1. **DNA×2 信念降权**(无区分度 62%vs63%)——节省的权重给 flow_delta/行业ADX 2. **flow_delta>0 强化**(100%wr 最强) 3. **行业ADX>25 维持**(wr89% 有效)但验证是否限制弹性 4. **boost 封顶结构优化**(4.0 已验证 wr92%,可探索提高封顶或中间档) 5. **swing 出场保留**(大波段捕获机制,优于固定出场) 6. 不做:换入场单因子(已证明赢家采样陷阱) ## §27 v_next4 适用范围真相 + 信念权重调优(2026-08-04) > 变体调优过程中发现比调优本身更重要的事实:**v_next4 从未经过全市场验证**。 ### §27.1 重大发现:v_next4 的全部历史验证都在 267 池上(非全市场) - 备份时间线(data/backups/):stock_daily 代码数 07-29=272、07-30~08-01=520、**08-02=4266(全市场扩表)**。 - v_next/v_next3/v_next4 的全部 2y/5y/10y 回测(2026-07-30~08-02 凌晨)都跑在扩表前的小库上: - 当时 stock_daily 520 codes 中 ~253 只是港股(5位0开头),universe='a' 过滤后 **A 股仅 ~267 只(204 科创板 + 36 沪市 + 其他)**。 - 即 MoFin 实盘跟踪池——与实盘 watchlist_stocks 的构成一致(688/603 为主)。 - strategy_research 记录佐证:v_next4 全部记录 total_stocks_screened=267;v_mr(08-02 10:18 扩表后)screened=4013。 ### §27.2 全市场复跑:v8.1 评分体系池外完全失效 | 口径 | trades | wr | avg | 3槽组合 | full ret | |---|---|---|---|---|---| | 池内复现(261只) | 108 | 61.1% | 12.65% | +23.1% | +79.5% | | 库里记录(267池) | 103 | 63.1% | 13.59% | +57.6% | +81.6% | | **全市场(4001只)** | **1427** | **35.9%** | **2.65%** | **-34.3%** | +36.6% | - 池内 vs 全市场:wr 61%→36%、3槽组合 +23%→**-34%**——v8.1 的 edge 严格依赖跟踪池的票质(科创板+沪市大盘)。 - 池内复现与库里记录的微小差异(108 vs 103 笔)来自 08-04 新闻回填(新闻信念因子全周期可用性改变)。 - **结论:v_next4 是"池内有效策略",不是"全市场策略"。组合页数字(103笔/63.1%)是池内口径——对实盘(跟踪池=生产范围)有效,但不能外推。** ### §27.3 信念权重变体调优(池内 10y,内部一致口径) | 变体 | 3槽 ret | 3槽 dd | full ret | full dd | |---|---|---|---|---| | v_next4 基准 | 23.1% | 23.4% | 79.5% | 5.9% | | A: DNA×1 降权 | 20.4% | 21.9% | 75.7% | 3.5% | | B: flow×3 强化 | 28.6% | 23.4% | 79.9% | 5.9% | | C: cap×6 提高 | 23.1% | 23.4% | 80.5% | 5.9% | | D: 三者组合 | 25.7% | 21.9% | 78.0% | 3.5% | - **DNA 降权反而变差**(full 75.7% vs 79.5%)——§26 的"DNA 无区分应降权"被 106 笔噪声误导:DNA 虽不区分胜率,但 ×2 仓位对收益有正贡献。**DNA 权重维持 ×2**。 - **flow×3 是唯一正差异**(3槽 +5.5pp),但 full 口径无差异(79.9% vs 79.5%)——疑似噪声,108 笔样本不足以确认。 - cap×6 无影响(封顶×4 极少触发)。 - **结论:108 笔样本下所有变体差异都在噪声范围内,信念权重无显著调优空间。v_next4 现有配置即为局部最优。** ### §27.4 对组合策略的修正认知 1. **v_weak(弱市)**:全市场验证(4007只 screened)✅ 证据强度高 2. **v_next4(趋势市)**:仅池内验证(267只)⚠️ 但实盘扫描范围=跟踪池,池内数字对实盘有效 3. **两策略验证口径不对称**——v_next4 若要声称"全市场趋势策略",需要在全市场上重新推导(v8.1 评分在全市场失效,需重构);若实盘范围就是跟踪池,则现有数字可用 4. **行动项**:组合页 v_next4 卡片应标注"适用池:系统跟踪池(267只)";v_next4 全市场化的重构是独立的后续课题(如果要的话) ## §28 市场周期分策略方案评估(2026-08-04) > 老莫问题:分市场周期(牛/熊/震荡)采取不同策略的方案是否正确?能否更细分?能否拓展到行业/概念粒度? ### §28.1 赢家口径(58135 波段起点):ADX 细分差异小 - 大盘MA20上:各 ADX 桶波段涨幅 54.5~57.2%(全平);MA20下:48.1~52.2%(全平)。 - 上 vs 下有 ~5pp 差异(55.9% vs 50.9%)——**主分类(上/下)有效,ADX 细分在赢家层面无增量**。 ### §28.2 信号口径(任意买入前瞻收益,400股采样):细分有真实价值 | 格子 | r60均值 | r60胜率 | 解读 | |---|---|---|---| | 下+ADX15-20 | **-3.72%** | **35.8%** | 下跌中继,接飞刀区(最危险) | | 下+ADX25-30 | +0.49% | 42.6% | v_weak 甜区 | | 下+ADX>=40 | **+3.51%** | **48.9%** | 恐慌极值,均值回复区(基准最好) | | 上+ADX20-25 | +1.07% | 46.1% | 趋势酝酿 | | 上+ADX>=40 | +0.47% | 43.1% | 强趋势中 | - **格子间 r60 差距 7pp**——信号口径下细分有真实信息量。 - **现有 3 分类(trend_up/choppy/trend_down)的问题**:trend_down 把"下跌中继"(下+15-20,r60 -3.7%)和"恐慌极值"(下+>=40,r60 +3.5%)混为一谈——这两个状态风险收益完全相反。 - **结论:方案方向正确(按周期分策略),但弱市侧应加 ADX 子状态**:下+15-20=禁买区、下+25-30=v_weak甜区、下+>=40=极值观察区(潜在新策略空间)。 ### §28.3 行业粒度:池内证据强,全市场数据缺失 - 池内样本(259只有行业映射的票):**M下+S下+行业ADX<20 → r60均值+21.65%/wr79.4%**(n=68),M上+S上+ADX20-30 → +10.99%/58.7%。 - 行业周期在大盘周期之外有**明显独立信息量**(79.4% vs 全体~45%)。 - **但全市场行业映射缺失**:stock_sectors_em 只覆盖 259 只(跟踪池)、stock_sectors(ths) 是旧港股体系。sector_index_daily 有 140 个行业指数全历史。 - **结论:行业粒度值得做,前置条件=回填全市场行业映射(东财行业成分股 API,~140 行业)**。概念粒度数据基础更缺,暂缓。 ### §28.4 周期方案最终建议 1. 保留"大盘MA20上下"主分类(v_next4趋势/v_weak弱市分工正确) 2. 弱市侧加 ADX 子状态:15-20禁买 / 25-30甜区(现v_weak) / >=40极值区(潜在新策略) 3. 行业粒度作为 12 维第二层,回填映射后做"行业周期×大盘周期"双周期策略 4. 数据前置:行业映射回填(140行业成分股)+ 资金流回填(现只有259只) ## §29 v_next 全市场重建尝试:三条路径全败(阴性结论,2026-08-04) > 按老莫指示"不局限v8.1,按3/6/12规则重建"。三条独立路径全市场验证全部失败。 ### §29.1 路径A:赢家状态因子(六步法第1-3步) - 趋势市赢家起点画像(15639):贴MA60上方(bias60[0,5)) + 20日企稳(r20f[0,5)) + 温和放量(shrink[1.0,1.2))——赢家集内均值165%/中位114%/p90 329%。 - 全市场实时筛股:**avg -0.32%/wr 40%**(82485信号)。加流动性过滤 amt≥3000万/1亿/3亿:**全部仍负**(-1.68%/-1.32%/-0.33%)。 - **流动性过滤救不了赢家因子**——温和状态在全市场太常见,正例率被稀释到无法挽救。 ### §29.2 路径B:v8.1 评分直接推广 - 全市场:1427笔/wr35.9%/avg2.65%/3槽组合 **-34.3%**。 - 池内 vs 池外拆分:池内 108笔/61.1%/12.65% vs 池外 1319笔/33.8%/1.84%。 - **同交易所内池内也优**:688池内 13.45%/61.9% vs 688池外 6.95%/43.2%;603池内 5.8%/50% vs 池外 0.53%/30.3%。 - **edge 与池子策展绑定,不可泛化**。池外最差是创业板300(wr 27.3%)。 - 池内分年:2022 +16.0%/2025 +28.8%/2026 +18.9%(趋势年赚),2023 -3.8%(熊年亏)——趋势策略属性正确。 ### §29.3 路径C:事件触发(稀缺事件假设) | 信号 | 月30后 | avg | wr | |---|---|---|---| | 首次站上MA60(60日内≥45天在下) | 3132 | -1.61% | 35.0% | | 首站MA60+放量1.5 | 2599 | -1.28% | 34.6% | | 破20日新高 | 3234 | -1.76% | 33.8% | | 破20新高+放量1.5 | 3175 | -2.35% | 30.5% | - **放量在趋势市是负面因子**(放量组全更差)——与直觉相反,A股放量突破=追高坟墓。 ### §29.4 硬结论 1. **A股全市场趋势跟踪无简单技术 edge**:趋势市基准率≈0(r60 0.5~2.6%),所有简单技术信号(状态/事件/放量)全是零或负贡献。 2. v_next4 的 edge = **池子策展 × v8.1复杂评分 × 信念叠乘**三者组合,拆开任何一个都失效——不可拆解泛化。 3. 与 v_weak 的对比:v_weak 的 edge 来自**极端状态+宏观甜区**(深超跌+ADX25-30),是统计上真实的均值回复边缘;趋势侧没有对应的简单边缘。 4. **若要坚持全市场趋势策略**,唯一未试的路径是 12 维全因子(技术+消息+资金+行业)综合评分——前置条件:回填全市场资金流(现259只)和行业映射(现259只)。消息面已全市场(3971只/403万条)。 5. **当前最合理配置**:趋势侧用 v_next4(池内有效,实盘范围=池)+ 弱市侧 v_weak(全市场验证)+ 周期细分按 §28.4 加 ADX 子状态。 ## §30 行业粒度验证 + 行业数据回填(2026-08-04) > 承接 §28.3:行业粒度是否有独立信息量。先回填数据再验证。 ### §30.1 行业映射回填(stock_sectors_em 259 → 3454) - 东财从 246 不可达(07-22 实证),从 Windows 端经代理拉取:东财行业板块(fs=m:90+t:2)496 个板,与 sector_index_daily 命名匹配 103 个行业。 - 逐行业拉成分股(fs=b:BKxxxx,push2delay 节点绕开封禁),**3454 条 code→行业映射**入库 stock_sectors_em(保留原 259 条池内映射)。 - 覆盖我们 A 股 2346/4010(58.5%)。未覆盖的 1664 只属命名不匹配的行业(东财三级名 vs 服务器混合命名),后续慢速任务补。 ### §30.2 行业周期独立信息量验证(1902 只有完整数据的票) | 大盘 | 行业 | 行业ADX | r60均值 | 胜率 | |---|---|---|---|---| | M上 | S上 | >=30 | **+7.74%** | **54.2%** ← 最差(追涨陷阱) | | M上 | S下 | 20-30 | +11.00% | 63.6% | | M下 | S上 | <20 | +16.02% | 64.5% | | M下 | S下 | <20 | **+20.80%** | **70.0%** ← 最好 | 分年稳健性(注意:行业行情数据仅 2024-07 起,此为 2 年窗口内分年): | 状态 | 2024H2 | 2025 | 2026 | |---|---|---|---| | M下S下(双弱) | +35.9%/88% | +11.6%/65% | +8.1%/44% | | M下S上 | +22.7%/73% | +9.0%/59% | +4.3%/41% | | M上S下 | +9.1%/59% | +11.1%/65% | +1.1%/37% | | M上S上(双强) | +5.0%/48% | +10.3%/61% | +3.9%/42% | - **"双弱>双强"三个时段全成立**——行业周期在大盘周期之外有稳健独立信息量。 - 这与 §29 结论自洽:A股均值回复主导所有层级(个股深超跌 v_weak 有效 / 行业双弱最优 / 双强追涨最差)。 ### §30.3 数据缺口与回填状态 1. **行业映射**:3454 条(58.5% 覆盖)✅ 已入库;剩余 ~1664 只待慢速补齐 2. **行业指数历史**:sector_index_daily 仅 2024-07 起(125 行业)——**10y 回填被东财封禁阻塞**(clist 端点 502、kline 端点 push2his 一度可用后也被重置)。Windows 后台脚本带退避重试+断点续跑(/tmp 对应本机 fetch_sector_hist.ps1),解封后自动补齐 ~103 行业 10y 日K 3. **资金流**:stock_capital_flow 仅 259 只(池),全市场回填未开始(新浪路线可行,capital_flow_collector.py 已有新浪 fallback) ### §30.4 组合页修正(本次已落地) - v_next4 卡片加**适用池警告**(267池验证,全市场失效,不可外推) - v_weak 卡片数字更新为最终 8 槽口径(234笔/62.4%/8槽ret178.3%/年化12.8%/回撤16.4%) ### §30.5 行业粒度策略展望(数据齐后) - 双周期框架:大盘周期 × 行业周期 12 格定位,v_weak 可加行业状态增强(双弱区加权) - 行业轮动角度:超配"行业ADX<20的双弱行业"做均值回复,回避"双强高ADX"追涨 - 前置:§30.3 的三项回填完成 ## §31 行业指数10y合成回填 + 行业周期10年验证(2026-08-05) > 东财封禁期间的替代方案:**用成分股自己合成行业指数**——不等解封,当天完成。 ### §31.1 行业指数合成方法(153,944 行新增,15秒完成) - 数据源:stock_daily(全市场10y日K)+ stock_sectors_em(3454条新映射)。 - 方法:每行业每日取成分股等权日收益累乘成指数(base=1000);high/low 用成分股 high/prev_close、low/prev_close 均值近似(供 ADX 计算);volume=成分股成交量合计。 - 接缝对齐:合成序列缩放到 2024-07-01 EM 官方值的"昨收"(由 EM change_pct 反推),保证接缝收益连续(实测接缝日收益与记录完全一致)。 - 校验:半导体 2018 -45.3%(熊市)/2019 +92.1%(芯片牛)、银行 2024 +49.5%(银行牛)——符合史实。 - **幸存者偏差注记**:合成用今日成分股回看历史,退市股缺失——因子分析可接受,绝对收益略有高估。 - 结果:全部 103 个行业从 2016-07 起有完整日K(原 EM 数据仅 2024-07 起)。 ### §31.2 行业周期 10 年全样本验证(1964 只 × 10 年,~16 万采样) | 格子 | r60均值 | 胜率 | 定位 | |---|---|---|---| | **M下+S下+ADX<20(双弱+衰竭)** | **+3.93%** | **47.1%** | 最优 | | M下+S下+20-30 | +2.85% | 46.3% | 次优 | | M上+S上+<20 | +2.82% | 47.5% | 中 | | M上+S上+>=30(双强) | -0.01% | 41.4% | 追涨陷阱 | | **M下+S上+>=30(弱市+行业强撑)** | **-2.75%** | **35.7%** | **补跌陷阱(最差)** | 分年(关键三格):双弱在 8/10 年最优或次优(2018熊 -0.5% vs 双强 -7.5%;2024反转 +16.7%/62%);补跌阱在弱市年年垫底(2018 -11.4%/26%);双强永远平庸。 ### §31.3 对 §30 结论的修正(2y → 10y) - §30 的 2y 窗口(2024-07~2026)高估了行业周期强度(+20.8%/70%);**10y 全样本为 +3.93%/47.1%——方向不变,幅度收敛**。 - 2y 窗口恰逢 9/24 行情等极端反转期,均值回复边缘被放大。 - **定性结论全部保留**:双弱>双强、补跌阱回避、追涨无edge。 ### §31.4 行业状态的策略定位:过滤/倾斜,不是信号 - 格子间差距 6.7pp 均值 / 11.4pp 胜率——**真实但温和**。 - 正确用法:①v_weak 信号在"补跌阱"(M下S上>=30)行业时**降权或回避**;②双弱行业的信号**加权**;③行业状态作为 12 维的行业×技术面输入。 - 错误用法:单独用行业状态做买入信号(基准率本身仍为负中位)。 ### §31.5 数据资产现状(本轮后) | 数据 | 覆盖 | 状态 | |---|---|---| | stock_daily 个股日K | 4010只 10y | ✅ 全量 | | stock_news 消息面 | 3971只 403万条 | ✅ 全量(08-04回填) | | stock_sectors_em 行业映射 | 3454条(58.5%) | ⚠️ 部分,剩余1664只待东财解封慢补 | | sector_index_daily 行业指数 | 103行业 10y | ✅ 合成回填完成(§31.1) | | stock_capital_flow 资金流 | 259只 | ❌ 仅池内,全市场待回填(新浪路线) | - 12维全市场数据基础:技术面✅ 消息面✅ 行业✅(合成)资金面❌——**唯一缺口=资金流**。 ## §32 资金流全市场回填完成——12维数据基础全齐(2026-08-05) ### §32.1 关键发现:新浪资金流 API 有全历史 - `MoneyFlow.ssl_qsfx_zjlrqs` 单票返回**上市以来全部日线**(茅台 3983 天,2010 起)——现有 capital_flow_collector.py 只取最近 5 天是浪费。 - 字段:netamount(主力净流入额)、ratioamount(净流入占比)、r0_net(超大单)。无 r1/r2/r3 大中小单分解(老接口已死)。 - 与东财口径数值不同但**符号一致**(3/3 对照验证)——flow 因子是符号驱动,混源可用(INSERT OR IGNORE 保留原东财行)。 ### §32.2 回填执行(双机分流绕开单IP限速) - 246 直跑被新浪限速(~19s/只,ETA 7 小时)→ 拆分:246 跑前 800 只 + Windows 本机 8 进程跑 3210 只(不同 IP)。 - Windows 侧 10 分钟跑完(0 封禁),scp 回 246 入库(720 万行/28 秒)。 - **最终:9,243,548 行,3980/4010 codes(99.3%)**,v_weak 实单票覆盖 221/222。 - 30 只永久缺口:920 北交所 / 518880 ETF / 退市股(新浪天然无数据,可接受)。 ### §32.3 数据质量校验 - 茅台 9/24 行情日主力净流入 +31.57 亿(+24.1%)、9/26 +32.7 亿、10/8 崩盘日 -31.98 亿——与史实完全吻合。 - 历史深度 2016-01 起(2016 年 64.8 万行)。 ### §32.4 12维全市场数据基础——最终状态(全部就绪) | 维度 | 数据 | 覆盖 | 状态 | |---|---|---|---| | 技术面 | stock_daily | 4010只 10y | ✅ | | 消息面 | stock_news | 3971只 403万条 | ✅(08-04回填) | | 行业 | stock_sectors_em + sector_index_daily | 3454映射(58.5%) + 103行业10y(合成) | ✅(§31) | | 资金面 | stock_capital_flow | 3980只 10y 924万行 | ✅(本节) | - **12 维全因子研究的数据基础已全部就绪**。剩余小尾巴:1664 只行业映射未覆盖(东财解封后慢补)。 ### §32.5 回填资产清单(复用价值) - 新浪资金流全历史接口:`vip.stock.finance.sina.com.cn/.../MoneyFlow.ssl_qsfx_zjlrqs?daima=sh600519`(单票全历史,0.4s 间隔安全) - 双机分流模式:246 被限速时,Windows 本机(不同 IP)分片并行 + scp 回传 + INSERT OR IGNORE 入库 - 行业指数合成:成分股等权收益累乘(§31.1),不再依赖东财行业指数接口 - 脚本:/tmp/flow_backfill.py(246)、fetch_flow_chunk.ps1(Windows 分片)、/tmp/import_flow.py(入库) ## §33 行业映射全量回填完成——12维数据基础最终态(2026-08-05) ### §33.1 全量行业板成分股回填(东财解封后) - push2delay 节点 clist 端点解封后,抓全部 **496 个行业板**成分股(0 失败,1.2s 慢速)。 - 映射策略:每票优先映射 sector_index_daily 已有行业名(选成分股最少=最细粒度),否则全局最细粒度板。 - **stock_sectors_em: 259 → 5061 条,覆盖 3953/4010(98.6%)**。 - 57 只永久未映射:退市/停牌股(不在任何当前行业板),可接受。 ### §33.2 204 个新行业指数合成(+356,300 行,12 秒) - 复用 §31.1 成分股合成法,204 个新行业全部补齐 10y 日K。 - **sector_index_daily: 299 个行业,全部 2016-07 起**。 ### §33.3 12维全市场数据基础——最终态 | 维度 | 数据 | 覆盖 | 状态 | |---|---|---|---| | 技术面 | stock_daily | 4010只 10y | ✅ | | 消息面 | stock_news | 3971只 403万条 | ✅ | | 行业 | stock_sectors_em 5061条 + sector_index_daily 299行业10y | 映射98.6%/可分析96.8% | ✅ | | 资金面 | stock_capital_flow | 3980只 924万行 10y | ✅ | - v_weak 实单票:行业可分析 215/222、资金流 221/222。 - **12 维全因子研究数据基础完备,无剩余缺口**。 ### §33.4 本轮数据工程方法论沉淀(复用价值高) 1. **东财封禁应对**:clist 封禁 → push2delay 节点绕行;全封 → 成分股合成指数替代官方指数。 2. **双机分流**:单 IP 限速时拆双机(246 + Windows 不同 IP)分片并行,scp 回传 INSERT OR IGNORE。 3. **新浪资金流全历史**:ssl_qsfx_zjlrqs 单票全历史(现有采集器只取5天是浪费)。 4. **行业指数合成**:成分股等权收益累乘 + 接缝对齐(缩放至官方值反推昨收),史实校验(半导体2018 -45%/2019 +92%)。 5. 哨兵值守模式:封禁期间每 10 分钟单发探测,解封自动批量 + 断点续跑。 ## §34 v_weak 行业增强验证(阴性)+ mr_scanner 实盘切换(2026-08-05) ### §34.1 v_weak × 行业状态增强:无提升(阴性结论) - 数据基础:§31-33 行业映射+指数全齐后,给 286 个 v_weak 信号(strict 复现集)挂行业状态。 - 信号行业分布:S下+ADX>=20 占 208/286(73%)——**v_weak 的入场条件已隐含选对行业状态**(深超跌票在弱市,行业必然同步下跌中)。 - 变体对比(8槽组合口径): | 变体 | n | avg | 8槽ret | dd | |---|---|---|---|---| | 基线 | 235 | 6.91% | **181.4%** | 12.6% | | A: 回避补跌阱(S上+ADX>=30) | 231 | 6.99% | 176.9% | 12.6% | | B: 双弱×1.5/补跌阱×0.5 | 235 | 6.91% | 174.5% | 13.9% | - 补跌阱信号仅 4 个、双弱仅 19 个——**行业状态对 v_weak 是重复信息,不构成增强**。 - 行业周期作为独立倾斜层仍有效(§31 基准率),但作用于 v_weak 级别的精细策略时边际价值≈0。结论:v_weak 维持原参数,不加行业过滤。 ### §34.2 mr_scanner.py 切换 v_weak 参数(实盘落地,commit b82bd9ac) - 背景:v_mr 精选版已被证伪(§12:2018 依赖、去2018 掷硬币),扫描器一直跑旧参数——研究层与实盘的 GAP。 - 切换内容(与回测严格对齐): - 入场六条件:bias60∈[-35,-20) + RSI≤25 + 5日急跌≤-3% + 距20日低点<5% + 信号日收阳 + 缩量vol5/vol20<1.0 - 出场:tp30%/sl12%/40日(RR 2.5:1) - 排序:bias60 升序(最深超跌优先,§15 自然序) - 门控保留:trend_down/choppy + 大盘ADX甜区[25,30) - 候选仍写 sector='v_mr'(管道槽位名不变,下游兼容) - 单测:合成样本命中(tp=价×1.30精确)、收阴/放量样本正确拦截 ✓ - 部署:deploy/profile-scripts 与 hermes 运行位置为硬链(inode 40044),commit 即生效。 - **deploy_guard 教训复发**:分批 patch 超 15 分钟未 commit 被全部回滚——必须"一次性 patch + 立即 commit"(本次已按此执行)。 ### §34.3 当前实盘行为预期 - 当前大盘 trend_down + ADX=62(2026-08-04)→ 甜区外,扫描器按规则跳过(强跌市不出手,§16 教训)。 - ADX 回落至 [25,30) 时自动按 v_weak 六条件扫描。 ## §35 12维全因子趋势重建:终结性阴性结论(2026-08-05) > §29 三连败时留下的疑问:"是不是数据不全?"——现在 12 维数据全齐(技术/消息/行业/资金),做第 4 次也是最后一次全因子尝试。 ### §35.1 趋势赢家全因子分析(15639 起点 × 技术+资金+行业) - 资金流覆盖 99%、行业覆盖 85%(§32/§33 回填成果)。 - **唯一强区分因子:当日主力净流入 flow_pct≥5%**——赢家集内 681 个此类起点,涨幅均值 112.4%、大赢家率 50%(vs 基准 21%,2.4 倍)。 - flow_5d/flow_delta/行业ADX/行业状态:全无区分度。 ### §35.2 全市场验证:再次失败(第 4 条路径) | 组合 | 总信号 | avg | wr | |---|---|---|---| | flow≥5 | 1,140,255 | -1.90% | 34.4% | | flow≥8 | 901,425 | -1.91% | 34.0% | | flow≥5+bias60[0,5) | 257,231 | -0.89% | 38.4% | | flow≥5+bias60+r20f | 102,367 | -0.38% | 39.8% | ### §35.3 赢家采样陷阱的数学本质(重要方法论沉淀) - flow≥5 在全市场 **25% 的交易日触发**(毫无选择性),但在赢家集里只占 4.4%。 - 赢家集里的"50% 大赢家率"是 **P(大波段 | 已是波段, flow≥5)**——条件概率; 全市场要做的是 **P(波段 | flow≥5)**——先验概率崩了。 - **教训:赢家集条件概率再漂亮,也必须过全市场先验这一关。这是六步法第3步存在的意义。** ### §35.4 终结性结论:A股趋势跟踪的 edge 边界 1. **全市场趋势跟踪在任何简单因子组合下无 edge**——技术(§29A)、v8.1评分推广(§29B)、事件触发(§29C)、资金流+状态压缩(§35)四条独立路径全部失败。 2. 数据不全不是原因——12 维数据补齐后结论不变。 3. **趋势侧的 edge 只存在于**:池子策展(v_next4 的 267 池,§27)或更复杂的机制(多因子综合评分+信念增强),不可拆解为简单因子。 4. **A股的结构性边缘是均值回复,不是趋势跟踪**:v_weak(弱市深超跌+甜区)是全市场验证的唯一有效策略形态;行业双弱(§31)是同构的另一表现。 5. **最终组合架构(不再变动)**: - 趋势市(大盘MA20上):v_next4(池内)或空仓 - 弱市甜区(MA20下+ADX[25,30]):v_weak(全市场,已实盘切换 §34) - 强跌市(ADX>30):空仓等待(§16 教训) - 禁买区(弱市+ADX 15-20):不接飞刀(§28.2) ## §36 flow≥5 六步法完整重测:协议到位后的确定阴性(2026-08-05) > 老莫两次指正:①六步法不能跳过第4步负面因子;②不能用僵硬首尾天数判定涨跌,买卖点都是动态的(固定天数只是兜底);③选股/买点/卖点都是12维全量评估的产物(3+12模式),六步法是研究流程。本节按完整协议重测。 ### §36.1 修正的衡量方式:结构买卖点(动态) - 买点=信号日;**卖点=入场后价格结构峰值反转8%**(与 zigzag 波段定义同构的动态卖点,非拍脑袋百分比/天数);60日仅为兜底。 - 双指标:**可捕获**(入场后结构峰值,"曾经抓到多少")+ **兑现**(结构反转点出场实际落袋)。 - flow≥5 全市场 114 万信号:可捕获均值 11.1%/中位 6.1%;**42.8% 曾形成≥8%峰值、8.7% 曾≥30%**(首尾判定会把这些埋成 0%);但兑现均值仅 +0.54%/wr 36.1%。 ### §36.2 第4步:负面因子(12维全量,114万信号挂17个因子) | 负面因子 | 数据 | 动作 | |---|---|---| | 大盘RSI<40(弱反弹初期) | 捕获率4.9%/wr26% | 排除 | | 爆量 shrink≥2.0 | rea-0.41%/wr31% | 排除 | | 无新闻(news3=0) | 捕获8.6% vs 负新闻14.5%/wr43% | 倾斜 | | 正面倾斜:大盘ADX≥40(9.6%/39%)、dist_lo20≥8(单调5.8→10.4%) | | | ### §36.3 第5步:正负合并——仍然不可行 | 组合 | n | 捕获率 | rea均值 | wr | |---|---|---|---|---| | flow≥5 基线 | 1,128,932 | 8.7% | +0.54% | 36% | | 双排除+ADX≥40+dist≥8 | 236,751 | 10.8% | +1.85% | 40% | | **双排除+ADX≥40+dist≥8+负消息** | **6,596** | **13.3%** | **+3.31%** | **45%** | - 最优组合 wr 45%/中位 -1.5%——远低于可用门槛(wr≥55%)。**确定阴性,但这次是协议到位后的结论**(§35 的僵硬判定结论被修正,最终结论不变但证据等级不同)。 ### §36.4 关键认知:3+12 与六步的关系(老莫框架) - **3+12 是决策模式**:选股(Stage1初评)/买点(Stage2入场重评)/卖点(Stage3出场重评),每个决策点都过12维全量。 - **六步是研究流程**:产出有正期望的候选池,3+12 才能在其上工作。 - **出场重评救不了负期望池**:flow≥5 池 64% 亏损,卖点再精也是输;v_weak 能成是因为 Stage1(甜区+极端条件)已正期望,Stage2(缩量+收阳确认)再加成。 - **赢家采样陷阱的最终形态**:flow≥5 的 8.7% 大波段真实存在(均值捕获49.7%),但 12 维全量因子也无法把它从噪声里分出来——**edge 在波动里,不在可预测性里**。 ## §37 flow≥5 全协议生命周期回测:协议级阴性证据(2026-08-05) > 老莫框架:选股/买点/卖点都是12维全评产物(3+12决策模式),六步是研究流程;回测要简化但还原关键决策点。本节按此完整执行。 ### §37.1 执行的三段式生命周期 - **选股**(六步③④产物):大盘MA20上 + flow≥5 + 大盘RSI≥40 + 非爆量(vol<2.0)→ 109万信号 - **入场重评**:信号日确认(负面排除规则) - **出场重评**(本节核心,数据归纳非拍脑袋): - 方法:信号后逐日标注(该卖=之后无≥3%上行;该持有=之后还有≥10%上行),480 万标注日,对比12维状态归纳卖出规则 - 发现:最强单元格 `dd_from_peak≤-8 + rsi<45`(衰竭确认)该卖率仅 60%;**rsi 关系反直觉**(rsi≥75 该卖率仅 41%——趋势市强势延续);无任何因子组合达 80% 精确度 - **结论:卖点在趋势市是概率倾斜不是确定规则——这正是"重评"的存在意义(给决策倾斜,非自动信号)** ### §37.2 生命周期回测结果(109 万信号) | 出场规则 | avg | 中位 | wr | |---|---|---|---| | derived(数据归纳衰竭确认) | +0.16% | -4.88% | 32.4% | | dd8(纯结构对照) | +0.57% | -3.74% | 36.3% | | zone(+15%卖出区重评) | +0.68% | -4.39% | 38.7% | - **数据归纳的出场重评反而比纯结构差**(32.4% vs 36.3%):60% 精确度格子里 40% 是卖飞——卖点固有不确定性是数据本身的性质。 - 全程最优 wr 38.7%,远低于可用门槛。 ### §37.3 协议级最终结论 六步③全市场筛 → ④负面因子(12维/17因子)→ ⑤正负合并 → 3+12 生命周期(数据归纳的出入场重评)→ **wr 不过 40%**。 flow≥5 趋势路径确定死亡。证据链闭环,每一步协议可查。 **趋势侧结论不变**:A股趋势 edge 只在池子策展(v_next4),全市场趋势跟踪无可简单复制形态(§35.4 组合架构维持)。 ## §38 分仓+波段全框架终测:池子质量是前提(2026-08-05) > 老莫最后补上框架的两块拼图:分仓(多个卖出区,每区重评,衰竭才卖该区)+ 波段(卖飞后结构重新确立再进场)。 ### §38.1 全框架生命周期 - 选股:大盘MA20上 + flow≥5 + 大盘RSI≥40 + 非爆量 - 分仓卖出:+14% 卖 1/3、+28% 再卖 1/3、剩余 1/3 结构离场;**每区重评**(rsi≥50且量比<1.5=动能强 → 该区不卖继续持有) - 波段再进:有已卖比例后,收盘破前高(结构重新确立)→ 按已卖比例再进场(v_next4 swing_re 同构,池内验证 avg 32.79%/wr 86% 的机制) - 兜底:止损 -12% / 60 日 ### §38.2 结果(109 万信号) | 模式 | avg | wr | 关键细节 | |---|---|---|---| | scale(分仓+区重评) | +0.60% | 36.4% | struct_out 占 90.7%:90% 信号到不了 +14% 卖出区 | | scale+swing(+波段再进) | +0.57% | 36.4% | 再进场 98,897 次,收益无改善 | ### §38.3 为什么机制全上也救不了 - 分仓/波段解决的是"**好票被卖飞**"——flow≥5 池 64% 是噪音票,**根本飞不起来**(90% 到不了第一个卖出区)。 - 对噪音票波段再进 = 再暴露于噪音,不创造价值。 - 对照:v_weak 池起点 wr 57%,机制加到 62-68%;flow≥5 池起点 wr 36%,机制全上不过 39%。 ### §38.4 终极具象结论(方法论闭环) **池子质量是前提,3+12 框架机制是加成。顺序永远是:六步出好池子 → 3+12 锦上添花。** - v_weak:甜区+极端超跌=正期望池(六步产物)→ 缩量收阳确认/等权8槽(3+12加成)→ 8槽年化 12.8% - flow≥5:负期望池 → 分仓/波段/重评全上 = 无效 - 趋势侧重建正式关闭。组合架构(§35.4)为最终形态:趋势市 v_next4(池) / 弱市甜区 v_weak(已实盘) / 强跌市空仓 / ADX15-20 禁买。 ## §39 策略家族诞生:S1+S2 同时运行(2026-08-05,架构级突破) > 老莫架构批评:①v_weak 带大盘滤镜出生,没有完整 10 年无条件六步;②强弱行业并存,大盘一刀切周期是错的切法;③策略应家族化同时使用、非互斥切换——"有些票符合策略1,有些符合策略2,不是这个时点只能这个"。本节是从零开始的完整六步+家族验证。 ### §39.1 方法论修正:跳出赢家采样陷阱 - 赢家集分群(§26/§35 路径)系统性偏向"大波段动量档案"(flow/突破),全市场全部阵亡——赢家集看不见可靠性。 - **改在全市场状态空间分群**:157 万"股票-日"样本 × 12 维因子 × 结构前瞻收益,直接找全市场期望为正的自然格子。 ### §39.2 核心发现:均值回复的剂量-反应曲线 | 大盘RSI档 | avg | wr | |---|---|---| | 20-25 | +25.8% | 97.8% | | 25-30 | +8.4% | 62.6% | | 30-35 | +5.0% | 50.3% | | 35-40 | -0.03% | 35.3% | | 40+ | +0.15% | 36.1% | - **大盘越恐慌,超跌票反弹越确定——单调剂量反应,A股均值回复 edge 的完整定量形态**。 - 行业双弱格(§31 基准率发现)作入场信号验证失败(+0.59%/35.7%)——基准率≠策略信号,诚实否定。 ### §39.3 S2=恐慌买超跌(六步④⑤⑥产物) - **入场**:大盘RSI<25(极端恐慌)+ 个股 bias60<-6.8 + r5f<-10(5日深崩)+ dist_lo20≥10(离20日低点≥10%) - 画像:**大盘极端恐慌日,强势票被错杀**(崩前强势、恐慌中陪葬) - **出场**:结构反转 dd≤-8(数据归纳动态卖点),60日兜底 - 回测:3261 信号 / avg+16.6% / **wr 85.6%** / 逐年:2020新冠+14%/88%、2022双底+21%/85%、2025恐慌+16%/87%——**十年三次恐慌集群全部盈利** - 负面因子排除:r5f∈[-10,-5]浅回调区(wr55%);dist_lo20<10贴近低点(wr57-69%低于≥10的75%) ### §39.4 S1+S2 组合(同时运行,零重叠) | 组合 | n | avg | wr | 8槽收益 | 年化 | 回撤 | |---|---|---|---|---|---|---| | S1(v_weak) | 234 | 7.17% | 62.4% | 178.3% | 12.8% | 16.4% | | S2(恐慌买) | 3261 | 16.61% | 85.6% | 115.8% | 10.4% | 8.6% | | **S1+S2** | 3495 | 15.97% | 84.0% | **344.9%** | **18.7%** | **15.7%** | - **收益近翻倍、回撤更低**——S2 填上 v_weak 的真空带(恐慌时 ADX 冲过 30 上沿,甜区不存在)。 - 信号零重叠:温和弱市(S1)与极端恐慌(S2)天然不互斥、自动分工。 - **架构结论(老莫 vindicated):策略家族 > 周期切换**——市场状态从"硬开关"降级为"每个策略档案内的一个因子",票自己对号入座。 ### §39.5 待办(实盘化) - S2 扫描器接入(mr_scanner 加 S2 通道 或 独立 s2_scanner.py) - S2 组合仓位规则(信号恐慌期密集,8槽 88/3261 执行率——需月度上限或得分排序) - 与 v_weak 共用组合框架(去重逻辑已验证) ## §40 S2 实盘部署完成(2026-08-05) ### §40.1 部署内容(commit 6973d359 + 3545d677) - **s2_scanner.py**(新建,deploy/profile-scripts/,与 hermes 运行位置硬链 inode 40075): - 门控:大盘 RSI14<25(stock_daily 计算,与回测零偏差) - 个股:bias60<-6.8 + r5f<-10 + dist_lo20>=10(与 §39 回测严格对齐) - 排序:r5f 升序(崩最深优先);候选写 sector='s2_panic'(与 v_weak 的 'v_mr' 管道分离) - top15/日 + 当日幂等 - **market_watch.py**:调度链(每 10 分钟)挂 s2_scanner 子进程调用,与 mr_scanner 并列。 - 单测:正确画像命中(三条件齐)、浅崩/贴低/超MA60 三种错误样本各自被正确拦截、门控休眠正确。 - 实盘验证:当前大盘 RSI 43.0 → 正确休眠(非恐慌日)。 ### §40.2 当前策略家族实盘全景 | 策略 | 门控 | 状态 | 当前是否激活 | |---|---|---|---| | S1 v_weak(弱市甜区) | trend_down/choppy + ADX∈[25,30] | 已实盘(mr_scanner) | ❌ 休眠(ADX=62 甜区外) | | S2 恐慌买超跌 | 大盘RSI14<25 | 已实盘(s2_scanner) | ❌ 休眠(RSI=43) | | v_next4(趋势池) | 大盘MA20上 | 池内运行 | ❌ 大盘MA20下 | - **三个引擎全部按规则休眠——组合处于全空仓状态**,这正是强跌市(ADX 62 走高)的设计行为:甜区未到、恐慌未至、趋势不在。 - 触发顺序预判:若大盘继续深跌至 RSI<25 → S2 先醒(恐慌买);若止跌震荡 ADX 回落至 [25,30) → S1 醒(甜区);若收复 MA20 → v_next4 醒。 ### §40.3 deploy_guard 事故三连记录(教训固化) 本轮三次被守卫回滚:①mr_scanner 分批 patch(§34);②market_watch S2 挂接(本节);③根因都是"改动后未在 15 分钟内 commit"。**铁律重申:一次性 patch + 同一命令内立即 commit + push。**