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

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

MENU

金融工学でのモンテカルロ法(09/23):分散減少法(4)

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


power-of-awareness.com

5. 分散減少法

 \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) 測度変換法

5.6 回帰分析法

 制御変量法を改良した方法で、積分の解を


\begin{aligned}
\hat{m}=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\{f(\varepsilon_i)-\alpha g(\varepsilon_i)\}+\alpha m_g},\ \alpha\in\mathbb{R}
\end{aligned}

で与える。ここで


\begin{aligned}
Y_i&=f(\varepsilon_i),\\
X_i&=g(\varepsilon_i)-m_g
\end{aligned}

とすると推定量\hat{m}の誤差分散は


\begin{aligned}
V[\hat{m}]&=V\left[\displaystyle{\frac{1}{N}\sum_{i=1}^{N}[Y_i-\alpha X_i]}\right]\\
&=\displaystyle{\frac{1}{N}}V[Y-\alpha X]\\
&=\displaystyle{\frac{1}{N}}\left\{V[Y]-2\alpha\mathrm{Cov}[Y,X]+\alpha^2V[X]\right\}\\
\end{aligned}

となるから


\begin{aligned}
\alpha=\displaystyle{\frac{\mathrm{Cov}[Y,X]}{V[X]}}
\end{aligned}

において誤差分散は最小となり、そのとき積分値は


\begin{aligned}
\hat{m}=E\left[Y\right]\cdot\displaystyle{\frac{\mathrm{Cov}[Y,X]}{V[X]}}E[X]
\end{aligned}

となる。
 元の回帰式Y_i=\alpha X_i+\betaに最小二乗法を適用することでも\alphaを求めることが出来る。この時の切片は


\begin{aligned}
\beta=E[Y]-\alpha E[X]=\hat{m}
\end{aligned}

となり求めたい積分値に等しい。したがって乱数列\{\varepsilon_1,\varepsilon_2,\cdots\}から得られる乱数列


\begin{aligned}
\{(X_1,Y_1),(X_2,Y_2),\cdots,\}
\end{aligned}

を生成した上で最小二乗法によるパラメータ推定をすれば積分値を得ることが出来る。

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