單一股票的真正風險:波動率與最大回撤
了解集中持股的風險,查看六檔知名股票過去一年的年化波動率與最大回撤,並與 S&P 500 指數比較,評估資產可能承受的跌幅。
集中風險是指,個人淨資產過度集中於單一股票所帶來的風險。單一股票在一年內的波動幅度,可能是大盤的數倍;相較於自身高點,也可能下跌得更深。本頁同時衡量兩項指標:年化波動率,以及從高點至低點的最大回撤。分析對象為六檔知名股票,並以 S&P 500 指數作為比較基準,資料採用過去一年的分鐘級資料。
單一股票的波動幅度比指數高多少?
波動率是衡量價格上下震盪幅度的標準指標。年化實現波動率會將一年內每日的百分比變動換算為年度數值;數值越高,代表價格向上或向下的波動幅度越大。該指數將約500家公司整合為一條價格走勢,而個別股票的漲跌會部分相互抵銷,因此整體走勢的波動幅度低於其中任何單一成分。
| ticker | 年化波動率(%) |
|---|---|
| SPY | 12.7 |
| KO | 18.7 |
| JNJ | 18.8 |
| PG | 19.4 |
| NVDA | 37.9 |
| TSLA | 47.4 |
| PLTR | 60.4 |
每個數據背後的精確 SQL 語法
SELECT ticker,
round(stddevSamp(ret) * sqrt(252) * 100, 1) AS annual_vol_pct
FROM (
SELECT ticker, dt,
c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
FROM (
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', 'NVDA', 'TSLA', 'PLTR')
AND window_start >= now() - INTERVAL 400 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
)
)
WHERE ret IS NOT NULL AND dt >= today() - 370
GROUP BY ticker
ORDER BY annual_vol_pct在過去一年,SPY ETF 的波動率為群組中最低,達 12.7%;PLTR 則居首,達 60.4%。這項涵蓋 7 檔股票的比較中,每一檔股票的波動幅度都高於該指數。即使是最穩健的藍籌股,包括投資人通常認為波動較低的民生必需品與醫療保健類股,其一年期波動率也高於分散投資的股票籃子。圖表右側的高成長股差距更為明顯;單一晚間公布的財報,可能使股價的波動幅度超過指數一個月的變動。
單一個股最多可能下跌多少?
波動率計算上漲與下跌兩個方向的變動;回撤則只計算令人承受壓力的下跌。最大回撤是某段期間內從高點到低點的最大跌幅。它回答的是:「如果我在最不利的時點買進,股價創下新高前,投資最多會套牢多少?」對於有固定資金需求時程的資金而言,回撤往往比波動率更值得關注。
| ticker | 最大回撤(%) |
|---|---|
| KO | 8.5 |
| SPY | 9.1 |
| JNJ | 10.9 |
| PG | 16.1 |
| NVDA | 20.3 |
| TSLA | 39.1 |
| PLTR | 48.3 |
每個數據背後的精確 SQL 語法
SELECT ticker,
round(abs(min(c / peak - 1)) * 100, 1) AS max_drawdown_pct
FROM (
SELECT ticker, dt, c,
max(c) OVER (PARTITION BY ticker ORDER BY dt
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS peak
FROM (
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', 'NVDA', 'TSLA', 'PLTR')
AND window_start >= now() - INTERVAL 400 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
)
WHERE dt >= today() - 370
)
GROUP BY ticker
ORDER BY max_drawdown_pct本組中,回撤最小的是 8.5%,最大的是 48.3%,發生於 PLTR。指數與藍籌股位於圖表中回撤較小的一端;高成長股則分布在回撤較大的一端。接近 48.3% 的回撤,意味著若投資組合全部建立在該檔股票上,資產價值在低點時將縮水近半,之後還需要接近翻倍才能回到損益兩平。同一期間,指數的最大跌幅落在最穩健的單一個股之列,而非最深回撤的一端。
單一股票與指數的走勢比較
長條圖上的數字會掩蓋持有部位的實際歷程。下一個面板將一檔高飛股與 S&P 500 在觀察期開始時都設為 100,並逐月追蹤走勢。兩條線從同一點出發,因此可以觀察它們如何逐漸分歧。
| 月份 | SPY指數化 | TSLA指數化 |
|---|---|---|
| Aug 2025 | 100 | 100 |
| Sep 2025 | 103.3 | 133.1 |
| Oct 2025 | 105.7 | 136.7 |
| Nov 2025 | 105.9 | 128.8 |
| Dec 2025 | 105.7 | 134.6 |
| Jan 2026 | 107.3 | 128.9 |
| Feb 2026 | 106.4 | 120.5 |
| Mar 2026 | 100.8 | 111.3 |
| Apr 2026 | 111.4 | 114.2 |
| May 2026 | 117.3 | 130.4 |
| Jun 2026 | 115.7 | 125.8 |
| Jul 2026 | 115.8 | 93.1 |
| Aug 2026 | 118.9 | 110.2 |
| Sep 2026 | 119.3 | 105.7 |
每個數據背後的精確 SQL 語法
SELECT formatDateTime(mo, '%b %Y') AS month,
round(anyIf(idx, ticker = 'SPY'), 1) AS spy_indexed,
round(anyIf(idx, ticker = 'TSLA'), 1) AS tsla_indexed
FROM (
SELECT ticker, mo,
mclose / first_value(mclose) OVER (PARTITION BY ticker ORDER BY mo
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) * 100 AS idx
FROM (
SELECT ticker, mo, argMax(c, dt) AS mclose
FROM (
SELECT ticker,
toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS mo,
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', 'TSLA')
AND window_start >= now() - INTERVAL 400 DAY
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, mo, dt
)
GROUP BY ticker, mo
)
)
GROUP BY mo
ORDER BY mo兩條線都從 100 開始。十二個多月後,指數收在約 119.3,單一股票則接近 105.7;期末兩者相距不遠。但中間的走勢完全不同。指數以相對平穩的階梯式走勢上升。這檔個股一度大幅超越指數線,之後回吐大部分漲幅,期間波動區間也數倍於指數,直到最後兩者幾乎再次交會。若投資人只在第一天和最後一天查看帳戶,看到的結果可能相近。但若逐月觀察,或必須在其中一次深度下跌期間賣出,經歷的將是截然不同的一年。
多元化是降低波動的對策
在這裡的每個面板中,多元化指數的波動率與回撤幅度都處於低檔。這是因為其涵蓋範圍廣,將數百個彼此獨立的結果平均成一條走勢線,個別資產的跳動因而部分抵銷。將投資組合分散至漲跌不同步的持股,可使整體波動低於其中任何單一持股。若投資組合只由一檔股票組成,或由數檔同一產業、漲跌高度同步的股票組成,其波動率與回撤幅度就會如上方所示,遠高於指數。
當單一部位過大、無法直接全部賣出時,仍可限制其波動幅度,而非完全消除波動。保護性賣權可為持股設定下限;領口策略則在下限與上限之間框定價格區間。上方各面板中的大盤走勢線,是衡量原始部位及其任何避險部位的基準。
常見問題
什麼是集中風險?
集中風險是指財富過度集中於單一股票、產業或資產所產生的曝險。若該項持有部位下跌,投資組合中沒有其他資產可以提供緩衝。上文的單一股票波動率與回撤數據,量化了這些波動幅度高於分散型指數的程度。
單一股票的波動率比 S&P 500 高多少?
這取決於個別股票。過去一年,S&P 500 ETF 的年化波動率為 12.7%;同期個股的波動率最高達 60.4%,對應股票為 PLTR。所有納入衡量的股票,波動幅度都大於該指數。
分散投資能降低風險嗎?
將資金分散配置於許多漲跌不同步的持有部位,可使整體投資組合的波動率與回撤低於任何單一持有部位。上方圖表中的指數就是最明確的例子:在所有納入衡量的序列中,該指數的波動率最低。
我任職公司的股票是否構成集中風險?
若你的淨資產、薪資或股權薪酬有很大一部分取決於單一公司,答案是肯定的。在你投資其他資產之前,這項單一押注就已經存在。若投資組合的其餘部分也由同一家公司或高度相關的股票構成,曝險只會加深,而不是得到平衡。
上方每個圖表都附有背後使用的 SQL。展開任一圖表即可稽核數據,或在 Strasmore terminal 上將你自己的持有部位與該指數比較。若要深入了解波動率概念,請參閱 隱含波動率;若要查看實際的全市場回撤,請參閱 2020年3月的 COVID 崩盤。