← 文档库
📄 文档learn/截面选基-理解手册/07-动量窗口依据与长期反转因子增强方案.md
🌱 创建于2026-08-07 23:29
✏️ 修改于2026-08-07 23:29
👁️ 浏览量—
🔗 短链接/~learn/s/477791ef
🔐 可见性

07 — 动量窗口设计依据 & 长期反转因子(估值-均值回归)增强方案

> 版本:v1 (2026-07-16) · 状态:设计讨论稿 > 背景:你观察到恒生科技/恒生互联网从深跌中反弹但因子得分低,质疑"120日封顶是否太短"、"是否需要加入基于估值的长期反转因子"。本文档用学术文献+实证数据给出答案,并提出具体改进方案。

---

📌 本文档回答的核心问题

# 问题 结论速览
------------------
Q1 为什么动量窗口封顶120日(≈半年),不看更长? 学术界标准:Jegadeesh-Titman(1993)经典论文证明1-12个月动量有效,超过12个月动量崩溃;DeBondt-Thaler(1985)证明3-5年窗口是反转效应(不是动量),两者不可混为一谈。120日(约半年)处于动量效应的黄金区间。
Q2 恒生科技/互联网深跌后反弹但因子得分低,是否合理? 部分合理,部分是盲区:合理之处是它们60日仍负收益、趋势向下、波动率极高,夏普/稳定性差,短期追入风险大;盲区是当前系统没有长期反转因子,无法识别"深跌+低估值=未来高预期收益"的均值回归机会。
Q3 是否要加入估值导向的反转因子(看未来1年/2年收益率)? 必须加,但要与现有动量体系互补而不是冲突。学术上Value和Momentum负相关(Asness 2013 "Value and Momentum Everywhere"),结合后夏普比率更高。
Q4 能否完全信任当前120日动量因子? 不能单独信任,但120日作为短中期趋势跟踪锚是合理的。需要叠加长期反转/估值因子做"极端低估时的底部捕捉",形成完整的双时间尺度体系。

---

一、为什么动量窗口是20/60/120日而不是更长?

1.1 学术铁三角:动量效应 vs 反转效应的时间尺度分割

量化金融里有两条经全球市场验证的"定律",时间窗口是关键分界:

时间尺度 效应 论文 机制解释
------------------------------
1个月以内(5-20日) 短期反转(均值回归) Jegadeesh(1990)、Lehmann(1990) 流动性冲击+过度反应后修正,涨多必跌、跌多必弹
1-12个月(20-250交易日) 中期动量(趋势延续) Jegadeesh & Titman(1993) 经典 信息反应不足(underreaction):好消息慢慢扩散,赢家继续赢
3-5年(750-1250交易日) 长期反转(价值回归) DeBondt & Thaler(1985) 过度反应(overreaction):输家被过度抛弃、估值极低,未来3-5年跑赢赢家

> 关键结论:动量因子就应该在1-12个月内计算,120日(约半年)正好在动量效应最强的区间中偏前位置。如果把窗口拉到1年以上(250日+),你就开始混合动量和反转两个相反的效应,信号会互相抵消。

1.2 为什么选20/60/120三档而不是单一窗口?

