Σ
SDCalc
中級實務應用·12 min

時間序列的移動標準差

學習如何計算和解讀用於時間序列分析的移動(滾動)標準差。涵蓋布林通道、波動性叢聚、Python 程式碼範例,以及金融領域的實際應用。

什麼是移動標準差?

移動標準差(也稱為滾動標準差或追蹤波動性)是在一個滑動的時間視窗內計算標準差。與使用全部歷史資料的靜態標準差不同,移動標準差聚焦於近期的觀測值,因此對於偵測波動性隨時間的變化非常重要。

這個技巧在金融市場中至關重要,因為波動性並非恆定不變,而是會隨時間變化。一支股票可能在數月內波瀾不驚,然後在財報公布或市場危機期間突然劇烈波動。移動標準差能即時捕捉這些動態變化。

為什麼移動標準差很重要

靜態標準差對所有歷史資料一視同仁,但近期的波動性往往比遠期歷史更能預測未來的波動性。移動標準差提供了一個即時、可操作的風險衡量指標,能隨市場條件變化而調整。

如何計算滾動標準差

在每個時間點,計算前 n 個資料點的標準差。隨著時間推進,視窗向前滑動,始終使用最近的 n 個數值。這會產生一個波動性估計的時間序列。

1

定義視窗

選擇每次計算要包含多少期(例如 20 天)。
2

計算第一個標準差

計算前 n 個資料點的標準差。
3

滑動視窗

向前移動一期,移除最舊的值,加入最新的值。
4

重複

持續進行直到資料序列結束。
python
import pandas as pd
import numpy as np

# Load your time series data
df = pd.read_csv('stock_prices.csv')

# 20-day rolling standard deviation
df['rolling_std_20'] = df['returns'].rolling(window=20).std()

# Annualized volatility (assuming daily returns)
df['annualized_vol'] = df['rolling_std_20'] * np.sqrt(252)

# Multiple windows for comparison
df['rolling_std_10'] = df['returns'].rolling(window=10).std()
df['rolling_std_50'] = df['returns'].rolling(window=50).std()

注意前 (window-1) 個值會是 NaN,因為你需要至少 n 個觀測值才能計算。實務上,你可以使用 min_periods 參數,在觀測值較少時就開始計算。

選擇合適的視窗大小

視窗大小需要在反應速度和穩定性之間取得平衡:

  • 短視窗(5-10 天):對波動性變化反應迅速,但雜訊較多,可能產生假訊號
  • 中視窗(20-30 天):平衡反應速度與穩定性;20 天是布林通道的業界標準
  • 長視窗(50-100 天):平滑穩定但偵測體制變化較慢;適合趨勢分析

小提示

同時使用多個視窗大小。比較 10 天、20 天和 50 天的移動標準差,以了解短期波動和長期波動趨勢。這些指標之間的分歧可能預示體制的轉變。

實際應用

移動標準差在金融和資料科學領域有廣泛的應用:

  • 風險管理:使用近期波動性而非歷史平均值來計算風險值 (VaR)
  • 選擇權定價:為 Black-Scholes 和其他模型估計隱含波動性參數
  • 投資組合管理:根據當前波動性調整部位規模;波動性飆升時減少曝險
  • 異常偵測:識別當前波動性顯著偏離移動平均的異常時期
  • 技術分析:布林通道、肯特納通道及其他基於波動性的指標

布林通道說明

布林通道是移動標準差最著名的應用。由約翰·布林格在 1980 年代開發,它在價格周圍建立一個能自適應波動性的動態通道。

布林通道

Upper Band = SMA(20) + 2 × Moving SD(20) Lower Band = SMA(20) - 2 × Moving SD(20)

通道在波動期擴張,在平靜期收縮。交易者利用這個特性來:

  • 識別價格觸及通道時的超買/超賣狀態
  • 偵測“擠壓”(低波動性),這通常預示突破的到來
  • 根據當前市場狀況設定動態停損

波動性叢聚

金融界最重要的實證事實之一是波動性會叢聚——高波動性傾向於跟著高波動性出現,低波動性亦然。這一現象由羅伯特·恩格爾(2003 年諾貝爾獎)在 ARCH 模型中形式化。

移動標準差能以視覺化方式揭示這種叢聚現象。當你繪製滾動波動性的時間序列圖時,你會看到清晰的高波動和低波動體制,而非隨機波動。這有著深遠的含義:

  • 可預測性:明天的波動性可能與今天相似——你可以預見風險
  • 風險預算:進入高波動體制時減少部位規模
  • 策略選擇:不同的交易策略在不同的波動性環境中表現各異

重要提醒

儘管波動性會叢聚,體制的轉變可能突然且劇烈。重大新聞事件、市場崩盤或政策宣布可能瞬間改變波動性體制。移動標準差總是會滯後於這些變化——當它反映出新的現實時,體制可能已經再次改變了。