ボラティリティ、BSモデルの前提、期待収益率
2021年10月15日
ボラティリティは標準偏差
一般的なデータ分析と同様に、時系列分析においても基本統計量を用いてデータの要約を行うことが多い。
もっとも基本的な統計量は、期待値(expectation)もしくは平均(mean)であり、これは各時点の$y_t$が平均的にどれくらいの値をとるかを表すものである。$y_t$の期待値は$E(y_t)$と表記される。
次に、$y_t$が期待値から平均的にどの程度ばらつく可能性があるかを表す統計量の1つが分散(variance)である。 $y_t$の分散は、期待値を用いて$E(y_t - \mu _t)^2$で定義され、$Var(y_t)$などと表記される。 ここで、$\mu _t = E(y_t)$である。
また、分散の平方根は標準偏差(standard deviation)と呼ばれる。 ファイナンスの分野では、この標準偏差のことをボラティリティ(volatility)と呼ぶことが多い。 標準偏差もしくはボラティリティはシグマの記号(σ)を使って表記される。
ファイナンスの世界では標準偏差の果たす役割が大きいため、標準偏差に特別な名前が与えられたのである。
株価が変動する前提事項
株価オプションの評価モデルでは、「時間の経過と共に株価がどのように変化するか」についての前提が必要となる。
ブラック・ショールズ・モデルの前提は、株価は「ランダム・ウォーク(random walk)」に従うというものである。 これは、短い期間における株価の変化率が正規分布に従うことを意味する。
ブラック・ショールズ・モデルの基になる前提前提は次のようなものである。
$$ \frac{\varDelta S}{S} \text{\textasciitilde} \phi (\mu \varDelta _t, \sigma \sqrt{\varDelta _t}) $$
$\mu$ | 株価の期待収益率 |
$\sigma$ | 株価のボラティリティ |
$\mu \varDelta _t$ | 時間$\varDelta _t$における変化率の平均 |
$\sigma \sqrt{\varDelta _t}$ | 変化率の標準偏差 |
$\varDelta S$ | 時間$\varDelta _t$におけるSの変化 |
$\phi (m, s)$ | 平均mおよび標準偏差sを持つ正規分布 |
ランダム・ウォークが前提にあるということは、将来のある時点における株価が「対数正規(lognormal)」分布に従うことを意味する。
正規分布は左右対称である。正規分布を想定すると、原資産価格が上昇する可能性に応じて同程度の下落の可能性があることになる。
つまり、50ドルの金融商品が75ドル上昇して125ドルになることを考慮に入れるなら、同様に50ドルの金融商品が75ドル下落して-25ドルになる可能性も考慮にいれなければならないということである。 しかし、現実として株式や先物がマイナスの価格になることはない。
ブラック・ショールズ・モデルは連続時間モデルなので、価格変化の正規分布を前提とすると、連続複利により満期時の価格は対数正規分布となる。
+20% | -20% | |
0 | 100 | 100 |
1 | 120 | 80 |
2 | 144 | 64 |
3 | 172.8 | 51.2 |
4 | 207.36 | 40.96 |
5 | 248.83 | 32.77 |
正規分布
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
from scipy.stats import norm
mean=50
sd=10
bins = np.arange(20, 80)-0.5
xn = np.linspace(min(bins), max(bins), 1000)
yn = norm.pdf(xn,loc=mean,scale=sd)
plt.figure(figsize=(10, 5))
plt.plot(xn,yn)
plt.show()
対数正規分布
from scipy.stats import lognorm
mu_ln = 2
sigma_ln = 1
bins = np.arange(0, 41)-0.5
x = np.linspace(min(bins), max(bins), 10000)
lognorm_pdf = lognorm.pdf(x,s=sigma_ln,scale=np.exp(mu_ln))
plt.figure(figsize=(10, 5))
plt.plot(x, lognorm_pdf)
plt.show()
正規分布の変数は正負両方の値を取るが、対数正規分布は正の値に限られる。 また、正規分布が対称形をしているのに対し、対数正規分布は平均値、中央値、および最頻値がすべて異なる歪んだ形をしている。
対数正規分布に従う変数には、その自然対数が正規分布に従うという性質がある。 したがって、株価におけるブラック・ショールズ・モデルの前提は、$S_T$を将来時点Tにおける株価とすると、$\ln S_T$が正規分布することを表している。 $\ln S_T$は、自然対数$\log _e S_T$の意味である。
$\ln S_T$の平均値と標準偏差はそれぞれ、
$$ \ln S_T + (\mu - \frac{\sigma ^2}{2})T $$
および
$$ \sigma \sqrt{T} $$
となる。ここで、Sは現在の株価だから、次のように表すことができる。
$$ \tag{A} \ln S_T \text{\textasciitilde} \phi [\ln S + (\mu - \frac{\sigma ^2}{2})T, \sigma \sqrt{T}] $$
$S_t$の期待値つまり平均値$E(S_t)$は、
$$ E(S_T) = Se ^{\mu T} $$
となり、期待収益率$\mu$の定義と一致する。また、$S_T$の分散$Var(S_T)$は、
$$ Var(S_T) = S ^2e ^{2 \mu T} (e ^{\sigma ^2 T} -1) $$
で求められる。
例題
$$ \ln S_T \text{\textasciitilde} \phi [\ln S + (\mu - \frac{\sigma ^2}{2})T, \sigma \sqrt{T}] $$
$$ \ln S_T \text{\textasciitilde} \phi [\ln 40 + (0.16 - \frac{0.2 ^2}{2})0.5, 0.2 \sqrt{0.5}] $$
$$ \ln S_T \text{\textasciitilde} \phi (3.759, 0.141) $$
で求められる。
cp=40
ev=0.16
v=0.2
t=0.5
mean = np.log(cp) + (ev - v**2 / 2 ) * t
print(mean)
#3.758879454113936
sd = v * np.sqrt(t)
print(sd)
#0.14142135623730953
正規分布に従う変数は、平均値から±2標準偏差の範囲に95%収まるので、
$$ 3.476 < \ln S_T < 4.042$$
n2sd = mean - sd * 2
print(n2sd)
#3.476036741639317
p2sd = mean + sd * 2
print(p2sd)
#4.041722166588555
となり、これは、
$$ e^{3.476} < S_T < e^{4.042} $$
つまり、
$$ 32.33 < S_T < 56.92 $$
と表すことができるから、6か月後の株価は95%の確率で32.33と56.92の間の値をとる。
n2sd_p = np.exp(n2sd)
print(n2sd_p)
#32.33133040370367
p2sd_p = np.exp(p2sd)
print(p2sd_p)
#56.924291552219415
なお式(A)より、次のように表すことができる。
$$ \ln \frac{S_T}{S} \text{\textasciitilde} \phi [(\mu - \frac{\sigma ^2}{2})T, \sigma \sqrt{T}] $$
ここで、T=1とすると、$\ln(\frac{S_T}{S})$は1年後の株価に対する連続複利収益率だから、1年後の連続複利利回りの平均と標準偏差はそれぞれ、$\mu - \frac{\sigma ^2}{2}$および$\sigma$となる。
期待収益率
ブラック・ショールズ・モデルが前提とする以下の式は、$\mu \varDelta _t$が非常に短い期間$\varDelta _t$の期待変化率であることを示している。
$$ \frac{\varDelta S}{S} \text{\textasciitilde} \phi (\mu \varDelta _t, \sigma \sqrt{\varDelta _t}) $$
これは$\mu$が$\varDelta _t$における期待収益率(年率)であり、$\varDelta _t$の複利回数で表せることを意味する。
$\varDelta _t$は非常に小さいため、$\mu$は期待連続複利収益率でもあると見なすことは自然である。 しかし、この場合、それは当てはまらない。
$$ \tag{A} \ln S_T \text{\textasciitilde} \phi [\ln S + (\mu - \frac{\sigma ^2}{2})T, \sigma \sqrt{T}] $$
式Aは、1年後の期待連続複利収益率が$\mu - \frac{\sigma ^2}{2}$であることを示している。
例えば、1年複利ベースで計算した年率の株価収益率が以下のようだったとする。
1年目 | 2年目 | 3年目 | 4年目 | 5年目 |
15% | 20% | 30% | -20% | 25% |
これらの算術平均は14%となる。しかし、投資家がこの株式に5年投資したとしても、実際の収益率は年率14%には届かない。 当初の投資額を100ドルとすると、5年後には、
$$ 100 \times 1.15 \times 1.20 \times 1.30 \times 0.80 \times 1.25 = 179.40ドル$$
の価値になるはずである。一方、14%の複利の収益率の場合は、
$$ 100 \times 1.14^5 = 192.54ドル$$
となる。実際、この例における投資家の年複利収益率の平均は、
$$ (1.7940)^{\frac{1}{5}} -1 = 0.124 $$
つまり、年率12.4%である。
この例は、それぞれの年から得た収益率の平均と、数年に渡る平均年複利収益率の年率は必ずしも一致しないことを示している。
つまり、各年の収益率が同一でない限り、異なる値の算術平均が幾何平均よりも常に大きくなるのと同じ理由で、前者は常に後者を上回ると言える。
収益率を計る期間を次第に短くし、計測回数を増やすと、以下の2つの収益率が得られる。
- 微小期間の期待収益率
- 長期間の連続複利での期待収益率
これらを比べると1の方が2より大きくなり、微小期間の期待収益率は$\mu$であるのに対し、連続複利期待収益率は$\mu - \frac{\sigma ^2}{2}$である。
期待収益率(expected return)は、上記のどちらかを指す曖昧な用語だということが分かる。
ボラティリティ
株価のボラティリティ(σ)は、その株式から得られる収益についての不確かさを判断する基準となるものである。
$$ \tag{A} \ln S_T \text{\textasciitilde} \phi [\ln S + (\mu - \frac{\sigma ^2}{2})T, \sigma \sqrt{T}] $$
式Aから、ボラティリティを次のように定義することができる。
$\sigma \sqrt{T}$は時間Tを経過した株価の変化率の標準偏差とみなせる。 年率30%とすると、1年後における株価の標準偏差は約30%、6か月後の変化の標準偏差は約21.2%($= 30 \sqrt{0.5}$)、 3か月後の変化率の標準偏差は約15%($= 30 \sqrt{0.25}$)となる。
正確には、時間Tを経過した$\ln S$の変化率の標準偏差が$\sigma \sqrt{T}$であると言うことができる。
将来の株価についての不確かさの標準偏差(ボラティリティ)による評価は、対象とする将来の期間の平方根に比例し増加する(線形の増加ではない)。
ヒストリカル・ボラティリティ
株価データを使用して、ボラティリティを推定すことができる。通常は定期的に観測された株価(日次、週次、月次)のデータが用いられる。
$$ \mu _i = \ln (\frac{S_i}{S _{i-1}}) $$
とすると、$u_i$の標準偏差の推定値は$s$は、
$$ s = \sqrt{\frac{1}{n-1} \displaystyle\sum_{i=1}^n (u_i - \bar{u})^2} $$
つまり、
$$ s = \sqrt{\frac{1}{n-1} \displaystyle\sum_{i=1}^n u_i^2 - \frac{1}{n(n-1)} ( \displaystyle\sum_{i=1}^n u_i ) ^2} $$
で求められる。ここで、$\bar{u}$は$u_i$の平均である。
$$ \tag{A} \ln S_T \text{\textasciitilde} \phi [\ln S + (\mu - \frac{\sigma ^2}{2})T, \sigma \sqrt{T}] $$
式Aから、$u_i$の標準偏差は$\sigma \sqrt{\tau}$であるので、変数sは$\sigma \sqrt{\tau}$の推定値となる。 よって、$\sigma$自身は次の$\hat{\sigma}$として推定できる。
$$ \hat{\sigma} = \frac{s}{\sqrt{\tau}} $$
この推定値の標準誤差は、$\frac{\hat{\sigma}}{2n}$で近似される。
nとして適当な値を選択するのは容易ではない。通常、データが多いほと正確な結果が得られるが、$\sigma$は時間と共に変kすることから、 古すぎるデータを将来の予測に用いることは適切でない場合がある。
直近90日から180日の日次終値データが用いられることが多い。また、ボラティリティの計算にあたって、時間を実日数ベースで考えるのか、 それとも営業日ベースで考えるのかということは重要な問題である。
$n+1$ | 観測データの数 |
$S_i$ | 第i期間の期末時点での株価($i=0,1,..., n$) |
$\tau$ | 1期間の長さ(年単位) |
参考書籍
- 先物・オプション取引入門
- 経済・ファイナンスデータの計量時系列分析