---
title: "市场情绪表盘怎么读：一个恐惧读数是怎么算出来的"
description: "拆开每天那个 0–100 的分数：七个因子、为什么用两年百分位、各档位之后标普 500 走了多远，以及它和 CNN 指数差在哪。"
date: 2026-09-21
updated: 2026-09-21
tags: [sentiment, basics]
author: "Allen Yan"
image: https://sweetvaluelab.com/blog/img/5b723e109648126e.png
lang: zh-Hans
canonical: https://sweetvaluelab.com/blog/zh/how-to-read-a-market-sentiment-gauge
---

2026 年 9 月 18 日收盘，[市场情绪表盘](https://sweetvaluelab.com/tools/market-sentiment)读 **31，恐惧**。当天标普 500 收在 7,650，比它的 125 日均线高 3.7%，VIX 是 14.8。这两个数听上去都不像恐惧。分数低，是因为覆盖池里当天只有 2 只股票收在 52 周新高，26 只收在 52 周新低；也因为这个月大部分时间，流进下跌股的成交量一直压着流进上涨股的成交量。指数没事。指数里的多数股票有事。

这个缝就是表盘存在的理由。一个代表「市场情绪」的数字，只有在你知道里面装了什么的时候才有用。所以这篇把读数拆开：七个因子，把每个因子变成 0–100 的百分位，等权平均，然后拿两年的读数去对标普 500 之后的走势。它是照着 CNN 那个七因子恐惧贪婪指数的样子做的，但永远不会印出同一个数，原因放在最后一节。

## 七个因子，以及 9 月 18 日各自量到了什么

每个因子先算一个原始值，方向统一：越大越贪婪。三个和原版完全一样，三个是代理，第七个空着。

![2026-09-18 的七个因子：原始值、百分位条，以及六个可用因子的平均](https://sweetvaluelab.com/blog/img/502c4e69213b2314.svg "2026 年 9 月 18 日。动量 34、波动率 61、避险 45、垃圾债 40、强度 2、宽度 5。六个百分位平均 31.2，取整 31：恐惧。put/call 这一格没有数据源，不进分母。")

**市场动量**（忠实）。标普 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 周新低的，除以当天计数的股票数。原版数的是纽交所全部上市公司；这里数的是[公开池](https://sweetvaluelab.com/stocks)里的 ~518 只，即标普 500 和纳斯达克 100 的成分股。18 日有 463 只带着完整一年的历史：2 只新高，26 只新低，−5.2%。

**股价宽度**（代理）。同一批股票上的 [McClellan 成交量累积指数](https://sweetvaluelab.com/blog/zh/how-to-read-market-breadth)。每天算上涨股成交量减下跌股成交量，除以总成交量；再算 19 日 EMA 减 39 日 EMA（振荡器，18 日是 −44）；再把振荡器从序列第一天起累加。累加值的水平取决于从哪天开始加，所以只用它的百分位，起点日期跟着每一行存下来。这个因子和上面那个都要求池子当天报过数：有不到 80% 的股票有当日 K 线时，两个因子都标为缺失。

**期权多空比**（缺席）。原版第七个因子是 CBOE 股票 put/call 比率的 5 日均值。这里没有期权成交量的数据源，也不去近似它。分数就是上面六个因子的平均，页面上第七张卡直接写明。

六个原始值互相没法比。+3.7% 的动量和 −44 的宽度振荡器不在一个刻度上；VIX 比均线低 8%，在平静的一年和动荡的一年里是两回事。下一步就是解决这个。

## 为什么是百分位，对着什么算

每个原始值，对着这个因子自己过去 504 个交易日（约两年）排名。名次就是百分位：波动率读 61，意思是过去两年有 61% 的交易日，VIX 比 18 日更高地压在 50 日均线上方。那些天市场比今天更紧张。

![波动率因子 504 个每日原始值的直方图，今天的 +8.4% 标在第 61 百分位](https://sweetvaluelab.com/blog/img/d76b3ee3620a5690.svg "波动率因子从 2024-09-16 到 2026-09-18 的原始值。多数日子挤在零附近。左边的尾巴一直拖到 −146%，那是 2025 年 4 月的抛售，VIX 冲到自身均线的 2.5 倍。今天的 +8.4%，左边站着 61% 的日子。")

图里能看出为什么不用 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 个交易日，指数在哪。

![两年的表盘（蓝，左轴）对标普 500（灰，右轴），标出 2025-04-04 的最低读数 2 和 2024-11-13 的最高读数 86](https://sweetvaluelab.com/blog/img/00a0c3e0d096073d.svg "2024-09-16 到 2026-09-18。最低的 2 出现在 2025 年 4 月 4 日，关税抛售的第二天；最高的 86 出现在 2024 年 11 月 13 日，大选后一周。指数那条线穿过两者一路向上。表盘大部分时间在 25 到 75 之间。")

![各档位之后 20 和 60 个交易日标普 500 的中位收益，以及上涨的占比](https://sweetvaluelab.com/blog/img/89c597075866412b.svg "504 个交易日，2024 年 9 月到 2026 年 9 月。极度恐惧的那天之后 20 个交易日，指数中位数跌 1.2%，只有 46% 的时候更高；60 个交易日之后，中位数涨 9.4%，87% 的时候更高。其余四档 20 日中位数都在 +1.1% 到 +1.7% 之间。极度贪婪那一行只有 17 天。")

先看极度恐惧那一行。那样的一天之后 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 个观测。这两年里恰好只有一次急跌，含两次的窗口会印出不一样的表。表说的是这个窗口里读数之后发生了什么，这也是[回测](https://sweetvaluelab.com/blog/zh/what-a-backtest-cannot-tell-you)共同的局限；下一个两年会有自己的表。

## 怎么用

表盘描述的是某一天六个市场序列相对自己近期历史的位置。能拿它做的事有三件。

不看图也能回答「今天和平时比怎么样」。指数在高位附近却读 31，像 9 月 18 日那样，说明平均一只股票这个月过得比指数差。这是一个关于[市场宽度](https://sweetvaluelab.com/blog/zh/how-to-read-market-breadth)的事实，不然你得自己去数。指数横盘却读 70，说的是反过来的事。

给情绪一段历史。页面上的档位占比（过去两年 27% 在恐惧、14% 在极度恐惧、3% 在极度贪婪）把「市场好像有点慌」变成一个能和过去两年对照的数，一年曲线则告诉你每一段持续了多久。

它还能给站内别的页面当对照。一个隐含 28% 增速的[反向 DCF](https://sweetvaluelab.com/tools/reverse-dcf)，在表盘 80 的日子和 20 的日子读起来是两种东西；恐惧读数之后打开[银行板](https://sweetvaluelab.com/tools/banks)或[软件板](https://sweetvaluelab.com/tools/software)，能看到这个行业是跟着指数动，还是逆着动。

它不能用来择时。上面那张表里，极度恐惧这一行在 20 天和 60 天指向相反的方向。一个读数告诉你市场情绪在哪。它不告诉你该拿它怎么办，这个页面也不会。

## 和 CNN 指数差在哪

这里的数字任何一天都不会和 CNN 的恐惧贪婪指数对上，差异就是设计本身。

- **三个代理。** 垃圾债需求用的是一对 ETF，原版用利差。强度和宽度数的是 ~518 只大盘股，原版数整个纽交所。大盘股会让计数偏：小盘股糟糕的一个月，只要没波及标普 500，这里就比那边看得淡。
- **一个因子缺席。** 没有 put/call 比率。平均跑在六个因子上，每个因子的权重都比七因子平均里重一些。
- **滚动窗口。** 每个因子对着自己过去 504 个交易日排名，原版每个因子用固定刻度。滚动窗口下，读数永远是相对近期而言，平静的两年会把一个普通的星期衬得很紧张。
- **股票池。** [标普 500 和纳斯达克 100 的成分股](https://sweetvaluelab.com/stocks)，按今天的名单。被剔出指数的股票就不再计数。

上面每一条口径就是代码里用的那一条。[表盘](https://sweetvaluelab.com/tools/market-sentiment)每天美股收盘后更新一次，盘面上的日期就是它反映的那个收盘。
