上級編 6. Libor Market Model
6.4 フォワードLibor間の相関の構造
6.4.2 相関データの求め方 : 過去データから相関行列を推定する方法
では、相関行列を過去データから統計的に求める方法を説明したいと思います。複数の確率変数間の相関を、統計的に導出する方法は、一般の確率統計の手法を使えばいいでしょう。しかし、その統計値のベースとなるデータの取り方には様々な選択肢があり、それによって、導出された相関係数が異なってきます。最終的にどの選択肢を使うかは、主観的な判断になりますが、その参考のために、それぞれの選択肢について、相関係数にどのような影響を与えるかについて、若干の考察を加えたいと思います。
6.4.2.1 相関データの取り方
(1) 指標となるフォワードLiborの選択
過去データからフォワード Libor 間の相関を求めるには、まず、過去の一定期間(1年から数年)のイールドカーブのデータを用意し、そこからフォワード Libor のシリーズを導出する必要があります。イールドカーブの構築は、Libor-Swapカーブ(Par Curve)から、Bootstrapping-Interpolation 法を使って行いますが、Interpolation法の選択には注意が必要です。上級編の“イールドカーブ:Interpolation法の種類と特徴”の所で説明した通り、荒っぽい Interpolation 法を使うと、そこから導出されるフォワード金利のカーブに、不自然な波が発生し、Libor 間の相関データを取り出す際に、不必要なノイズが入り込んでしまいます。従って、フォワード金利ができるだけスムーズになるような Interpolation 法を選択すべきです。
また、データポイントとして、すべてのフォワード Libor を観測する必要はなく、80 ~ 160 個のフォワード Libor から、指標となる 10 ~ 15 個程度を選択すればよいでしょう。その際、Libor-Swapカーブの Pillar と呼ばれるポイント(市場で観測される Par Curve のデータポイント)に接しているのを選ぶのがいいでしょう。Pillar 間が長い場合、その間にあるフォワード Libor の変動は、Interpolation 法の選択によって、相関が左右されることになり、それらをサンプルに加えるのは好ましくありません。例えば、Pillar ポイントが 10 年と 20 年にある場合、テナーが 15 年のフォワード Libor は、Interpolation 法の影響を強く受けるので、サンプルとしては避けるべきでしょう。
(2) フォワードLiborのテナーを固定するかどうか ?
フォワード Libor を導出する際、そのテナーを固定するか、スライドさせるか 2 通りの方法があります。すなわち、
- 観測するフォワード Libor の期日 \(T_i\) を、観測日が移動するごとにずらして観測日から \(T_i\) までを一定にしたままにするか: 観測日を \(t_1,~~t_2,~…~,t_n\) とすると \( T_i-t_1=T_i- t_2=~⋯~=T_i-t_n\) となります。
- 期日 \(T_i\) を固定し、観測日が移動すると期日までの期間が徐々を徐々に短くしていく方法 : この方法だと \(T_i-t_1 > T_i- t_2 > ⋯ > T_i-t_n \) となります。
Andersen-Piterbarg (“Interest Rate Modeling” Vol-II Section 14.3)では、前者の方法を使っています。一方 Brigo-Mercurio (“Interest Rate Models”Section 6.19.1)では後者の方法を使っています。LMM で Libor の確率過程をシミュレーションする場合、Libor の期日を固定するので、残存期間は次第に短くなり、後者の方法の方が、モデルにフィットしているように見えます。しかし、後者の方法では、相関を観測する期間が、一番手前の Libor が Fixing されるまでであり、せいぜい 6 か月から 1 年までとなります。観測期間が短いと、観測される相関係数が不安定になる嫌いがあります。また、Libor 期日を固定すると、日が経つにつれ、Libor 期日が Pillar から離れて行き、Interpolation 法の影響を次第に強く受ける事になります。個人的には、前者の方法の方が、パラメータが安定していいのではないかと思います。
(3) 観測期間
日次データのサンプル数をどの程度にするかの問題で、観測期間を長くすれば、サンプル数が増え、様々な市場環境のデータがカバーでき、相関のデータは安定します。一方、直近の市場環境のウェイトが小さくなり、足元の金利の相関の動向をうまく捉えれなくなります。一方、観測期間を短くすると、相関行列は不安的となります。オプションのトレーディングやリスク管理の経験から言えば、パラメータが頻繁にかつ大きく動くと、リスク管理が非常に難しくなるので、より長期の安定したパラメータの方が使いやすいでしょう。
(4) サンプル日付の間隔
相関は、サンプル日付の間隔すなわち \(t_j - t_{j-1}\) をどう取るかにも影響されます。例えば \(t_j\) を日次データで取り、\(t_j-t_{j-1}\) を1日とした場合と、週次データで取り \(t_j-t_{j-1}\) を 1 週間とした場合では、後者の方が、相関が大きくなる傾向にあります。さらに間隔を長くすれば、より相関が大きくなるでしょう。実際に LMM を使ったモンテカルロシミュレーションでは、シミュレーションを行う離散時間の間隔を、Libor期間である3か月とか6か月をベースに取るので、過去データから取る相関の情報も、それに合わせた方が良いように思われますが、それがあまり長いと、サンプル数が少なくなり、相関が不安定になります。
6.4.2.2 相関行列の導出
過去のイールドカーブから、サンプルのフォワード Libor データが導出できれば、後は一般的な統計の手法を使って相関を求めます。
選択されたフォワード Libor のシリーズを \(L_i(t_j),~~~ i=1,2,…,n ~~~ j=1,2,…,m\) とします。先ほど述べた通り、指標となるフォワード Libor の数は 10 ~ 15 程度でいいので、n は 10 ~ 15 程度になります。 \(t_j\) は過去データの日付になり、m がそのサンプル数になります。そのサンプルを使って、まず以下の通り、分散共分散行列を導出します。
まずフォワード Libor \(L_1 ~~ と~~L_2 \) の \(Δt\) 間の交差変分(差分)は、
\[ < L_1(t_j),~L_2(t_j) > = \frac{ΔL_1 (t_j )ΔL_2 (t_j )}{Δt_j} = \frac{(L_1(t_j) - L_1(t_{j-1}))(L_2(t_j) - L_2(t_{j-1}))}{t_j-t_{j-1}} \tag{6.53} \]で求まります。\(Δt_j\) で割っているのは、共分散値を年率換算する為です。また、分子にある \(L_1~~と~~L_2\) の差分については、統計手法としては、そこからさらにドリフト項相当を(あるいは平均)を引くのが正当かと思いますが、短期間のドリフトは非常に僅かであり、導出される分散共分散行列に対する影響も軽微なので、あえてその調整をしなくても大きな問題は無いでしょう。
上の差分を、すべてのフォワード Libor(\(L_i,~~i=2,…,n\))間で、すべての離散時間 \(Δt_j=t_j-t_{j-1},~~~j=1,2,…,m\) で計算し、その平均を n × n の行列にまとめたものが、年率換算された分散共分散行列になります。それを B とおきます。その対角要素は、各 Libor の分散値で、その平方根が Historical Volatility になります。
ここで、対角成分の平方根だけを取り出し、新たに n × n 次の対角行列 V を作ります。この対角行列を使って、分散共分散行列を正規化すれば、過去データから導出された(Historicalな)相関行列 \(\bf R_H\) になります。
\[ \bf R_H = \frac {B} {V^2} \tag{6.54} \]