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

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。

MENU

金融工学でのモンテカルロ法(06/N):分散減少法(1)

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

 モンテカルロ法

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

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

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

に分けられる。

5. 分散減少法

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


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

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

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

5.1 シミュレーション効率の計測方法

 簡単のために1次元の積分


\begin{aligned}
m=\int_{0}^{1} f(x) dx
\end{aligned}

を扱う*1
 まず単純なモンテカルロ法による解の誤差分散を考える。\varepsilon_i\sim U(0,1),\ i.i.d.として


\begin{aligned}
\hat{m}_1=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}}f(\varepsilon_i)
\end{aligned}

で解が得られる。このときの誤差分散は各試行の乱数生成数をN_iとして


\begin{aligned}
V[\hat{m}_1]&=\displaystyle{\frac{1}{N_1^2}\sum_{i=1}^{N}}V[f(\varepsilon_i)]\\
&=\displaystyle{\frac{1}{N_1}V[f(\varepsilon_i)]}\\
&=\frac{1}{N_1}\int_{0}^{1}(f(x)-m)^2 dx=\displaystyle{\frac{k}{N_1}}
\end{aligned}

である。k=\displaystyle{\int_{0}^{1}(f(x)-m)^2 dx}N_1によらない定数である。
 他の分散減少法についても同様であり、分散減少法の手法iの単純なモンテカルロ法に対する効果は比例定数k_iの比


\begin{aligned}
\displaystyle{\frac{k_i}{k_1}}
=\displaystyle{\frac{N_i V[\hat{m}_i]}{N_1 V[\hat{m}_1]}}
\end{aligned}

により計測できる。

  • 「関数fを別のものに置き換える」分散減少法は、同じ積分値を持つことが保証されている別の関数を評価することで解の誤差分散を減らしている。
  • 一方で、「期待値E^*[\cdot]の取り方を変更する」分散減少法のうち条件付きモンテカルロ法および層別化法は条件付き分散を考えることで、加重サンプリング法および測度変換法は別の測度で評価することにより解の誤差分散を減らしている。

*1:多次元になっても同様の議論が成り立つ

プライバシーポリシー お問い合わせ