上級編 6. Libor Market Model
6.6 モンテカルロシミュレーション
6.6.5 離散化によるバイアス
6.6.5.1 はじめに
デリバティブズ価格を MCS で求める場合、連続時間のモデルを離散時間で近似する為、多くの場合、離散化バイアスが発生します。離散化バイアスは、離散時間の間隔を狭めれば減少しますが、実務ではシミュレーション時間に制約があるので、それには限界があります。一方で、そのような離散化バイアスは、推定誤差と異なり、サンプル数をいくら増やしても減少せず、モデルが予想する真の期待値からずれた値へ収束していくだけです。すると、サンプル数を増やして信頼区間を狭めたとしても、真の期待値が信頼区間の中に入ってるかどうかわかりません。これは大きな問題です。
ところで、クオンツモデルのシミュレーションにおけるバイアスは、主に次の3つの理由から発生します。
- モデルのドリフト項と拡散項係数の、Δt 間の変化を,1次のテイラー展開式で近似することにより発生するバイアス
- ルックバックオプションやバリアオプションなど, Payoff 関数の評価の際、離散時間の間に発生する価格変化やバリアヒットなどのイベントが無視される事により発生するバイアス
- アメリカンタイプのオプションをMCSで価格評価する場合、期限前行使日に、オプション行使するか、継続保有するかの判断を行います。その判断基準に使われる継続保有価値をシミュレーションで推定しますが、その際にかかる上方あるいは下方のバイアス
(上記の内、1 と 2 のバイアスは、有限差分法や2項Tree、3項Treeの方法でも発生します。)
この3種類の離散化バイアスは、対応方法がそれぞれ異なります。1の場合は、より高次のオーダーまで近似するなどで対応します。一方、2の場合は、離散時間の間におけるバリアヒットなどのイベント発生確率を計測し、その確率に従った別の乱数を発生させて対応します。3のバイアスは、離散化バイアスとは別の理由によるバイアスで、MCS によるアメリカンタイプのオプションへの対応方法のセクションで説明する予定です。
このセクションでは、この1と2の離散化バイアスへの対応方法をいくつか、簡単に解説したいと思います。このセクションも Paul Glasserman “Monte Carlo Methods in Financial Engineering” を参考にしています。
6.6.5.2 オイラースキームと離散化バイアス
オイラースキームは、一定時間後の確率変数の値を求めるのに際し、その間のドリフト項と拡散項の変化を、1次の テイラー 展開式で近似するものです。シンプルなスキームなので、MCS でよく使われますが、1次で近似した事による離散化バイアスが発生します。これを LMM の例でみてみます。
まず古典的な LMM を、下記のような簡略化した式で表現します。
\[ dL_i(t)=a({\bf L}(t))dt+{\bf b}(L_i(t))∙{\bf dw}(t)^{Q_{RN}},~~~~~i=1,2,…,n \]但し、\(a(\bf L(t))\) はフォワード Libor のベクトル \({\bf L}(t)\) を変数とする関数で、\({\bf b}(L_i(t))~~は~L_i\) を引数とする m 次元のベクトル、\({\bf dw}(t)^{Q_{RN}}\) はリスク中立測度 \(Q_{RN}\) 下での m 次元のブラウン運動とします。簡略化の為、以下 \(Q_{RN}\) の表記は省略します。
この確率微分方程式を積分して、一定時間後の \(L_i\) を求めます。一定時間後を \(t+h\) とすると
\[ L_i (t+h)=L_i(t)+\int_t^{t+h} a(L(u))du+\int_t^{t+h} {\bf b}(L_i)∙{\bf dw}(u) \tag{6.109} \]となります。右辺にあるドリフト項の積分と拡散項の積分を、陽的オイラースキームでは、t 時の値を使って、1次のテイラー展開式で近似します。すなわち、
\[ \begin{align} & \int_t^{t+h} a({\bf L(u)})du ≈ a({\bf L(t)})h, \\ & \int_t^{t+h} {\bf b}(L_i(u))∙{\bf dw}(u) ≈ {\bf b}(L_i(t)) ∙ ({\bf dw}(t+h)-{\bf dw}(t))= {\bf b}(L_i(t)) ∙ \sqrt h~{\bf z} \end{align} \]但し、2行目の式にあるブラウン運動の増分 \( {\bf w}(t+Δt)-{\bf w}(t) \) は、平均 0 で分散が Δt で正規分布する事が知られているので、それを \(\sqrt h~{\bf z}\) (zは標準正規乱数)に置き換えています。
この近似式を使って、6.109 式を書き換えると
\[ L_i(t+h) ≈ L_i(t)+a({\bf L}(t))h+ {\bf b}(L_i(t))∙ \sqrt h~{\bf z} \tag{6.110} \]となります。これが陽的オイラースキームです。モデルのドリフト項係数 \(a({\bf L}(t))\) と拡散項係数 \({\bf b}(L_i(t))\) は、本来なら \(t→t+h\) 間で変動しますが、それを t 時の値で固定しています。従って、それらの関数が線形で無い限りバイアスが発生します。
この離散化バイアスは、h を短くすれば減少してきますが、オイラースキームでは、その収束速度は h に対し1次のオーダーになります。なんらかの定数 c を使って、それを数式で示すと、以下の不等式で示せます。
\[ \left| E \left[ f( \hat{X} ^{(h)} (t))\right]-E\left[ f(X(t)) \right] \right| ≤ c~h \tag{6.111} \]但し、\(\hat{X} ^{(h)} (t)\) は離散時間間隔を h としたオイラースキームで生成された、t 時における x のサンプル値を示します。従って、左辺はサンプル平均と、真の平均との誤差を示し、それが定数 c を使って、h の1次のオーダー以下になる事を示しています。
ちなみに、6.111 式による誤差の収束の様子は、弱収束と呼ばれています。ここで言う誤差の弱収束とは、サンプル値(すなわち \(\hat{X} ^{(h)} (t)\))そのものの誤差が収束する様子ではなく、それらを引数とする Payoff 関数の期待値の誤差の収束速度になっています。サンプル値自体の誤差の収束速度を示すものは、強収束と呼ばれています。ちなみに、オイラースキームの強収束のスピードは \(o(\sqrt{h})\) であり、弱収束より遅くなります。これは、拡散項の近似を単純な一次式で行っているためです。ブラウン運動の場合、伊藤の公式にある通り、1次の近似であっても2次変動の影響を考慮する必要がありますが、オイラースキームでは、それが無視されています。その結果、サンプル値の近似誤差は1次近似の誤差よりも大きくなっています。しかし、その期待値の誤差は、主にドリフト項の誤差に左右されるので、拡散項の2次変動の誤差は消えてしまい、強収束よりも早く収束します。MCS では、Payoff の期待値の収束が問題なので、収束速度の判断は、弱収束の基準で十分かと思います。
この離散化バイアスを減少させる方法がいくつか提示されています。その主なものは、
- ドリフト項と拡散項を、より高次の展開式で近似する
- Richardson Extrapolation 法 : 離散時間を h と 2h で計算する事で、離散誤差を減少させるアルゴリズム
- \(L_i\) を対数に変数変換し、拡散項係数を Deterministic な関数にする。
などです。これらについて、次のセクションで簡単に解説します。