上級編 6.  Libor Market Model 

6.6   モンテカルロシミュレーション

6.6.2    LMMをモンテカルロシミュレーションで近似する際の課題

6.6.2.4     離散化によるバイアス

MCS における最もやっかいな問題のひとつは、連続時間のモデルを離散時間で近似した事により発生するバイアスの問題です。LMM では、ドリフト項係数にも拡散項係数にも、時間 t に依存する関数が含まれており、本当は、Δt の間に変化しているはずです。Volatility 関数を、Piecewise Constant な行列で定義した場合でも、ドリフト項と拡散項に \(L_i(t)\) が含まれ、それが時間により変化します。Local Volatility や Stochastic Volatility を取り込んだ LMM では、それがさらに複雑な形になります。6.80 式で示した(陽的)オイラー法は、それらを t 時の値で固定するので、ドリフト項係数と拡散項係数の関数形が、直線でない限りバイアス(真の値からのずれ)が発生します。離散化によるバイアスは、離散時間 Δt の間隔を短くしていけば消えていきますが、一方でサンプル数をいくら増やしても、サンプル平均が真の平均からずれた値に収束する事になり、解消されません。これはゆゆしき問題です。 

そのバイアスを小さくする為に、いくつかのテクニックが提示されています。ひとつは、テーラー展開による近似を 1 次ではなく、より高次のオーダーまで近似する方法です。別の方法は、Predictor-Corrector といったアルゴリズムにより、係数を t 時の値に固定するのではなく、離散時間の間の変化分を若干なりとも修正する方法があります。いずれもバイアスを減少させる効果がありますが、相応の計算負荷が増える事になります。 

 

離散時間によるバイアスは、デリバティブズの Payoff の条件によっても発生します。例えばバリアオプションの場合、Δt 間のスタート時とエンド時でバリアを越えていなければ、バリアをヒットしていないと見做されます。しかし、実際に離散時間の間でバリアを越えていた可能性は 0 ではありません。離散化モデルでは、これが無視されて、オプション価値に下方バイアスがかかります。これも、Δt 間でバリアをヒットした確率を算出してバイアスを修正する方法がありますが、やはり相応の計算負荷がかかります。このバイアスも、離散時間の間隔 Δt を小さくしていけば、徐々に解消されていきますが、その為に計算時間が増大するので限界があります。 

 

さらに、拡散項を離散化した事により、対数正規モデルである LMM のシミュレーションにおいて、Libor がマイナスになる可能性があります。古典的な LMM は連続時間のモデルで、かつ Libor が幾何ブラウン運動すると仮定しているので、モデル上は \(L_i\) がマイナスになる事はありません。しかし、離散化する事により、離散時間の間に Libor がジャンプするので、その際に 0 を下回る可能性があるのです。これについては、モンテカルロシミュレーションを \(L_i\) ではなく \(L_i\) の対数でシミュレーションすれば解消できますが、計算に指数関数が含まれるため計算の負荷が大きくなります。 

6.6.2.5     アメリカンタイプ、バーミューダンタイプのオプションへの対応

MCSにおける、もうひとつのやっかいな問題は、アメリカンタイプやバーミューダンタイプのオプションです。90年代はじめ頃は、MCSでそういったタイプのオプションの価格評価は非常に困難とされていました。というのは、期限前行使の判断にあたっては、オプションの行使価値と継続保有価値を比較する必要がありますが、継続保有価値を求めるには、ダイナミックプログラミングの要領で、サンプル経路上の各ノード上で、シミュレーション内シミュレーションを行う必要があります。すると、行使時点が増えれば増えるほど、内部MCSの頻度が幾何級数的に増加し、計算時間がとてつもなくかかり、全く実践的でなくなります。 