窗口 对应周期 权重 作用 实证依据
---------------:--:---------------
20日 约1个月 0.4 捕捉趋势启动/拐点 v2→v3时从纯[60,120]加入20日,解决"追涨滞后"问题(国芯ETF ob=0.07仍排#1次日暴跌-6.58%)
60日 约3个月 0.3 确认趋势方向,过滤噪音 股票选股实证40-80日窗口最优(+5.33%/期),60日处于核心区
120日 约半年 0.3 锚定长期趋势方向,避免太短被洗出去 CMM论文(2026)指出平均只有35天贡献50%动量信息,半年窗口足够覆盖

为什么不加250日(1年)作为第四档?

1.3 为什么用R²趋势质量和回撤惩罚?

这两个修正是为了弥补"纯收益动量"的两个致命缺陷:

缺陷 修正机制 效果
---------------------
震荡市里假突破多(反弹几天又跌回去) 60日线性回归R²:斜率向下→负R²直接把动量打负;R²接近0(横盘)→打3折 过滤掉"死猫跳"式反弹
从深坑里反弹看起来涨幅大,但仍在下降通道 距120日高点回撤>5%打7折,>15%打3折 防止在半山腰抄底接飞刀

这恰恰是恒生科技/互联网目前被惩罚的原因——它们从深度回撤中反弹(120日跌幅-22%~-30%),触发了回撤惩罚×0.3,加上R²强负值(还在下降趋势中),动量自然得分低。

---

二、当前因子体系的盲区:你看到"深跌机会"但系统看不到

2.1 当前五因子真正在看什么?

让我们用香港证券ETF vs 恒生科技ETF的实盘数据,看清楚当前系统的"视野范围":

因子 窗口 实际在衡量什么 香港证券ETF 恒生科技ETF
-------------------------:----------::----------:
动量 20/60/120日 近半年趋势方向+质量 +(横盘微涨) -(深跌反弹,趋势仍向下)
夏普 60日 近3个月风险调整后收益 +0.19(唯一正的) -7.64(极差)
反追高 20日乖离/RSI 短期是否超买 0.58(正常) 0.58(正常)
稳定性 60日波动率倒数 近3个月波动是否小 0.03(波动低) 0.00(波动极大)
估值锚 MA200+52周位置 价格在历史区间的位置 0.77 0.80(看似"高估")

发现问题了吗?

2.2 你的直觉是对的:恒生科技现在可能就是这种机会

让我看看数据(2026-07-15):

---

三、学术支撑:为什么必须加"估值导向的长期反转因子"

3.1 Asness, Moskowitz, Pedersen (2013) — "Value and Momentum Everywhere"

这篇可以说是量化金融的"圣经级"论文之一。作者研究了全球8个市场、4个资产大类(股票、股指、外汇、商品),发现:

> 核心结论: > 1. 价值因子(Value)和动量因子(Momentum)在每一个市场、每一个资产类别中都同时存在 > 2. 两者显著负相关(约-0.5到-0.6)——动量追涨,价值抄底,天然互补 > 3. 50/50混合Value+Momentum的夏普比率显著高于单一因子,且回撤大幅降低 > 4. 价值因子的核心代理变量:对于股票/指数就是 PE/PB的历史分位数(低PE/PB=价值=未来收益高)

这直接回答了你的直觉:你看到恒生科技"跌多了+估值低=诱人",本质就是价值因子在起作用,而当前系统里这个维度是缺失的。

3.2 DeBondt & Thaler (1985) — "Does the Stock Market Overreact?"

> 核心结论: > - 过去3-5年表现最差的"输家组合",在未来3-5年比"赢家组合"每年多赚约8%(年化) > - 这种超额收益不能用CAPM风险解释,是真正的"过度反应修正" > - 反转效应在1月最显著(税收-loss harvesting+年初再平衡) > - 注意:这是3-5年维度的,不是几周几个月

实战意义:当一个品种从高点跌了50%+且持续1年以上,同时PE/PB到了历史极低分位(<10%或<20%),那就是DeBondt-Thaler信号在闪烁。

3.3 与你现有体系的关系

你已经有了:

短-中-长完整因子体系应该是:

短期反转(5-20日)  ←→  中期动量(1-12月)  ←→  长期价值/反转(1-3年)
  (反追高)           (当前主因子)            (待添加)
  防追涨杀跌         趋势跟踪赚Beta          极端低估赚Alpha

---

四、改进方案:新增"长期估值反转因子"(v4候选)

4.1 因子规格

项目 规格
------------
因子名 long_term_reversal(长期估值反转)或升级现有valuation因子
数据来源 已有ValuationFetcher(tushare PE_TTM + multpl SP500 PE),恒生指数需新增数据源
核心指标 PE_TTM历史分位数(5年以上历史窗口)、PB历史分位数、价格距250日高点回撤幅度
窗口 PE分位数用全部可用历史(至少5年),回撤用250日(1年)和500日(2年)
打分方向 PE分位越低→得分越高(越值得买);250日回撤越深→额外加分(过度反应补偿)
非线性加成 PE分位<20%时sigmoid曲线给强力加分(参考08-反转策略置信度乘数);PE分位>80%不加分

4.2 打分公式(建议)

# 1. PE分位基础分:越低越买
pe_score = 1.0 - pe_pct  # pe_pct=0(历史最低)→ 1.0,pe_pct=1(历史最高)→ 0.0

# 2. 极端低估非线性加成(sigmoid,参考反转方案文档)
if pe_pct < 0.20:
    extreme_bonus = 0.3 * (1 - pe_pct / 0.20)  # pe_pct=0时+0.3,pe_pct=0.20时+0
    pe_score += extreme_bonus

# 3. 长期回撤补偿:距250日高点回撤>20%时加分(DeBondt-Thaler过度反应)
dd_250 = (close[-1] - high_250) / high_250  # 负数
if dd_250 < -0.20:
    drawdown_bonus = min(0.2, abs(dd_250 + 0.20))  # 最多加0.2
    pe_score += drawdown_bonus

# 4. 裁剪到[0,1]
long_rev_score = clip(pe_score, 0, 1)

4.3 权重建议

当前v3权重(震荡市):

因子 当前权重 建议调整后
------:-------::---------:
动量 20% 18%
夏普 15% 12%
反追高 27% 22%
稳定性 25% 20%
估值锚(价格代理) 13% 8%(降权,因为会被新因子替代核心功能)
长期估值反转(新) — 20%

逻辑:

4.4 需要解决的数据问题

当前ValuationFetcher已经支持:

解决路径(优先级从高到低):

4.5 预期效果

场景 当前系统(无长期反转) 加了长期反转后
-----------------------------------------
2022年10月港股大底(恒生科技跌70%+PE历史最低) 等趋势走出来才进场,错过最肥的底部30% PE分位<5%+250日回撤>50%→强力加分,底部区域就能进入候选
2024年9月A股暴跌(创业板PE历史低位) 动量差/夏普差/稳定性差→选不出来 PE分位极低→加分,能捕捉恐慌后的反弹
牛市顶部(PE历史高位还在涨) 动量强/夏普强→追高在山顶 PE分位>80%→不加分甚至扣分,提前减仓
正常震荡市 动量+反追高为主 效果类似,不会差很多(PE分位在中间区域加分有限)

---

五、对你当前问题的直接回答

Q:为什么香港证券ETF排第一而不是恒生科技/互联网?

因为当前系统所有因子都只看近2-6个月,香港证券ETF在所有"中短期维度"都完胜:

但这不代表恒生科技/互联网未来1年涨不过香港证券ETF,只是当前因子体系看不到1年以上的均值回归机会。

Q:120日封顶合理吗?能信任这个因子吗?

120日作为中期动量锚是合理的,有充分的学术依据(Jegadeesh-Titman动量效应1-12个月有效),也有你自己的回测数据支撑(股票选股40+80日最优)。但它只是系统的一只眼睛(看中短期趋势),你还需要另一只眼睛(长期估值反转)来看极端深跌的机会。

Q:要不要加估值导向的反转因子?

强烈建议加,理由:

---

六、实施路线图(TODO)

阶段 任务 预计工作量
----------------------
P0 给ValuationFetcher添加恒生指数/恒生科技PE数据源 小
P1 新建LongTermReversalFactor(or升级现有ValuationFactor),用真实PE分位+长期回撤打分 中
P2 给新因子加上regime自适应权重(熊市权重高/牛市权重低) 小
P3 回测验证:用2022-2025数据对比"加/不加长期反转因子"的收益/回撤/夏普差异 中
P4 保留现有"价格位置"因子(改名为price_position),与新PE因子共存而非替代 小
P5 对于完全没有PE数据的品种(日经/印度/德国等),fallback到增强版价格代理(加入250日回撤补偿) 小

---

七、参考学术文献

论文 年份 核心贡献 与你系统的关系
-----------------------------------
Jegadeesh & Titman, "Returns to Buying Winners and Selling Losers" 1993 首次系统证明3-12个月动量效应显著 你120日动量的理论基础
DeBondt & Thaler, "Does the Stock Market Overreact?" 1985 首次证明3-5年长期反转效应,输家跑赢 长期反转因子的理论基础
Asness, Moskowitz, Pedersen, "Value and Momentum Everywhere" 2013 全球8市场4资产类证明Value+Momentum负相关互补 为什么要双因子并行
Moskowitz, Ooi, Pedersen, "Time Series Momentum" 2012 1-12个月时序动量显著,1个月内反转显著 你20日短周期+反追高的依据
CMM (Characteristic-Managed Momentum) 2026 动量不是等权平均,只有少数关键日贡献信号 支持你多窗口加权而非单窗口
Moreira & Muir, "Volatility-Managed Portfolios" 2017 波动率高时减仓能提高夏普 你波动率稳定性因子+夏普因子的依据

---

附录:当前vs建议因子体系对比

当前v3因子体系(中短期视野为主):
┌──────────────────────────────────────────────────┐
│  反追高(20日) 稳定性(60日) 夏普(60日) 动量(20/60/120日)
│  └── 全部是 20日~120日窗口 ──┘
│  估值锚(MA200+52周价格位置)  ← 价格代理,不是真正估值
└──────────────────────────────────────────────────┘
                        ↓
建议v4因子体系(短-中-长完整时间尺度):
┌──────────────────────────────────────────────────────────┐
│ 短期(5-20日):反追高(20日RSI/乖离)   → 防追涨杀跌
│ 中期(1-12月):动量(20/60/120)+夏普+稳定性 → 趋势跟踪
│ 长期(1-3年):长期估值反转(真实PE分位+250日回撤) → 极端低估抄底
└──────────────────────────────────────────────────────────┘
         三个时间尺度互补,通过regime自适应调权

▶ 📜 变更历史(1 次提交)

a7a12042026-08-07 23:29fix: 网站稳定性修复 - 守护进程接管已有实例 + 隧道readiness健康检查 + 经验文档沉淀
🍃quant 知识库
by 伊甸园和枫

🔊 播放设置

勾选音源后调节配比,总和自动归一化
已选 0 个 · 合计:0%
合成中...
00:00/00:00
1.0x

分享图片

生成中...