上級編 1. イールドカーブ
<イントロダクション>
−様々なインターポレーション法−
基礎編では、Bootstrapping + Interpolation法による、イールドカーブ構築のアルゴリズムを、簡単に説明しました。この方法を使って構築されたイールドカーブは、デリバティブズの価格計算で使われます。大手の金融機関では、数百兆円から数千兆円規模のデリバティブズ残高があり、イールドカーブの僅かな形状の変化でも、巨額の損益インパクトを与える可能性があります。従って、イールドカーブの構築は、最も重要で、繊細かつ慎重さを要する作業になります。
Bootstrapping + Interpolation法は、下記のような“\(DiscountFactor(T_k)\)”を未知数とする金融商品の価格式を、原データとなるベンチマーク商品すべてについて並べて1次の連立方程式の形にし、解を求める方法です。
\[ \sum_{k=all CFs} CashFlow(T_k)×DiscountFactor(T_k)=PV \]この式の右辺のPVを左辺に移項して、行列形式で表現すると
\[ \left( \begin{array}{cccccc} -PV_1 & CF_1(T_1) & 0 & 0 & \ldots & 0 \\ -PV_2 & CF_2(T_1) & CF_2(T_2) & 0 & \ldots & 0 \\ -PV_3 & CF_3(T_1) & CF_3(T_2) & CF_3(T_3) & \ldots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ -PV_n & CF_n(T_1) & CF_n(T_2) & CF_n(T_3) & \ldots & \ldots & CF_n(T_m) \\ \end{array} \right) \left( \begin{array}{c} 1 \\ DF(T_1)\\ DF(T_2)\\ \vdots \\ DF(T_n)\\ \end{array} \right) = \left( \begin{array}{c} 0\\ 0\\ 0\\ \vdots \\ 0\\ \end{array} \right) \]という形になります。但し、\(PV_i,i=1,2,…,n\) は n 個のベンチマーク商品の市場価格で、\(T_k,k=1,2,…,m\) は、キャッシュフローの発生時(Pillar)を示します。
ここで、n=m であれば、左辺の行列が正則である限り、連立方程式は解けて、うまくDiscount Factorの配列が求まります。そこからZero Rate Curveや(区間)Forward Rate も求まります。しかし、通常は10~20程度のベンチマーク商品数に対し、キャッシュフローが発生するPillarの数は50~100存在するので、式の数が足りません。そこで、一旦Interpolationの方法とDiscount Factorの推定値を決めておき、Solverのアルゴリズムを使ってDiscount Factorの値を動かしながら上記連立方程式が成立するような解を導出します。解が求まれば、同時にInterpolator(補間関数)の係数も、基本的に各PillarのDiscount Factorから導出するので、一意に確定します。そのInterpolatorを使えば、Pillar間の任意の時点のDiscount FactorやZero Rate、瞬間Forward Rateも求まります。
Swap取引が登場した80年代以降、LIBOR-Swapカーブを構築する為に、様々な Interpolationの方法が使われてきました。どの方法も、一長一短があり、どれを選択するかは、各金融機関でまちまちです。しかし、どの方法においても、原データとなるベンチマーク商品の市場価格が再現できる事が絶対条件になります。
様々なInterpolation法の内、シンプルな線形補間法(Linear Interpolation)は、計算が簡単で、かつ“局所性”(後で説明します)に優れているというメリットがあります。一方で、カーブの滑らかさで劣り(各Pillarにおいて、微分不可能)、導出される瞬間Forward Curveは非連続で、不自然なジグザグの波が発生する傾向があります。そうすると、Forward CurveにSensitiveなデリバティブズ商品(FRAやCAP/Floorなど)の時価評価において、Pillarの前後で、時価評価が大きく変化するような事が起こり得ます。
より高次の関数を使って補間をすれば、イールドカーブの形状は滑らかになり、瞬間フォワード金利のカーブを連続にする事も可能になります。しかしそうすると、今度は別の問題が発生します。まず、高次関数の次数や係数の決め方によって、Pillar間で不自然な波が発生する可能性があります。カーブの全体の形状から、レートが単調増加・単調減少するのが自然と思われる区間で、局所的な最小値、最大値が発生する可能性もあります。また、各PillarにおけるPar Curveのレートの微小な動きが、カーブ全体に波及し、ヘッジの局所性が失われるといった問題も発生します。高次のSpline法の中では、Cubic Spline法(3次関数をInterpolatorとして使う)のグループが比較的ポピュラーです。
さらに、上記のような問題は、主に瞬間フォワード金利のカーブの形状で発生するので、それを緩和するような修正を加えて、より自然な形に近づけるようなInterpolation法がいくつか提案されています。
様々なInterpolation法については、Hagan-Westの論文(”Interpolation Methods for Curve Construction” P. Hagan, G. West, Applied Mathematical Finance June2006)が非常に詳しいので、そこで紹介されているいくつかのInterpolation法について、解説してみたいと思います。また、その論文では紹介されていない、Tension Splineと呼ばれる方法も、有力な方法なので、それについても併せて解説したいと思います。
−Multi-Cuve対応の必要性−
Interpolation法の選択の他に、イールドカーブ構築方法については、もうひとつ重要なトピックがあります。基礎編でも触れましたが、リスクフリー金利と見做されていたLIBOR-Swapカーブが、もはやその役割を果たせなくなってきたことです。サブプライムショック・リーマンショック以降、OIS Spreadが無視できない程拡大する状況が発生し、従来、リスクフリー金利として同質と見做されていた、オーバーナイト金利と、3カ月や6カ月物LIBORが、同質ではないと見做されるようになりました。実は、同様の問題はOISスプレッドの拡大に始まった訳ではなく、90年代にCurrency Swap におけるBasis Spreadの拡大でも発生していました。円―ドルのベーシススワップ(円LIBORとUS$LIBORキャッシュフローの交換で、みなし元本の交換を含む)で、ジャパンプレミアムと呼ばれる状況が発生し、US$LIBORの支払いに対し、円LIBORの受取りに大きなマイナススプレッドが発生しました。これは、巨額のUS$資産を保有する日系金融機関が、その資金調達のため、円資金を為替スワップやカレンシースワップでUS$に変換して充てていたところ、バブル崩壊後の金融危機の進展で、欧米の金融機関が日系金融機関に対するクレジットラインを絞った結果、そういった取引が困難になり、発生したものです。調達リスクの顕在化という点では、その後で起こったOISスプレッドの拡大と同じ要因です。
こういった状況では、一本のイールドカーブを使って、将来の変動金利キャッシュフローを予測し、同じカーブを使って現在価値に割引くと、大きな問題が発生するようになりました。大きな問題とは、市場価格でデリバティブズを取引した瞬間に時価評価すると利益・損失が発生するという事、すなわちArbitrage Freeで無くなるという事です。トレーダーが、ポジションを取るだけで利益を得るという状況は、絶対あってはならない事態です。オファービッド差による損益の発生は許容範囲内ですが、それを越える損益が発生する場合、カーブの構築方法や、Par Curveを構成するベンチマーク商品の選択が間違っていると考えるべきです。
Currency Basis Spreadでも、OIS Spreadでも、こういった問題に対する対応方法は、将来の変動金利を予想する為に使われるイールドカーブ(Forwarding Curve、Forecasting Curve、あるいはIndex Curveと呼ばれています)と、現在価値に割引く為に使われるイールドカーブ(Discounting Curveと呼ばれています。Discount Curveとは意味が異なります)を別々にすることです
そうすると、Bootstrapping + Interpolationのアルゴリズムは、より複雑になります。その辺のアルゴリズムの構築に仕方についても、解説したいと思います。アルゴリズムを具体的にプログラムコードに落として計算する作業については、実践編でQuantLibのライブラリーを使って解説したいと思います。
2010年代に入ってから、OIS SpreadやCurrency Basis Spreadほど極端ではありませんが、Multi-Curve対応が必要な状況が別の要因から発生しています。リーマンショック後のデリバティブズ規制強化の流れで、単純なデリバティブズ商品は、価格が透明な取引所形態の市場(SEF:Swap Execution Facility)で取引する事が義務付けられ、2010年代中盤から施行されました。その規制の施行時期が、米国と欧州で異なった為、先に施行された米国と、未施行の欧州の間で、全く同じ条件の金利スワップで、固定金利レートに差が発生する現象が発生しました。規制を嫌った投資家や金融機関が欧州市場での取引を指向した為、需給にアンバランスが生じた為と言われています。
同様の規制の流れで、単純なデリバティブズ商品を中央決済機関(CCP:Central Clearing Party)で決済する事が義務づけられましたが、使用するCCPの違いにより、全く同じ金利スワップで、固定金利が異なり、スプレッドが発生しました。例えば、ドル金利スワップは、米国ではCMEで決済可能で、欧州ではLCHで決済が可能ですが、全く同じ金利スワップでも、CCPとしてどちらを使うかでレートが異なる現象が発生しました。また、円金利スワップについても、決済機関としてLCHとJSCCを使う事が可能ですが、この間にもスプレッドが発生しました。
こういった場合にも、Index CurveとDiscounting Curveで同じカーブを使うと、取引した瞬間に時価評価すると損益が発生することになります。
このようなBasis Spreadは、市場レートの方が、いびつで非合理に見える場合でも、明白な過誤によるもので無い限り、市場レートの方が正しく、それに合わせてイールドカーブを構築すべきです。基礎編で、OISスプレッド拡大により、即座にアービトラージ収益が得られる可能性を指摘しました。しかしその場合でも、非合理に見えるOISスプレッドを勘案してイールドカーブを複数構築して、アービトラージ収益が発生しないように対応すべきです。そのような状況が発生するには、何等かの理由があると考えるべきです。OIS SpreadやCurrency Basisは、Quants Financeでは理論として取り込むのが難しい“流動性リスク”から発生しているものであり、アービトラージの機会が発生していると考えるべきではありません。
−金利のSensitivities計測−
Interpolationの方法の進化と、Multi-Curveへの対応の結果、金利リスクの計測方法も、より複雑になりました。
Cubic Spline法など、高次の関数を使ってPillar間の金利を補間した場合、原データとして使ったベンチマーク商品の金利を一か所だけ動かした影響がカーブ全体に波及することになります。トレーダーからすれば、期間4.5年のスワップのポジションをヘッジするには、主にベンチマーク商品となっている期間4年と期間5年のスワップを使い、それより期間の短いスワップや先物で微調整をするので十分だと考えるはずです。Bootstrappingのアルゴリズムからすると、キャッシュフローが発生している期間に近い商品がヘッジ商品になるはずで、5年より長いベンチマーク商品のレートの影響を受けるとは考えられません。しかし、高次の関数でInterpolationを行うと、カーブの両端で制約条件をかけた影響により、特定の時点の金利を動かした影響が、カーブ全体に波及していきます。いわゆる“局所性”の問題です。
また、Multi-Curve対応をすると、将来の変動金利を予想するIndex Curveと、現在価値に割引くDiscounting Curveの両方から金利リスクが発生します。実務的には、パラレルに変動すると想定して、Discounting Curveに対するSensitivitiesだけをヘッジすればいいように思えます。しかし、リーマンショック時のように、OIS Spreadが激しく変動する場合、オプション性が発生し、リスクプロファイルが相当複雑になります。上級編では、こういった辺りを解説していきたいと思います。