そこでMCSでも、アメリカンタイプのオプション価値を導出できるよう、いくつかのテクニックが考え出され紹介されています。後で、より詳しく紹介しますが、Random Tree Methodや、Stochastic Mesh Method、さらには最小2乗法を使うテクニックなどが公表され、アメリカンタイプのオプションでも、なんとかMCSでも価格評価できるようになってきました。特に、最小2乗法を使うMCSは、かなり広範な商品(確率変数が複数あり、かつオプションの期限前行使の回数が相当多い場合でも)に対応可能で、かつ計算時間も相当程度抑えられており、現在ではこの方法が主流になっています。 

ただし、これらの方法は、導出されるオプション価格にバイアスがかかってしまうという欠点をもっています。バイアスがかかっていると、シミュレーションされた価格を中心とした信頼区間の間に、真の価格が含まれているかどうか分からなくなり、困ったことになります。この問題に対する対応方法は、上方バイアスがかかった価格と、下方バイアスがかかった価格の両方を導出し、それぞれの信頼区間をオーバーラップさせる事です。そうすれば、真の価格は、オーバーラップした信頼区間(通常よりは広くなりますが)の中にあるだろうという事が推察できます。 

6.6.2.6     価格感応度(Greeks)の計算

MCS で計算されたデリバティブズ価格の、金利や Volatility への感応度を、どうやって計算するかという問題があります。Black-Scholes モデルや Black モデルで計算されたデリバティブズ価格については、各パラメータに対する偏微分が解析的に求まるので、リスク感応度(いわゆるGreeks)を求めるのは簡単です。あるいは、スワップのイールドカーブの変化に対する感応度は、イールドカーブの Pillar ポイントを少し(1bp)動かして、イールドカーブを再構築し、スワップの価格変化を計算して求めました。いわゆる Basis Point Sensitivities です。 

MCS で価格評価した商品の、価格感応度の計算は、いくつかの点で注意が必要です。 

  • まず、最もシンプルな方法は、Basis Point Sensitivitiesの計算のように、パラメータを少し動かして価格を再計算し、差分法により感応度を計算する方法です。しかし、MCSの場合、価格計算に誤差が含まれており、パラメータを動かす幅を小さくしすぎると、誤差の影響から、感応度が不正確になります。かといって、幅を大きくしすぎると、Convexityの影響で、やはり感応度にずれが生じます。
  • 次に、感応度の計算時間問題があります。MCSはただでさえ計算時間がかかるのに、上記のように差分を計算すると、最低でも価格を2回計算する必要があります。LMMのようにパラメータが非常に多い場合、すべてのパラメータについて差分で感応度を計算しようとすると、膨大な時間がかかる上、全体の価格にそれほど影響を与えない、個々のパラメータに対する感応度を計算しても、リスク管理上あまり役にたちません。
  • LMMの場合、価格感応度は、個々のパラメータに対する感応度よりは、モデルのCalibrationに使われた、ベンチマーク商品への価格感応度の方が、実際のリスクヘッジには有用です。すると、ベンチマーク商品の価格を動かした上で、モデルの再Calibrationが必要になり、やはり計算時間が非常にかかるという問題があります。
  • 上記のように、差分で感応度を計算するのではなく、シミュレーションされたサンプルPathごとに感応度を計算する方法も、いくつか公表されています。そういったテクニックは、商品特性によって使えたり使えなかったりします。使える場合は、比較的高速で感応度を計算できますが、あまり汎用的な方法ではありません。

LMMでMCSを使った場合の価格感応度の計算には、かなり時間がかかるので、実務では、あらかじめ感応度を計算しておく場合が多いと思います。市場が少し動いても、大半のケースで、価格感応度がそれほど大きく動くことは無いので、実務上は、そういった対応で十分でしょう。 

 

以上の課題について、それぞれその克服法を紹介したいと思いますが、基本的には、一般論による最低限の説明に留めたいと思います。モンテカルロシミュレーションにおける課題の克服法は、大半が個別のモデルや商品ごとに考える必要があり、商品に合わせた説明は、後ほどどこかで行いたいと思います。 

 

目次

Page Top に戻る

// // //