市场情绪表盘怎么读:一个恐惧读数是怎么算出来的
Allen Yan · · 6 分钟

目录
2026 年 9 月 18 日收盘,市场情绪表盘读 31,恐惧。当天标普 500 收在 7,650,比它的 125 日均线高 3.7%,VIX 是 14.8。这两个数听上去都不像恐惧。分数低,是因为覆盖池里当天只有 2 只股票收在 52 周新高,26 只收在 52 周新低;也因为这个月大部分时间,流进下跌股的成交量一直压着流进上涨股的成交量。指数没事。指数里的多数股票有事。
这个缝就是表盘存在的理由。一个代表「市场情绪」的数字,只有在你知道里面装了什么的时候才有用。所以这篇把读数拆开:七个因子,把每个因子变成 0–100 的百分位,等权平均,然后拿两年的读数去对标普 500 之后的走势。它是照着 CNN 那个七因子恐惧贪婪指数的样子做的,但永远不会印出同一个数,原因放在最后一节。
七个因子,以及 9 月 18 日各自量到了什么
每个因子先算一个原始值,方向统一:越大越贪婪。三个和原版完全一样,三个是代理,第七个空着。
市场动量(忠实)。标普 500 收盘除以 125 日均线,减一。18 日:7,650 对 7,377,+3.7%。指数在均线上方算贪婪。
市场波动率(忠实)。VIX 除以它的 50 日均线,减一,再取负号,这样市场越平静分越高。14.8 对 16.2,+8.4%。
避险需求(忠实)。SPY 的 20 个交易日收益减去 TLT(长期国债 ETF)的同期收益。这 20 天股票跌 0.1%,长债跌 1.3%,股票赢 1.2 个点。
垃圾债需求(代理)。HYG(高收益债 ETF)的 20 日收益减 LQD(投资级)的。原版用的是高收益债的期权调整利差。这里没有利差序列,就拿两只 ETF 的价格顶上。窗口里两只都跌了 1.3%,原始值是 0.0。
股价强度(代理)。收在 52 周新高的股票数减去收在 52 周新低的,除以当天计数的股票数。原版数的是纽交所全部上市公司;这里数的是公开池里的 ~518 只,即标普 500 和纳斯达克 100 的成分股。18 日有 463 只带着完整一年的历史:2 只新高,26 只新低,−5.2%。
股价宽度(代理)。同一批股票上的 McClellan 成交量累积指数。每天算上涨股成交量减下跌股成交量,除以总成交量;再算 19 日 EMA 减 39 日 EMA(振荡器,18 日是 −44);再把振荡器从序列第一天起累加。累加值的水平取决于从哪天开始加,所以只用它的百分位,起点日期跟着每一行存下来。这个因子和上面那个都要求池子当天报过数:有不到 80% 的股票有当日 K 线时,两个因子都标为缺失。
期权多空比(缺席)。原版第七个因子是 CBOE 股票 put/call 比率的 5 日均值。这里没有期权成交量的数据源,也不去近似它。分数就是上面六个因子的平均,页面上第七张卡直接写明。
六个原始值互相没法比。+3.7% 的动量和 −44 的宽度振荡器不在一个刻度上;VIX 比均线低 8%,在平静的一年和动荡的一年里是两回事。下一步就是解决这个。
为什么是百分位,对着什么算
每个原始值,对着这个因子自己过去 504 个交易日(约两年)排名。名次就是百分位:波动率读 61,意思是过去两年有 61% 的交易日,VIX 比 18 日更高地压在 50 日均线上方。那些天市场比今天更紧张。
图里能看出为什么不用 z-score。波动率因子的分布拖着一条长长的左尾:2025 年 4 月 VIX 涨到 50 日均线的两倍半,原始值 −146%。只要窗口里含着那一周,标准差就被它撑大,之后每一个平常的日子都会被往中间拉。百分位不管离群值有多大,只数今天左边有几天。
两年是个有代价的选择。窗口短,表盘会更跳,因为一个坏月份在它对照的历史里占比太大。窗口长,表盘会迟迟不承认行情换了阶段。504 天长到装得下不止一种情绪,短到忘得掉上一轮。除此之外没有更硬的理由。
这也意味着任何一天的读数都是相对于它之前两年的。2026 年 9 月的 31,说的是过去两年多数时候更平静。它没说市场在绝对意义上出了问题,也没法和 2020 年印出来的某个 31 直接比,除非你知道那两年长什么样。
平均
六个可用的百分位等权平均,取整。18 日:(34 + 61 + 45 + 40 + 2 + 5) ÷ 6 = 31.2,得 31。档位是 0–24 极度恐惧、25–44 恐惧、45–55 中性、56–75 贪婪、76–100 极度贪婪。
哪一天某个因子算不出来,它就从分母里退出,不会拿一个中性的 50 顶上去。那等于凭空塞进一个没人观察到的读数。页面把那张卡标成不可用,并写明这个数建立在几个因子上。
每个档位之后,标普 500 走了多远
表盘从 2024 年 9 月起每天都有存档,所以那个最自然的问题可以直接问它:落在某一档的那天之后,20 个和 60 个交易日,指数在哪。
先看极度恐惧那一行。那样的一天之后 20 个交易日,指数中位数跌了 1.2%,只有 46% 的情况下更高。60 个交易日之后,中位数涨 9.4%,87% 的情况下更高。两个数来自同样的 68 天,绝大部分在 2025 年 3 月和 4 月:表盘在 25 以下趴了几周,指数一路往下,然后到 6 月全部收复。这个窗口里的极度恐惧是一种持续的状态。反弹按它自己的时间表来。
其余四档在 20 天上看起来差不多:中位数 +1.1% 到 +1.7%,上涨概率 58% 到 100%。最后那个 100% 建立在 17 个极度贪婪的日子上,大多集中在 2024 年 11 月。
表旁边要放三句提醒。窗口互相重叠,68 个极度恐惧日更接近三四段独立的行情,而非 68 个观测。这两年里恰好只有一次急跌,含两次的窗口会印出不一样的表。表说的是这个窗口里读数之后发生了什么,这也是回测共同的局限;下一个两年会有自己的表。
怎么用
表盘描述的是某一天六个市场序列相对自己近期历史的位置。能拿它做的事有三件。
不看图也能回答「今天和平时比怎么样」。指数在高位附近却读 31,像 9 月 18 日那样,说明平均一只股票这个月过得比指数差。这是一个关于市场宽度的事实,不然你得自己去数。指数横盘却读 70,说的是反过来的事。
给情绪一段历史。页面上的档位占比(过去两年 27% 在恐惧、14% 在极度恐惧、3% 在极度贪婪)把「市场好像有点慌」变成一个能和过去两年对照的数,一年曲线则告诉你每一段持续了多久。
它还能给站内别的页面当对照。一个隐含 28% 增速的反向 DCF,在表盘 80 的日子和 20 的日子读起来是两种东西;恐惧读数之后打开银行板或软件板,能看到这个行业是跟着指数动,还是逆着动。
它不能用来择时。上面那张表里,极度恐惧这一行在 20 天和 60 天指向相反的方向。一个读数告诉你市场情绪在哪。它不告诉你该拿它怎么办,这个页面也不会。
和 CNN 指数差在哪
这里的数字任何一天都不会和 CNN 的恐惧贪婪指数对上,差异就是设计本身。
- 三个代理。 垃圾债需求用的是一对 ETF,原版用利差。强度和宽度数的是 ~518 只大盘股,原版数整个纽交所。大盘股会让计数偏:小盘股糟糕的一个月,只要没波及标普 500,这里就比那边看得淡。
- 一个因子缺席。 没有 put/call 比率。平均跑在六个因子上,每个因子的权重都比七因子平均里重一些。
- 滚动窗口。 每个因子对着自己过去 504 个交易日排名,原版每个因子用固定刻度。滚动窗口下,读数永远是相对近期而言,平静的两年会把一个普通的星期衬得很紧张。
- 股票池。 标普 500 和纳斯达克 100 的成分股,按今天的名单。被剔出指数的股票就不再计数。
上面每一条口径就是代码里用的那一条。表盘每天美股收盘后更新一次,盘面上的日期就是它反映的那个收盘。
订阅周报
每周一封英文周报:本周的 13F 持仓申报、内部人交易、财报,以及站内的新研究。不需要注册。
更多文章
- Anthropic 三季度收入 168 亿美元:投资者日透露的数字
- DCF 估值入门:一家便利店到底值多少钱
- 美股 101:现金流折现估值法
- 10 年期美债如何影响本站的每一个估值
- 达美 vs 美联航:把财报摆在一起看
- Anthropic 招股书拆解:420 亿亏损与 5180 亿算力账单
- 穿越周期的成长:Zoom 的 AI 重生与估值错配修复
- 期权:从原理到第一笔交易
- 谁在持有这只股票:13F 怎么读
- 市场宽度:指数在涨,多数股票在跌
- 我们怎么给一支股票估值:十二个模型,一个数
- 这些数字从哪来:申报文件,以及它们何时公开
- 把特斯拉拆开:三种情景下的分部估值
- 反向 DCF 怎么读:股价里藏着的增长率
- 银行怎么估值,一步一步来:P/TBV、ROTCE 和那条线
- REIT 怎么估值,一步一步来:FFO、P/FFO 和收益率利差
- 软件公司怎么估值,一步一步来:Rule of 40 和股票的代价
- 总回报 vs 价格回报:股价图漏掉了什么
- 回测告诉不了你的五件事