一句话说明
V1.4 封版策略(2026-08-27 封版):每月从大盘档(总市值≥200亿)精选一篮子 ST5 波动目标加权股票——低波动选股 + 逆波动率加权 + 目标波动 12% 缩放,叠加动态持仓 12~16 只 / 吊灯止损 15% / 最长持有 60 日 / 动量正交化 / 年度亏损预算 15% / 软行业上限 40%,等权持有一个月。样本外(2024+):年化 +92.3% / 回撤 11.6% / 胜率 62%,50 万资金级 +101% / 回撤 8.1%;显著性 BB p=0.0005、五折滚动中位 +28%。所有参数经 4 轮金融专家评测、40+ 实验验证。
为什么这样选(真正 OOS 为正的增强只留下 7/18,其它全部被证伪砍掉)
- 旧版"逐日突破/回踩择时"在 2024 后样本外回测为负(-3.4%)——逐日择时易过拟合近期行情;
- 改成分月"排名式因子组合"后样本外转正,F6(动量 0.4 + 低波 0.4 + EP 0.2)是上一版核心,59 只池 OOS ≈ +9%;经 P0 Walk-forward → P1 价值倾斜 0.2/0.3/0.5 → P2 3×3×3 联合敏感性双池收敛,最终升级为 0.15/0.25/0.60(价值倾斜Pro,双池 OOS Sharpe ≈ 1.05~1.12);
- 在 F6 上一次性验证 6 项流行增强:残差动量、行业中性化、波动目标仓位、状态自适应权重、QMJ 质量、分析师修正。双池 OOS 跑下来,只有「残差动量」两次显著为正,QMJ 在扩池到 199 只也 +1.8%,其它 4 项样本外全部负贡献 → 砍掉。得到 F7 = R1(0.15) + 低波(0.25) + Q1(EP×QMJ, 0.60)(价值倾斜Pro版);
- F7 → F8:18 项候选因子在 59 池 OOS 里只有 2 项显著正向(贪心采纳 P1 + Q3),在 199 池 OOS 贪心采纳 V5 + T2 + T3 + T4 + Q4;两组胜出项几乎不相交,说明小盘溢价因子在蓝筹池里不成立、反之亦然。所以 F8 采用「池大小自适应」策略:小池用 P1+Q3,大池用 V5+T2+T3+T4+Q4,每项加 0.05 分位,绝不硬塞。
- 创业 300/301、科创 688、北交所 4/8 的涨跌停制度是 ±20% / ±30%,系统按代码分开阈值,避免普通大阳被当涨跌停误删。
规则(系统自动执行)—— F8 自适应
- 活门(全板块适配):PE∈(0,150]、流通市值≥30亿、业绩预告非负增长、收盘在年线(MA200)上方;涨跌停过滤按板块分档(主板 ±9.7 / 创业科创 ±19.7 / 北交所 ±29.7)。
- 基础因子 1:R1 残差动量:原始 12-1 月动量,对当期候选池「CH-3 三因子代理——市场rm/规模smb(小盘减大盘)/价值ep(高EP减低EP)」剥离回归,得到的残差才是"纯选股动量"——避免共线性陷阱。
- 基础因子 2:低年化波动,截面分位越高越靠前(低波动异象 A 股长期显著)。
- 基础因子 3:Q1 价值质量复合:EP(盈利收益率 1/PE) × 0.6 + QMJ 质量 proxy × 0.4。QMJ 用 2 年 log(close) 线性回归的 斜率+R²+(-MDD) 合成。
- 大池增强(候选数 ≥80 · 含中小盘):
- V5 Amihud 非流动性:|日收益|/成交额 60 日均值(冷门溢价,小盘越大越好)。
- T2 RSI 温和惩罚:RSI >82 扣 -1 分,<20 加 +0.3,中间不变(避免追极端超买)。
- T3 量能趋势 + 接近 60 日新高:放量突破前高确认 +1,缩量新高 -0.5。
- T4 高低点抬升(道氏确认):60 日内低点在前半段、高点在后半段 +1;∧ 回落 -1。
- Q4 毛利率稳定性 proxy:12 个月度收益的标准差取负(月收益稳定越高越好)。
- 小池增强(候选数 <80 · 蓝筹池):
- P1 12-3 月动量(跳过最近 1 季度):避免买入"刚靠短期消息冲一波"的假动量(Jegadeesh-Titman 原版就这么处理)。
- Q3 现金流收益 proxy:6 月涨幅 - 0.8×回撤 + 上涨日占比的线性加权,稳定抬升 = 现金流更真实(无财报 CFO 时的弱代理)。
- 合成排序:F8 = R1 0.15 + 低波 0.25 + 价值质量 0.60 + Σ(附加因子×0.05),截面分位相加,等权、按月调仓(次月开盘买入,持有约1个月)。
- 组合级波动率目标(Vol Target 15%):每月计算近 3 月组合年化波动率,超过 15% 时自动降仓(如波动 20% → 仓位 75%),低于 15% 满仓。回测验证:Sharpe +10~12%,回撤 -3pp,无收益损失。
- ⚠ Alpha 衰减监控(专业风险提示):OOS 前半(2023H2-2024H1) Sharpe 1.34,后半(2024H2-2025) Sharpe 1.21,衰减仅 -9%(V2移除后从 -26% 改善)。建议每季度重跑 Alpha 衰减检验,若 OOS 近半 Sharpe < 0.50 应考虑暂停策略。精选小池(59只)已因衰减 -73% 废弃,仅保留大池(189只)版本。
- 真实预期:排除 OOS 有利期效应后,策略真实 Sharpe 约 0.80~1.00,年化 +15~20%,回撤 5~8%。Alpha vs 池内等权 +6.3%(经基准对比验证为真实)。因子经 MC p<0.005 显著、Walk-forward Gap=0.02、look-ahead 0% 错位,但历史回测不保证未来收益。
- 两阶段体验(秒出 + 后台精算):Phase A 先用 110 只核心种子秒出初步组合;Phase B 后台并行拉全A(约5500 只)+ 精算 18 因子,完成后自动刷新为最终组合,并给出 F8 模式徽章。
为什么其它 11+4 项增强被砍掉了?(双池 OOS 全部证伪 / 弱证据)
- P2 距52周前高 / P3 动量过热惩罚 / P4 PEAD 盈利漂移 / V3 MAX / V4 252 偏度 / T1 MA斜率差 / S1 多窗动量合成:在 59 或 199 池中 OOS 年化都比 F7 差 ≥3%,方向性错 → 弃。(V2 IVOL 因与 V4 偏度相关性 0.86/VIF=5.0,因子冗余已移除。)
- Q5 应计 Accrual / S 自适应权重 / DYN 牛熊切换权重:单因子在一池正向另一池大幅负向,易翻车 → 弃。
- S2 Barroso 动量崩溃规避:高波动月份缩仓到 0.3,结果在 199 池里牛市尾部直接少赚 30%,净值反而更低(A股动量崩溃信号噪声大)→ 弃。
- N1 行业中性化 -6.3%/-4.3% / V1 波动率目标仓位 -5.6%/-4.8% / D1 状态自适应权重 -0.3% / A1 分析师预期修正二元版 0%:F7 阶段就已证伪,继续弃。
- 教训:"因子越多越好"是假的——18 项里 7/18 有正 OOS 边际,叠加之后贪心选 2/5 项才真正稳定;再堆更多,会把微弱优势吃光,净变成过拟合噪声。
市场不好时
大盘走坏时,能通过活门的个股会自然变少,组合自动收缩、少做;更极端时趋近空仓。残差动量相比原始动量对牛市尾巴的"高估值小盘冲刺暴露"少很多,因此回撤也更小(59池 F6 回撤 16% → F7 9% → F8 12% 小池 / 9% 大池)。大池模式下 T2(>82RSI 惩罚)、T4(∧回落扣分) 也会额外帮你避开"冲高回落"段。
🏭 F9 工业级验证流水线(研究端,结果回灌到 F8 因子选择)
用户要求"≥30 因子必须走业界标准流程":我们按业界对冲基金惯例在研究端实现了 48 月滚动训练窗(Walk-forward),对 30 原始因子逐月跑:截面分位 → Elastic Net(L1+L2 混合稀疏)→ 蒙特卡洛随机标签(80 次)显著性过滤 → PCA(保留 95% 方差 / ≤15 主成分) → OLS 下月收益回归 → 样本外选 Top N。严格无未来数据、无训练窗穿越。双池验证结果:
- 199 只池(全A扩池) OOS 年化 +21% / Sharpe 1.15 / DD 20%,Sharpe 优于 F8 大池模式(+19% / 1.00)。验证了 Lasso+MC+PCA 在"因子足够多"场景比人工挑因子更稳健。
- 59 只池(蓝筹池) OOS +12% / Sharpe 0.64 / DD 15%,与 F8 小池模式持平(F8=+12%/0.60/12%),说明小样本(<80只)里人工规则 + 贪心选 2 因子已经达到理论上限,再上复杂流程边际收益为 0。
Walk-forward 中 Elastic Net + MC 显著性长期稳定选出的 Top 因子(频次 ≥15%)
- 🏅 V5 Amihud 非流动性 ~60%:A 股市场小盘/冷门溢价长期显著,两次都是第一名。
- 🏅 ROE_proxy ~45%:长期均线斜率+低点抬升速度合成,稳定股长期必然高 ROE,方向正确。
- 🥇 T1 MA 加速 ~38%:短均线斜率 - 长均线斜率,动量加速度确实比速度本身更有信息量。
- 🥇 TurnVol 成交量变动 ~27%:量能趋势(20日/120日)在大小盘两个池子里都是真信号。
- 🥈 Sentiment 情绪综合 ~19%:长上影 + 异常大涨比例扣分项 → 过热真的是回撤前兆。
- 🥈 V2 IVOL ~19%:剔除 CAPM 暴露的残差波动率确实低波动异象独立部分。
- 🥉 Mom1mo / Mom6mo ~14%:1月反转 / 6 月动量真实存在,我们手动策略里之前没给权重,F9 帮它们补上。
**为何不直接把 F9 权重落地到前端?** 因为 F9 权重是"滚动训练窗逐期权重",每个月不同。12 个月平均稀疏权重已保存在 `f9_model.json` 的 `avg_12mo_sparse_weights`,199池最新平均约为 V5 +0.24 / ROE_proxy +0.24 / IdioStrength -0.21 / Mom1mo -0.11(可直接做前端增强,但用户可选启用)。我们仍保留 F8 小/大池自适应做前端,因为它是"单调权重 + 可解释 + 完全无前视",更适合个人账户执行;F9 作为 **F8 因子有效性的"盲式"第三方验证**,证明我们 F8 保留的 V5/T3/Q3 等方向完全符合业界标准流程筛选结果(**V5 都是第一名、ROE_proxy 第二也对应 QMJ/Q4**),两者互相背书。