Strasmore Research
Learn · Matt ConnorBy Matt Connor · · Updated 2026-09-05

低波动率异象:高风险未必带来高回报

对比约两年间25只大盘股的实际波动率与总回报,看看为何更高风险并未稳定换来更高收益,并发现哪些股票打破教科书规律。

金融理论认为,投资者承担更多风险,就应获得更高回报作为补偿。低波动率异象是市场长期观察到的一种现象:这一点往往并不成立。在市场历史的许多阶段,波动更低的股票在承受远小于高波动股票的价格起伏的同时,回报却能与后者持平甚至胜出。本文将约过去两年间25只规模较大且广为人知的股票的实际波动率与总回报进行对比。结果显示,两者关系松散且噪声较大,并非教科书所描绘的整齐上升线。

低波动率异象是什么

这里的波动率指年化波动率,即股票日回报的标准差换算为年度数值。对于股票而言,接近16%的数值通常意味着波动较平稳;高于50%则表示该股票经常在单日内波动几个百分点。每门金融课程都会讲授的资本资产定价模型认为,两者应呈现一条直线上升关系:波动率越高,预期回报越高。

数十年的学术研究却发现,实际情况往往相反。历史上,低波动率投资组合的回报通常不低于高波动率投资组合,有时还会更高,但承担的风险仅为后者的一小部分。理论与实际记录之间的差距,就是这一异象。它是市场中研究最充分的模式之一,也是如今“min-vol”和“low-vol”基金的理论基础。

逐只比较波动率与回报

下图选取25只家喻户晓的大盘股,计算它们在同一时间窗口内的年化波动率和总回报,并按波动率从低到高排列。如果教科书中的关系成立,从左到右,回报柱状图应与波动率柱状图同步上升。

查询年化波动率 vs 总回报率,25只大盘股,按平稳至剧烈排列(约2年)
25 rows (showing 20)
ticker年化波动率 (%)总收益率 (%)
SPY16.140.8
KO17.737.8
MCD18.9-0.8
JNJ1990
PG19.1-12.1
COST20.87.7
PEP21.1-17.1
MO22.951.7
VZ23.422.8
HD23.9-6.1
XOM24.538.9
WMT24.757.8
JPM24.980.1
HON25.4-2.1
LMT26.812.7
MRK29.216.3
NFLX33.715.4
CAT34.7148.2
LLY38.226.1
TXN40.832.9
每个数字背后的完整 SQL
WITH d AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY','KO','JNJ','PG','PEP','WMT','MCD','MO','VZ','XOM','JPM','HD','COST','UNH','MRK','LLY','HON','LMT','CAT','TXN','ORCL','NVDA','TSLA','AMD','NFLX')
      AND window_start >= now() - INTERVAL 800 DAY
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
r AS (
    SELECT ticker, dt, c,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM d
)
SELECT ticker,
       round(stddevSamp(ret) * sqrt(252) * 100, 1) AS annual_vol_pct,
       round((exp(sum(log(1 + ret))) - 1) * 100, 1) AS total_return_pct
FROM r
WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
GROUP BY ticker
ORDER BY annual_vol_pct
自己运行这个查询

实际并非如此。样本中波动率最低的是标普500指数本身,ticker SPY,其年化波动率为16.1%,总回报为40.8%。从左向右观察,部分波动率最低的个股取得了强劲涨幅,而几只波动率最高的股票却接近持平或出现亏损。回报柱状图分布较为分散,与波动率柱状图并不呈现任何直线关系。这一图表清楚显示了该异象:右侧更高的波动率,并未稳定带来更高的回报。

更高波动率实际带来了什么

按波动率将25只股票分为三组,可以更清楚地说明这一点。每组均列出回报中位数,以及从表现最差到表现最佳的区间,因此投资者可以同时看到平均水平和结果分散程度。

查询波动率三分位:中位回报率及各组最差至最佳股票的区间
波动率组波动率中位数 (%)收益率中位数 (%)最差收益率 (%)最佳收益率 (%)区间 (%)
1. Calmest third19.122.8-17.190107
2. Middle third25.115.8-6.180.186
3. Wildest third44.255.8-18.5198.6217
每个数字背后的完整 SQL
WITH d AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY','KO','JNJ','PG','PEP','WMT','MCD','MO','VZ','XOM','JPM','HD','COST','UNH','MRK','LLY','HON','LMT','CAT','TXN','ORCL','NVDA','TSLA','AMD','NFLX')
      AND window_start >= now() - INTERVAL 800 DAY
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
r AS (
    SELECT ticker, dt,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM d
),
pername AS (
    SELECT ticker,
           stddevSamp(ret) * sqrt(252) * 100 AS vol,
           (exp(sum(log(1 + ret))) - 1) * 100 AS tr
    FROM r
    WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
    GROUP BY ticker
),
ranked AS (
    SELECT ticker, vol, tr, ntile(3) OVER (ORDER BY vol) AS bucket FROM pername
)
SELECT multiIf(bucket = 1, '1. Calmest third', bucket = 2, '2. Middle third', '3. Wildest third') AS vol_group,
       round(median(vol), 1) AS median_vol_pct,
       round(median(tr), 1) AS median_return_pct,
       round(min(tr), 1) AS worst_return_pct,
       round(max(tr), 1) AS best_return_pct,
       round(max(tr) - min(tr), 0) AS range_pct
FROM ranked
GROUP BY bucket
ORDER BY bucket
自己运行这个查询

