Back to essays
Quant · Sentiment · A-share · Fear & Greed

A 股情绪指数:当市场恐慌到 24.4 分,我做了件事

2026-07-28 · 13 min read
A 股情绪指数 · Bauhaus 几何封面
Audio version · MiniMax TTS · male-qn-jingying
一个仿 CNN 恐惧与贪婪指数的 A 股定制版本。当前情绪 24.4 分,属极度恐惧区间。按 2018-2026 回测,极恐(<25)后做多 60 日胜率 55.3%,极恐 2(<15)胜率 60.0%。
A 股情绪指数 vs 沪深 300 时序图
A 股情绪指数(蓝色填充)与沪深 300 累计净值(黑色线)的 8 年对照。红色虚线为极恐/极贪阈值。下方四色曲线为四个类别得分(动量/宽度/资金/波动率)。

起因

上周有个读者问我:"你天天盯盘,到底靠什么判断市场情绪?"

我以前确实没量化过。所有判断都靠感觉——K 线走弱就觉得恐慌,反弹就觉得贪婪。这种主观判断在 A 股特别容易出错,因为情绪从来都不是线性的。

美股有一个现成的工具:CNN Fear & Greed Index。它用 7 个成分指标合成一个 0-100 分,分数越低越恐惧,越高越贪婪。

问题在于美股的指数到 A 股就水土不服——VIX 是 S&P 500 期权波动率,Put/Call Ratio 用的是 CBOE 数据。这些 A 股都没有。

于是我花了几天时间,做了一个 A 股版的。

13 个成分指标

参照 CNN FGI 的方法论,我挑了 13 个 A 股可量化的指标,分成 4 大类:

A. 动量类(权重 30%)

B. 宽度+估值类(权重 30%)

C. 资金面类(权重 25%)

D. 波动率类(权重 15%)

关键设计选择:每个成分用过去 3 年(750 个交易日)滚动 P5/P95 分位数标准化到 0-100。这样能自动适配不同市场风格(2015 杠杆牛 vs 2020 核心资产 vs 2024 微盘),不会出现指标漂移。

动态加权策略:如果某个成分在某天数据缺失(比如北向资金历史只到 2023-09),那一天就把这个成分的权重归零,再重归一化剩余权重。结果:2018-2024 指数用 6 个基础成分算,2024-07 之后才用全 13 成分。指数全程连续无断裂。

当前读数:24.4 —— 极度恐惧

2026-07-27 当天指数收盘在 24.4 分。

分值含义
0–25极度恐惧(历史底部区域)
25–45恐惧
45–55中性
55–75贪婪
75–100极度贪婪(历史顶部区域)

24.4 意味着当下市场处于"极度恐惧"区间——全样本中低于 25 的天数只占 6.5%(127 / 1958 天)。

历史上的极恐时刻包括:

当下情绪读数和历史底部时刻特征完全一致。

7 月以来指数已经连续多日在 25 附近徘徊。最近一次从"极度贪婪"跌到"极度恐惧",中间只用了 2 周(7 月初还在 60+)。这本身就是情绪剧烈切换的信号——情绪指数最有用的时候,往往不是"现在多高多低",而是"从哪到这的速度"。

回测:极恐时反向操作胜率 60%

只看"情绪是否反向"——这是这个工具最实在的用法。

极恐(<25)后做多沪深 300,未来 60 个交易日胜率 55.3%,平均收益 +0.08%。

极恐 2(<15)信号更强:未来 60 日胜率 60.0%(n=30),平均收益 +0.16%。

极贪端稍微弱一点——极贪(>75)后做空胜率只有 53%,可能因为 A 股极贪后往往是剧烈波动而非单边下跌。

信号触发条件样本数60 日胜率平均收益
极恐< 2512355.3%+0.08%
极恐 2< 153060.0%+0.16%
极贪> 7514947.7%+0.02%

简化策略回测:如果昨日指数 < 25 → 今日买入沪深 300 ETF 并持有。2018-2026 累计 +48%,跑赢沪深 300 持有 (+13%) 约 35 个百分点

当然这个回测没考虑交易成本,也没考虑信号重复触发——真实的策略收益会低 1-3 个百分点。但 alpha 方向是确定的。

极值后未来 N 日收益分布
4 个时间窗口(5/10/20/60 日)× 4 个阈值(极恐2/极恐/极贪/极贪2)= 16 个箱型图。极恐 2(<15)后 60 日的中位收益最为明显地偏向正值。

为什么不用更复杂的机器学习

有人会问:为什么不用 LSTM、Transformer、LightGBM?三个理由:

  1. 可解释性 > 精度。我希望每个成分都能讲清楚"为什么这一项在当前读数上贡献了多少"。ML 黑盒做不到。
  2. 历史样本不够。1958 天对 ML 来说太少,过拟合风险大于 alpha 收益。
  3. 策略需要规则化。一个 0-100 分的指数比"模型预测未来 5 日上涨概率 53.7%"更适合做投资决策。

简单的东西更容易坚持

当前的局限

诚实交代几个数据缺口:

  1. 北向资金历史只到 2023-09(akshare 公开接口限制,要全历史得付费接口)
  2. 融资余额历史只到 2023-09(同上)
  3. 涨停/跌停家数没有历史(只能拿到当日)
  4. 新高新低 + 市净率从 2024-07 开始才有完整数据(500 天)

实际影响:2018-2024 的指数主要靠 6 个基础成分(动量 + RV + QVIX + 通道位置)算出来,2024-07 之后才用全 13 成分。指数全程连续无断裂,但 2024 前的资金面贡献打了折扣。

回测本身的局限:

机器学习的诱惑:要不要换成 LSTM / LightGBM 让模型自己学权重?我尝试过,AUC 比简单加权好 2-3 个百分点,但完全不可解释——你不知道模型为什么认为今天情绪是 24.4。

我宁可要一个"60% 准确但能解释"的工具,也不要一个"62% 准确但黑盒"的工具。

滚动胜率与策略回测
左上:极恐(<25)后 20 日上涨胜率(3 年滚动),2025-2026 跳升至 ~70%。右上:60 日上涨胜率,长期稳定 55-65%。左下:极贪(>75)后 20 日下跌胜率,2024 后约 55-60%。右下:极恐次日买入策略 vs 沪深 300 持有——策略 +48%,基准 +13%。

怎么用

最务实的用法:

情绪区间操作建议
0–25(极度恐惧)分批建仓 / 加仓
25–45(恐惧)持有,不轻易减仓
45–55(中性)观望
55–75(贪婪)持有,不轻易加仓
75–100(极度贪婪)分批减仓

但要清醒:情绪指数只是温度计,不是预测器。它在"什么时候是极端时刻"这件事上很有用,但"极端之后会怎么走"——是反弹还是继续跌——还是需要你自己判断基本面、估值、政策。

当前信号:24.4 分,极度恐惧。这是一个值得"再看看"的位置——但不是 All in 的位置。

使用场景的真实限制:

完整代码

如果你也想自己跑一份,所有代码和数据都在上面那个目录。akshare 装上就能用

三个 Takeaway