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

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

MENU

金融工学でのモンテカルロ法(22/23):アメリカン・オプションの評価(7)確率的メッシュによる挟みうち法

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


power-of-awareness.com

8. アメリカン・オプションのMonte Carlo法による評価

 アメリカン・オプションの価格は、有限差分法またはツリー法によるのが一般的であった。しかし\mathrm{Monte\ Carlo}法でも計算できるようになってきた。

8.8 確率的メッシュによる挟みうち法

 \mathrm{Broadie} \mathrm{and} \mathrm{Glasserman}は確率的メッシュを用いたアメリカン・オプションの評価方法を提唱した。これは他方法に比較して誤差が大きいものの、アルゴリズムが単純で資産数および行使機会数を充分に増やすことが出来る点がメリットである。
 本方法では、正のバイアスを持つメッシュ統計量および負のバイアスを持つパス推定量を算出し、解の代替となる点推定値と解の信頼区間を得る。

8.8.1 確率的メッシュ

 確率的メッシュはメッシュ点をランダムに与える。
 時点を0から満期Tまでで


\begin{aligned}
t_j,\ j=0,\cdots,M,\ M\Delta t=T
\end{aligned}

と離散化し、時点t_jにおける株価を


\begin{aligned}
S_j,\ j=0,\cdots,M
\end{aligned}

とする。また状態(t_j,S_j)におけるオプション価格をP(t_j,S_j)とする。
 いま状態(t_j,S_j)において、時点t_{j+1}の株価S_{j+1}が条件付き確率密度f(t_j,S_jS_{j+1})に従うとき、任意の確率密度関数g(t_{j+1},\cdot)に対して


\begin{aligned}
P(t_j,x)&=e^{-r(t_{j+1}-t_j)}E[P(t_{j+1},S_{j+1})|S_j=x],\\
&=e^{-r(t_{j+1}-t_j)}\displaystyle{\int P(t_{j+1},u)f(t_j,x,u)du},\\
&=e^{-r(t_{j+1}-t_j)}\displaystyle{\int P(t_{j+1},u)\frac{f(t_j,x,u)}{g(t_{j+1},u)}g(t_{j+1},u)du},\\
&=e^{-r(t_{j+1}-t_j)}E\left[P(t_{j+1},X_{j+1})\frac{f(t_j,x,X_{j+1})}{g(t_{j+1},X_{j+1})}\right]
\end{aligned}

が成り立つ。ここでX_{j+1}確率密度関数g(t_{j+1},\cdot)に従う確率変数である。
 最後の式は任意の点xから確率密度関数g(t_{j+1},\cdot)により点X_{j+1}を発生させた\mathrm{Monte} \mathrm{Carlo}法において各点の重みを


\begin{aligned}
\frac{f(t_j,x,X_{j+1})}{g(t_{j+1},X_{j+1})}
\end{aligned}

で定義しなおす測度変換と解釈できる。
 ここで点xを別の点x^{\prime}に置き換えた場合を考えると、確率密度関数g(t_{j+1},\cdot)としてxに依存しないものを選択しておけば、別の点x^{\prime}からスタートする\mathrm{Monte\ Carlo}法でも点xから始まる\mathrm{Monte\ Carlo}法で使用した点列X_{j+1}を再利用できる。更にx自体任意であったから、xはその前の時点t_{j-1}から確率密度関数g(t_{j+1},\cdot)により発生させてもよい。以上から、時点t_jのメッシュ点S_j(i),i=1,\cdots,b確率密度関数g(t_{j+1},\cdot)により発生させて、点(t_j,S_j(i))から点(t_{j+1},S_{j+1}(k))への枝の重みを


\begin{aligned}
\pi_j(i,k)=\displaystyle{\frac{f(t_j,S_j(i),S_{j+1}(k))}{g(t_{j+1},S_{j+1}(k))}}
\end{aligned}

で定義する確率的メッシュが構成される。
 ここで重要なのが

  • 各時点のメッシュ点を前の時点の状態に依存しない密度関数により与える
  • メッシュ点間の枝の重みを
    \begin{aligned}\pi_j(i,k)=\displaystyle{\frac{f(t_j,S_j(i),S_{j+1}(k))}{g(t_{j+1},S_{j+1}(k))}}\end{aligned}
    により計算する

ことである。

8.8.2 メッシュ推定量とパス推定量

 満期をt_Mペイオフ関数をh(t_j,S_j)とすると、メッシュ推定量\hat{Q}(t_j,S_j(i))は漸化式