在这一特定时间窗口内,波动率最高的三分之一股票确实取得了最高的回报中位数,为55.8%;波动率最低的三分之一为22.8%。这一点应如实说明,也很重要。两年窗口较短,而过去两年中,少数规模较大、波动较高的科技股和动量股表现突出。波动率最高的三分之一股票还带来了更大的结果分散,其回报区间从-18.5%到+198.6%,跨度为217个百分点。波动率最低的三分之一股票的回报区间仅为107个百分点。高波动率大幅扩大了结果分布范围,却并未相应抬高回报中枢。投资高波动组的投资者确实有机会获得表中最高回报,也同样可能遭遇最差回报。

过程与终点同样重要

单一的总回报数字会掩盖持有过程。追踪时间窗口开始时投入的100美元在每周的变化,可以显示波动率在持有期间的实际感受。

查询$100增长:平稳股(KO)、市场(SPY)、剧烈股(NVDA),周度
115 rows (showing 20)
KO 平稳SPY 市场NVDA 高波动
2024-06-2499.699.699.5
2024-07-0199.7101.5101.5
2024-07-0899.7102.5104.2
2024-07-15102.1100.595.2
2024-07-22104.999.691.2
2024-07-29108.497.686.5
2024-08-05107.497.584.5
2024-08-12108.2101.4100.5
2024-08-19109.1102.9104.3
2024-08-26113.4103.296.3
2024-09-02111.398.982.9
2024-09-09111.7102.996
2024-09-1611210493.6
2024-09-23112.3104.697.9
2024-09-30109.7104.9100.7
2024-10-07108.8106.1108.7
2024-10-14110.2107111.3
2024-10-21104.7106114.1
2024-10-28101.7104.5109.2
2024-11-04100109.5119
每个数字背后的完整 SQL
WITH d AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('KO','SPY','NVDA')
      AND window_start >= now() - INTERVAL 800 DAY
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
r AS (
    SELECT ticker, dt,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM d
),
f AS (
    SELECT ticker, dt, ret FROM r WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
),
cum AS (
    SELECT ticker, dt,
           100 * exp(sum(log(1 + ret)) OVER (PARTITION BY ticker ORDER BY dt)) AS idx
    FROM f
),
wk AS (
    SELECT ticker, toMonday(dt) AS week, argMax(idx, dt) AS wv
    FROM cum GROUP BY ticker, week
)
SELECT week,
       round(maxIf(wv, ticker = 'KO'), 1) AS ko_calm,
       round(maxIf(wv, ticker = 'SPY'), 1) AS spy_market,
       round(maxIf(wv, ticker = 'NVDA'), 1) AS nvda_wild
FROM wk
GROUP BY week
ORDER BY week
自己运行这个查询

图中波动最小的股票是可口可乐(KO),波动最大的是英伟达(NVDA),中间的曲线代表市场。截至最后一周,投在KO上的100美元增至137.8美元,标普500增至140.8美元,NVDA则增至185.1美元。NVDA在这一时间窗口内表现最佳,但走势明显更为曲折,期间不止一次回撤超过两位数。KO几乎没有明显波动,回报却落后于另外两条曲线。两种结果都不符合教科书的预测。此次波动较低的股票没有跑赢市场,而波动较高的股票虽然取得回报,却是低波动率异象的例外,并非该异象的体现。这正是短期窗口的特点。低波动率异象是持续数十年的统计倾向,并不保证任何两年区间都会如此。

为什么异象真实存在,却不是定律

低波动率现象最有力的表述其实较为克制:从长期看,买入波动率较低的股票并不会让投资者牺牲回报,却能显著降低风险。这是对数千只股票和多年数据平均结果的描述,并不是一条适用于25只股票、24个月窗口的规则。像本次这样由高波动动量股强势领涨的窗口,正是这一模式被称为“异象”而非“定律”的原因。若想进一步了解哪些大盘股实际最为稳定,请参阅波动率最低的大盘股。反过来,集中持有少数几只高波动赢家也会带来集中度风险;而低波动率异象所偏好的投资心态,与他人恐惧时买入背后的理念相近。

常见问题

什么是低波动率异象?

这是一个长期观察到的市场模式:在较长时间跨度内,低波动率股票取得的回报不低于甚至高于高波动率股票,但承担的风险低得多。这与教科书关于风险越高、回报越高的预测相悖。

低波动率股票真的能跑赢高波动率股票吗?

跨数十年的样本研究发现,低波动率股票按风险调整后的表现大致与高波动率股票持平,甚至能够胜出。在任何短期窗口内,结果都可能反转。在本文测算的两年窗口中,波动率最高的三分之一股票取得了最高回报中位数,其结果区间也明显最宽。

低波动率投资是一个好策略吗?

从历史表现看,低波动率投资在没有明显牺牲回报的情况下降低了风险,这正是“min-vol”基金存在的原因。但它不保证在任何特定年份跑赢市场;当投机性股票领涨时,该策略也可能大幅落后。

如何衡量股票波动率?

常用指标是年化波动率,即每日百分比回报的标准差乘以252的平方根。252代表一年中的交易日数量。数值越高,表示股票通常会出现幅度更大的双向日内波动。


上文每个图表面板都对应一个可存储、可检查的查询。打开任一图表下方的SQL即可核对计算过程,也可以在Strasmore终端上对您自己的股票组合运行同样的波动率与回报测试。