「大人の教養・知識・気付き」を伸ばすブログ

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。データ分析・語学に力点を置いています。 →現在、コンサルタントの雛になるべく、少しずつ勉強中です(※2024年1月21日改訂)。

MENU

金融工学でのモンテカルロ法(10/23):条件付きモンテカルロ法

 今回から、金融工学におけるシミュレーションについて学んでいく。テキストとして以下を使う。今回はP.79-82まで。


power-of-awareness.com

6. 条件付きモンテカルロ法

 \mathrm{Monte\ Carlo}法は

  • 問題に沿った(同時)分布に従う(多変量)乱数列の生成
  • その乱数列を使った計算

の2つの部分に分けて考えられる。乱数列の生成は更に

  1. 一様分布に従う乱数列\{u_1,u_2,\cdots,u_n\}の生成
  2. それを元にした必要な同時分布に従う乱数列\{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_n\}の生成

に分けられる。

 \mathrm{Monte\ Carlo}法は高次元問題を取り扱うことはできるものの、誤差を減らすには大きな時間が掛かり時間効率が低い。そこで本章では時間効率を上げるための手段の1つとして分散減少法を説明する。\mathrm{Monte\ Carlo}法における解の統計的誤差は点列数Nに対してk/\sqrt{N}に出来る。分散減少法はこのkを減らす試みである。
 \mathrm{Monte\ Carlo}法による関数f積分値を


\begin{aligned}
E^{*}[f(X)]
\end{aligned}

と書くことにすると、\mathrm{Monte\ Carlo}法のアイディアは以下の2つに分けることが出来ると言える:

  • 関数fを同じ積分値を取る別の関数に置換え
  • 期待値E^{*}[\cdot]の取り方を変更
関数fを同じ積分値を取る別の関数に置換え
期待値E^{*}[\cdot]の取り方を変更
(1) 負の相関法 (1) 条件付き\mathrm{Monte\ Carlo}
(2) 制御変量法 (2) 層別化法
(3) 回帰分析法 (2-1) ラテン・ハイパーキューブ法
(4) マルチンゲール分散法 (2-2) \mathrm{Curran}の方法
(3) 加重サンプリング法
(4) 測度変換法

6.1 条件付きMonte Carlo法の原理

 X,Yを確率変数とする。全確率の公式から


\begin{aligned}
E[X]=E[E[X|Y]]
\end{aligned}

が成り立つ。また条件付き分散V_{X}[X|Y]


\begin{aligned}
V_{X}[X|Y]:=E[(X-E[X|Y])^2|Y]
\end{aligned}

で定義する。
 このとき\mathrm{Jensen}の不等式を用いることで


\begin{aligned}
V[X]&=E[(X-E[X])^2]\ (\because 分散の定義)\\
&=E[E[(X-E[X])^2|Y]]\ (\because 全確率の公式)\\
&\geq E\left[(E[X|Y]-E[E[X|Y]])^2\right]\ (\because \mathrm{Jensen}の不等式)\\
&=E[(E[X|Y]-E[X])]\ (\because 全確率の公式)\\
&=V[E[X|Y]]
\end{aligned}

が成立する。したがって推定対象をXとする単純な\mathrm{Monte\ Carlo}法よりも条件付き\mathrm{Monte\ Carlo}法の方が誤差分散を小さく出来る。ただし条件付き\mathrm{Monte\ Carlo}法は期待値の演算が二重で\mathrm{Monte\ Carlo}法が入れ子構造を成すため、上手に式変形・利用することでそれを回避できるようにする方が望ましい。

6.2 例:確率ボラティリティ・モデルを用いたコール・オプション価格評価

 \mathrm{Hull\ and\ White}が提案した確率ボラティリティ・モデルを考える。すなわち株価とそのボラティリティ


\begin{aligned}
\displaystyle{\frac{dS(t)}{S(t)}}&= rdt+\sigma(t)dZ(t),\\
\displaystyle{\frac{d \sigma^2(t)}{\sigma^2(t)}}&=\alpha dt +\beta dW(t)
\end{aligned}

を満たすとする。ただしdZ(t),\ dW(t)は独立である。
 このとき、ペイオフ関数が


\begin{aligned}
C(T)=e^{-rT}\max[S(T)-K,0]
\end{aligned}

であるような満期がTで行使価格がKであるヨーロピアン・コール・オプションの価格は


\begin{aligned}
m^{sv}=E[C(T)]=E_{\bar{V}}[E[C(T)]|\bar{V}]
\end{aligned}

で求まる。ここで


\begin{aligned}
E[C(T)|\bar{V}]&=C_0^{BS}(r,S_0,K,T,\bar{V}),\\
\bar{V}&=\displaystyle{\frac{1}{T}\int_{0}^{T}\sigma^2(t)dt}
\end{aligned}

でありC_0^{BS}\mathrm{Black}-\mathrm{Scholes}方程式における解析解である。
 このモデルにおけるオプション価格は条件付き\mathrm{Monte\ Carlo}法に外ならず、期待値E[C(t)|\bar{V}]は解析的に計算できる。したがって


\begin{aligned}
\hat{m}^{sv}=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}}C_0^{BS}(r,S_0,K,T,\bar{V}_i)
\end{aligned}

で得られる。ここで\bar{V}_iは平均ボラティリティの離散近似値で


\begin{aligned}
\bar{V}_i=\displaystyle{\frac{1}{M}\sum_{j=1}^{M}\sigma_{ij}^2}
\end{aligned}

により定義される。また\sigma_{ij}


\begin{aligned}
\sigma_{i(j+1)}^2=\sigma^2_{ij}+\alpha \Delta t \sigma_{ij}^2+\beta\sqrt{\Delta t}\sigma_{ij}^2\zeta_{ij}
\end{aligned}

により離散化する。

(1) i=1について標準正規乱数列
\begin{aligned}\boldsymbol{\zeta}_i=(\zeta_1,\cdots,\zeta_M)\end{aligned}
を生成する。
(2) ボラティリティのサンプルパスを
\begin{aligned}\sigma_{i(j+1)}^2=\sigma_{ij}^2+\alpha \Delta t \sigma_{ij}^2+\beta\sqrt{\Delta t}\sigma_{ij}^2\zeta_{ij}\end{aligned}
に基づき生成する。
(3) \sigma_{ij}の平均ボラティリティ\bar{V}_iを計算する。
(4) iサンプルパスに対するオプション価格C_0^{BS}(r,S_0,K,T,\bar{V}_i)を計算する。
(5) i=nでない限りi=i+1として繰り返して\hat{m}を計算する。
プライバシーポリシー お問い合わせ