\begin{aligned}
\hat{Q}(t_M,S_M(i))&=h(t_M,S_M(i)),\ i=1,\cdots,b,\\
\hat{Q}(t_j,S_j(i))&=\max\left[h(t_j,S_j(i)),\displaystyle{\frac{1}{b}\sum_{k=1}^{b}\hat{Q}(j+1,S_{j+1}(k))\pi_{j}(i,k)} \right]
\end{aligned}

で定義され、後進的に解くことで最終的な解\hat{Q}:=\hat{Q}(0,S_0)を得る。これは確率的メッシュ状における自然なオプション価格推定量であろう。
 このメッシュ推定量の計算負荷は資産数n、行使機会数M、各時点でのメッシュ点個数bに対して、各点にb個の枝を持つメッシュ点は全体でnbM個ある。したがってメッシュ推定量の計算負荷はO(nb^2M)である。

 次に確率的メッシュ内に新たな点列


\begin{aligned}
S_1^p(i),S_2^p(i),\cdots,S_M^p(i),\ i=1,\cdots,n_p
\end{aligned}

を発生させる。これをパス・ポイント列と呼ぶことにする。これはS_tの本来の確率密度関数fから発生させればよい。このとき行使時点を


\begin{aligned}
\hat{\tau}(i)=\min\{t_j|h(t,S_j^p(i))\geq \hat{Q}(t,S_j^p(i))\}
\end{aligned}

により定め、パス推定量


\begin{aligned}
\hat{q}=\displaystyle{\frac{1}{n_p}\sum_{i=1}^{n_p}h(\hat{\tau}(i),S_{\hat{\tau}(i)}(i))}
\end{aligned}

で定義する。ただしn_p回は1つの確率的メッシュ内で発生させたパス・ポイント列の数である。
 このパス推定量の計算負荷はメッシュ点は予め与えてあるため、パス・ポイントからメッシュ・ポイントへの重みが新たに必要になる。全部でnMn_p個のパス・ポイントがあり、各パス・ポイントにb個の枝がある。したがってパス推定量の計算負荷はO(nbMn_p)である。

8.8.3 点推定量と信頼区間

 \mathrm{Broadie} \mathrm{and} \mathrm{Glasserman}はメッシュ推定量とパス推定量b\rightarrow\inftyのとき真の値に収束することを示している。bを増やすのは難しいため、点推定値と信頼区間を構成する。
 第i回目の確率的メッシュによるメッシュ推定量\hat{Q}^{i}およびパス推定量\hat{q}^{i}とし、メッシュ構築回数をNとすれば、それぞれの平均値は


\begin{aligned}
\hat{Q}=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\hat{Q}^{i}},\ \hat{q}=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\hat{q}^{i}}
\end{aligned}

であり、点推定値はこれらを用いて


\begin{aligned}
\displaystyle{\frac{\bar{Q}+\bar{q}}{2}}
\end{aligned}

で表される。
 また信頼区間


\begin{aligned}
\left[\bar{q}-z_{\alpha/2}\displaystyle{\frac{\sigma(\hat{q})}{\sqrt{N}}},\ \ \bar{Q}+z_{\alpha/2}\displaystyle{\frac{\sigma(\hat{Q})}{\sqrt{N}}}\right]
\end{aligned}

8.8.4 アルゴリズム


確率的メッシュによる挟みうち法

(1) 時点t_0からS(t)本来の密度関数fによりbセットのパスを発生させる。時点t_jにおけるb個の株価をメッシュ点
\begin{aligned}S_j(i),i=1,\cdots,b\end{aligned}
とする。
(2) メッシュ推定量を漸化式
\begin{aligned}\hat{Q}(t_M,S_M(i))&=h(t_M,S_M(i)),i=1,\cdots,b,\\\hat{Q}(t_j,S_j(i))&=\max\left[h(t_j,S_j(i)),\displaystyle{\frac{1}{b}\sum_{k=1}^{b}\hat{Q}(j+1.S_{j+1}(k))\pi_{j}(i,k)}\right]\end{aligned}
により、またパス推定量
\begin{aligned}\hat{q}=\displaystyle{\frac{1}{n_p}\sum_{i=1}^{n_p}h(\hat{\tau}(i),S_{\hat{\tau}(i)}(i))}\end{aligned}
により推定する。
(3) (1)と(2)を繰り返すことで点推定値
\begin{aligned}\displaystyle{\frac{\bar{q}+\bar{Q}}{2}}\end{aligned}
および信頼区間
\begin{aligned}\left[\bar{q}-z_{\alpha/2}\displaystyle{\frac{\sigma(\hat{q})}{\sqrt{N}}},\bar{Q}+z_{\alpha/2}\displaystyle{\frac{\sigma(\hat{Q})}{\sqrt{N}}}\right]\end{aligned}
を計算する。

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