上級編 6. Libor Market Model
6.6 モンテカルロシミュレーション
6.6.5 離散化によるバイアス(続き)
6.6.5.4 Richardson Extrapolation 法
オイラースキームは、離散化によるバイアスが、離散時間の間隔 h に対し、1 次のオーダーで収束するスキームでした。それを不等式であらわした 6.111 式を再記します。
\[ \left| E \left[ f( \hat{X} ^{(h)} (t))\right]-E\left[ f(X(t)) \right] \right| ≤ c~h \tag{6.111} \]この不等式の左辺にある真正の期待値を右辺に移し、さらに下記のように少し書き換えます。
\[ E\left[f(\hat{X}^{(h)}(t))\right]= E[f(X(t))]+ch+o(h^2) \tag{6.121} \]この式の意味は、オイラースキームによるサンプル平均は、真の平均に、1次のオーダーのバイアス ch と 2次以上のバイアス \(o(h^2 )\) を加えた値になるという事です。
ここで、離散時間の間隔を h から 2h にした場合の式はどうなるかというと、
\[ E\left[f(\hat{X}^{(2h)}(t))\right]= E \left[f(X(t))\right]+2ch+o(h^2 ) \tag{6.122} \]この2つの式から、次のような式が導出できます。
\[ 2E\left[f(\hat{X}^{(h)}(t))\right]-E\left[f(\hat{X}^{(2h)}(t))\right]= E\left[f(X(t))\right]+o(h^2) \tag{6.123} \]これは離散間隔 h のオイラースキームを使ったサンプル平均を2倍し、そこから離散間隔 2h のオイラースキームのサンプル平均を引くと、バイアスが2次以上のオーダー \(o(h^2)\) に減少するというものです。つまり、オイラースキームを2回計算するだけで、2次の誤差オーダーのサンプル平均が導出できるというものです。
さらに、2h のシミュレーションは、h のシミュレーション用に生成された標準正規乱数 \(Z_1,Z_2,…\) をそのまま使えます。すなわち、h 間の Δw は、\(\sqrt{h}Z_1,\sqrt{h}Z_2,… \) となりますが、2h 間の Δw は、\(\sqrt{2h}(Z_1+Z_2),\sqrt{2h}(Z_2+Z_3),….\) として生成できます。それでも、サンプル経路を2種類生成する必要があるので、計算負荷は相応に増えます。しかし、マルチファクターモデルで2次のオーダーの離散近似スキームは、非常に複雑な式となり、やはり計算時間が相当かかります。また、a() b()の1階微分と2階微分も計算する必要があり、計算時間はさらに増加します。
おそらく、Richardson Extrapolation法の方が、より簡単で速く、2次のオーダーの近似値が得られるので、実務ではこの方法が主流と思われます。
6.6.5.5 LMM の確率変数を対数に変数変換
古典的 LMM は、フォワードLibor\(L_i, i=1,2,...\) のベクトル が幾何ブラウン運動をすると仮定したモデルであり、その場合、伊藤の公式を使って \(L_i\) を対数に変数変換したSDEが導出できます。実際に、そうやって導出されたモデルの離散近似スキームは、拡散項の離散化バイアスが消えます。さらに言えば、これまで説明したオイラースキームでは、シミュレーションの途中で、\(L_i\) がマイナスになる事が起こり得ます。もともと連続時間のモデルですが、離散化する事により \(L_i\) がジャンプし、0 を越えて負の領域に入る可能性がある為です。対数に変数変換すれば、その可能性が消えます。
一方で、対数関数や指数関数の計算は、CPU 内で、通常の四則演算と比べると、相当計算時間がかかる事が知られています。ナノ秒の単位の話ですが、MCSで大量の計算が必要な場合、塵も積もれば山となるで、計算時間に相当インパクトを与えます。MCS の場合、様々なスキームを試行して、実際にどの程度計算時間がかかるか、検証しながら比較する事になります。