「ボラティリティが高い銘柄は怖い」って感覚的にはわかるんですが、じゃあ「どのくらい高いと怖いの?」って聞かれると答えられなかった自分がいました。数字で見ようとすると標準偏差を計算しないといけなくて、最初はとっつきにくかったです。でも一度理解すると、株の選択基準がガラッと変わりました。
標準偏差とは?
標準偏差(σ:シグマ)とは、データの「ばらつき」を表す指標です。株価の文脈では、日次リターンがどれだけ平均からずれやすいかを表します。
計算式は以下の通り:
σ = √(Σ(Xᵢ - μ)² / N)
Xᵢ:各日のリターン
μ:平均リターン
N:観測数
これを年率換算するには √252 をかけます(1年の取引日数が約252日のため)。
Pythonで実際に計算してみる
実際にコードで確認してみましょう。トヨタ(7203)のデータで試しています。
import yfinance as yf
import numpy as np
# トヨタのデータ取得(1年分)
ticker = yf.Ticker("7203.T")
hist = ticker.history(period="1y")
# 日次リターンの計算
daily_returns = hist['Close'].pct_change().dropna()
# 標準偏差(日次)
daily_std = daily_returns.std()
# 年率ボラティリティ
annual_vol = daily_std * np.sqrt(252)
print(f"日次標準偏差: {daily_std:.4f} ({daily_std*100:.2f}%)")
print(f"年率ボラティリティ: {annual_vol:.4f} ({annual_vol*100:.2f}%)")
僕が試したとき、トヨタの年率ボラティリティは約18〜22%でした。「1年間に株価が平均±20%動く可能性がある」という意味です。
ボラティリティを投資判断に使う
標準偏差(ボラティリティ)を知ると、以下のような判断ができるようになります:
1. ポジションサイズの計算
許容リスク(例:総資産の2%)÷ ボラティリティ = 適切な投資額。ボラティリティが高い銘柄には少額、低い銘柄には多めに投資するのが基本。
2. ストップロスの設定
「2σ(シグマ)のところにストップロスを置く」という方法があります。2σ以内の動きは通常の範囲内として許容し、それを超えたら損切り、というロジックです。
# 現在価格から2σ下のストップロス価格を計算
current_price = hist['Close'].iloc[-1]
stop_loss = current_price * (1 - 2 * daily_std)
print(f"現在価格: {current_price:.0f}円")
print(f"2σストップロス: {stop_loss:.0f}円")
3. 銘柄比較
複数の銘柄を比較するとき、リターンだけでなくボラティリティも見ることが大事。同じリターンでもボラティリティが低い方が「効率的」な投資です(シャープレシオの考え方)。
まとめ
標準偏差(ボラティリティ)を知ることで、「なんとなく怖い」から「数字で管理できる怖さ」に変わります。Pythonで計算するのも思ったより簡単なので、ぜひ自分の保有銘柄で試してみてください。
次回は複数銘柄のボラティリティを比較して、ポートフォリオ全体のリスク管理に使う方法を書いてみたいと思います。

