上級編 1. イールドカーブ

1.1 Interpolation

1.1.5 Tension Spline法

1.1.5.1 イントロダクション

上記で説明した、2階微分可能なCubic Spline法(Natural Cubic SplineやFinancial Cubic Spline法など)は、1階微分可能なBessel (Hermite) Cubic Spline,に比べて、より滑らかで、そこから導出される瞬間フォワード金利カーブも連続にできるという点で優れています。 

一方で、特定のPillarの原データの変動が、カーブ全体の形状に影響を及ぼすため、局所性が失われるというデメリットも発生します。局所性は、デリバティブズ商品の金利リスクの効率的なヘッジという点で重要です。また、Cubic Spline法は、各Pillarにおける原データが単調増加や単調減少しているにもかかわらず、Pillar間のカーブに局所的な最大値や最小値が発生して、単調性(Monotonicity)が失われる事があります。さらに、Pillarの間隔が広い場合にカーブが大きく“たわむ”、という現象も発生します。HymanはMonotone Preserving Cubic Spline法は、それらを修正するテクニック紹介しており、この方法は局所性にも優れています。一方で、瞬間フォワード金利の連続性は失われます。 

そこで、ある程度の局所性を維持したまま、滑らかで、かつカーブの幾何学的形状が、より経済的な実感に合う形にする方法が提案されています。そのひとつが、カーブの両側に張力をかけることにより、単調性を維持し、かつ“たわみ”を少なくし、さらに局所性も向上させるという方法です。たわんだロープを両側から引張ると、たわみが少なくなるイメージです。この方法は、Tension Splineと呼ばれていますが、張力をかける前の元のSpline関数の種類により、様々なバリエーションがあります。 

Tension Spline法を使ったカーブ構築方法については、P.E. Koch, T. Lyche “Interpolation with Exponential B-Splines in Tension” や、L. Andersen “Discount Curve Construction with Tension Splines” (2005) およびL. Andersen, V. Piterbarg “Interest Rate Modeling; Chapter 6” (2010, Atlantic Financial Press) 等々で紹介されています。 

ここでは、L. Andersenが紹介しているExponential Tension Spline法によるイールドカーブの構築方法を解説したいと思います。 

1.1.5.2 Exponential Tension Spline

< Interpolator の関数形 >

まず、各PillarにおけるZero Rate \(r(t_i)\) と、その2階微分係数 \(r''(t_i)\) が既知とします。\(r(t_i)\) が既知とは言っても、Bootstrapping + Interpolation法のアルゴリズムでは、最初は一定の推定値を使います。また、2階微分係数は、後で説明する通り、Zero Rate \(r(t_i)\) の差分を使って連立方程式を立てて求ます。 

まず、2階微分係数が、特定の区間内において、両側のPillarの微分係数 \(r''_iとr''_{i+1}\) の線形補間で求まるという条件を課します。式で表すと 

\[ r'' (t)=\frac{t_{i+1}-t}{h_i} r''_i+\frac{t-t_i}{h_i}r''_{i+1}, \tag{1.1.22} \]

但し、 \( h_i=t_{i+1}-t_i,\ \ r''(t)=d^2 r(t)/dt^2\)

ここで、何等かの境界条件をつけて、補間関数(Interpolator)r(t)を求めると、前のセクションで説明した、2階微分可能なCubic Spline(Natural Cubic SplineやFinancial Cubic Splineなど)になります。 

ここからTension Spline法によるInterpolatorを導出するには、まず、上の条件式を以下のように変形します。 

\[ r''(t)-σ^2 r(t)=\frac{t_{i+1}-t}{h_i}(r''_i-σ^2 r_i)+\frac{t-t_i}{h_i}(r''_{i+1}-σ^2 r_{i+1}),\ \tag{1.1.23} \]

 但し、\(r_i=r(t_i),\ \ r_{i+1}=r(t_{i+1}),\ \ σ:tension\ parameter\) (張力パラメータ) 

突然、新しい項とパラメータを無理やり付け加えており、戸惑いますが、式をよく見ると、\(r''(t)\) の線形補間の式と、\(r(t)\) の線形補間の式が組み合わさった式になっています。\(σ=0\) とすると、\(r()\) の項がすべて消えて2階微分係数の線形補間の式になります。また両辺を \(-σ^2\) で割って、\(σ→∞\) とすると、\(r''()\) の項がすべて消えて、\(r(t)\) の線形補間の式に収束します。σを大きくすると、張力が上がり、たわんだロープを両側から強く引っ張ると直線に近くなっていくイメージです。すなわち、この条件を満たすInterpolatorは、2階微分可能なCubic Splineカーブと、各PillarのZero Rateを直線で結んだ線形補間カーブのハイブリッドなカーブになる事を示唆しています。 

この式の両辺を2回積分し、Interpolatorが各Pillarの点を必ず通るという条件を使えば、次の様なInterpolatorの関数形が導出できます。 

\[ r(t)=\left[ \frac{\sinh(σ(t_{i+1}-t)}{\sinh(σh_i)}-\frac{t_{i+1}-t}{h_i} \right] \frac{r''_i}{σ^2} +\left[ \frac{\sinh(σ(t-t_i)}{\sinh(σh_i)}-\frac{(t-t_i}{h_i} \right]\frac{r'_{i+1}}{σ^2}\\ +\frac{t_{i+1}-t}{h_i}r_i+\frac{t-t_i}{h_i}r_{i+1},\ \ t\in [t_i,t_{i+1}],\ \tag{1.1.24} \]

すなわち、Zero Rateの補間関数 \(r(t)\) について、2つのPillarにおけるZero Rateの値 \(r_i,\ r_{i+1}\) を線形補間した値(第3項+第4項)を、2階微分の値 \(r''_i,\ r''_{i+1}\) を補間した値(第1項+第2項:ConvexityあるいはConcaveに相当)で調整しいる事を示しています。式に、双曲線関数(指数関数の線形結合)が含まれているので、Exponential Tension Spline(あるいはHyperbolic Tension Spline)と呼ばれています。 

< 関数形の係数の求め方 >

この関数形の各項の係数について、\(r_i\) は外生的に与えられますが、\(r''_i\) についても、何等かの条件を付ければ、\(r_i\) の差分を使って求める事が可能です。例えば、このInterpolatorの1階微分が連続であるという制約条件を課すと、次の様な方程式が導出できます。(未知数は各 \(r''_i\) )

\[ \left( \frac{1}{h_{i-1}}-\frac{σ}{\sinh(σh_{i-1})}\right) \frac{r''_{i-1}}{σ^2} +\left( \frac{σ \cosh(σh_{i-1})}{\sinh(σh_{i-1})}-\frac{1}{h_{i-1}}+\frac{σ \cosh(σh_i)}{\sinh(σ h_i)}-\frac{1}{h_i} \right) \frac{r''_i}{σ^2}\\ +\left( \frac{1}{h_i} -\frac{σ}{\sinh(σh_i)}\right) \frac{r''_{i+1}}{σ^2} = \frac{r_{i+1}-r_i}{h_i} -\frac{r_i-r_{i-1}}{h_{i-1}},\ \tag{1.1.25} \]

これが、各 i について n-2 本の方程式として成立するので、さらに境界条件として、Natural Cubic SplineやFinancial Cubic Spline法のように、\(r''_1,\ r''_N\) を外生的に与えてやれば、n 本の連立方程式が成立し、その解として各 \(r''_i\) が求まります。  

最後に、σ の値を決めればInterpolatorの完成です。σ は \( 0\le σ \lt ∞\) の間の任意の値をとり、どのように決めてもInterpolatorは、PillarでExact Fitする2階微分可能な曲線になります。もともとTension Parameterを取り入れた理由は、Zero Curveや瞬間フォワードカーブの形状に、不自然な波や、不自然なConvexity/Concavityが発生するのを抑制する為でした。従って、σ の値を動かしながら、イールドカーブの形状がより自然な形になるよう調整する訳ですが、自然かどうかは人間が見て判断する事になります。従って、極めて主観的な判断になり、それがこの方法の問題点かと思います。 

実務では、イールドカーブ構築の為の、原データの選択・取得は一義的にはトレーディング部署が行い、それをリスク管理部署やProducts Control部署といった管理部門がチェックするケースが多いと思います。σ の選択をトレーディング部署が行った場合、その妥当性のチェックはなかなか難しい問題です。σ の値によって、ポジションの損益が動く為、恣意的な操作を排除するのは簡単ではありません。Andersenによれば、σは区間毎に設定する事も可能であり、そうすると、さらに主観的判断が加わります。 

もう一度、Interpolator(1.1.24式)を見ると、\(σ → ∞\) とすれば、右辺の第1項と第2項は 0 に収束し、単なるZero Rateの線形補間の式になります。また、第1項と第2項の \(r''_i\) と \(r''_{i+1}\) は、連立方程式で求めるので、カーブ全体の影響を受けます。しかし、σ が大きくなるにつれて、この項の影響が小さくなるので、張力を上げると、Interpolatorの局所性が向上します。σ の値判断には、その要素も含まれるでしょうから、さらに主観的な判断になります。 

上のExponential Tension Splineの式中の双曲線関数を指数関数に変換して、式を分解すると、各区間において、\(1,\ t,\ e^{σt},\ e^{-σt}\) の4本の基底関数の線形結合で表現されている事が分ります。このように基底関数の線形結合で、Interpolatorを表現する方法をB-Splineと呼びます。BはBasisの略です。しかし、ここでは、B-Spline法のように、基底関数の係数を求めるのではなく、Interpolatorの係数を直接求める方法を示しました。B-Splineの方法は、後で簡単に説明しますが、こちらの方法の方が、大分解りやすいのではないかと思います。 

1.1.5.3 Exponential Tension SplineをOptimal Fittingで導出する方法

これまで、LIBOR-Swapカーブの構築方法は、各Pillarにおいて、原データとなるPar Curveの市場レートに、完全にフィットさせる方法が絶対条件であると説明してきました。取引きした瞬間にアービトラージ収益が出る事を許さない為です。 

しかし、政府債のイールドカーブや、事業債のイールドカーブを構築する場合、同じMaturityで異なる利回りの銘柄が存在したり、流動性が劣る為、利回りに異常値が出て信頼がおけなかったりする可能性があります。そういった場合、無理に完全フィットさせようとすると、イントロダクションの所で示した連立方程式で解(Discount Factor)を求めるアルゴリズムが収束しなかったり、収束したとしてもカーブに不自然に大きな波が発生したりします。 

こういった場合、条件を緩めて、完全にフィットしなくても、最適なフィットをするようなイールドカーブ構築のアルゴリズムを使います。政府債や事業債のイードルカーブは、直接、時価評価に使う事は無いので(債券の時価評価は、原則、市場で呈示されている“価格”で評価する為)、Exact Fitは絶対的な要請ではなく、無理にフィットさせるより、カーブの形状が不自然でない事の方が重要です。 

L. Andersenは、次の様な最小値問題を解くことによって、Pillarのデータには完全にフィットしないものの、InterpolatorのConvexityや不自然な波を抑制しながら、フィットの度合いとのバランスを取る方法を紹介しています。すなわち、下記式を市場データにCalibrationして、最適な補間関数 \(\hat r\) を求める方法です。 

\[ \hat r() =\rm{arg}\ \min_{\rm r()\in C^2}⁡{\it I}(r(t)) \tag{1.1.26} \] \[ {\it I}(r(t))=\frac{1}{N}\mathbf{\left( V-[CF]∙DF(r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(r(t))\right)} +λ\left(\int_{t_1}^{t_m}\left( r''(t)^2+σ^2 r'(t)^2\right)dt \right),\ \tag{1.1.27} \]

但し、

  • \(\mathbf V:n\) 個のベンチマーク商品の市場価格ベクトル
  • \( \mathbf{[CF]}:\) 各ベンチマーク商品のキャッシュフローベクトルを \(Pillar\ t_j,\ j=1,2,…,m\) にマッピングした \(n×m\) 行列。各要素 \( \mathbf{CF_{i,j}}\) は i 番目のベンチマーク商品の \(t_j\) 時のキャッシュフロー
  • \( \mathbf{DF(r(t))}\) :インターポレーションされたZero Rate Curve \( r(t)\) を使って計算された各 Pillar (m個) におけるDiscount Factor のベクトル
  • \( {\mathbf [W]}\): 各ベンチマーク商品に対するウェイトが対角要素となる \(n×n\) の対角行列。
  • \(λ\) : ベンチマーク商品の価格へのフィットする度合と、イールドカーブの曲率および長さの度合のバランスを取る為のパラメータ

上記の最小値問題 \(\rm{arg}\ \min_{\rm r()\in C^2}⁡{\it I}(r(t))\) は、2階微分可能なInterpolatorの集合 \(r(t)\in C^2\) の中から、右辺の値が最小になるようなInterpolator \(r(t)\) を探すものです。この式の右辺は、3つのノルムからなります。すなわち 

  • ベンチマーク商品の価格(または利回り)との乖離を示すノルム \[ \frac{1}{N}\mathbf{\left( V-[CF]∙DF(r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(r(t))\right)}=\frac{1}{N}\sum_{i=1}^n W_i^2 \left( V_i-∑_{j=1}^m CF_{i,j}\times e^{-r(t_j)t_j }\right)^2 \] \(\mathbf{V-[CF]∙DF(r(t))}\) は、市場価格 \(\mathbf V\) と、InterpolationされたDiscount Curveを使って計算されたベンチマーク商品Cash Flow の現在価値との差を計算しています。Exact Fittingなら 0 になるはずですが、ここでは Optimal Fitting を目指しているので、0 になるとは限りません。ウェイトの対角行列 W_i^2 は、ベンチマーク商品の内、流動性の劣る銘柄のウェイトを下げる為に使う事ができます。あるいは、W_i^2 として各商品のModified Durationを使えば、価格の誤差ではなく、利回りの誤差でフィットさせることが出来ます。
  • “滑らかさ”のノルム \[ λ\left( \int_{t_1}^{t_m}r''(t)^2 dt\right)\] これは、イールドカーブが、各 Pillar でカーブが急激に曲がったり、Pillar 間で不自然な波が発生したりする事を軽減する為、イールドカーブの曲率(の累計)が大きくなる事へのペナルティーを意味します。
  • イールドカーブの長さのノルム \[ λ\left( \int_{t_1}^{t_m} \sigma^2 r'(t)^2 dt\right)\] これは、Pillar間のカーブが大きく“たわむ”事を避ける為、イールドカーブの長さへのペナリティーを意味します。

以上から、この最小値問題は、イールドカーブを市場データに完全にフィットさせる事をある程度あきらめて、カーブを望ましい形状にする為に、カーブ全体に渡る曲率の大きさや長さの調整を行うものです。λの値を大きくすれば、曲率や長さの調整をより重要視している事を意味します。逆にλを小さくすれば、市場データへのフィットをより重要視している事を意味します。λ=0とすれば、原データに経済的な異常値が無い限りExact Fitさせる事ができます。 

実際に、この最小値問題を解くには、右辺の積分項の計算が必要になります。L. Andersenは、この積分が、各Pillarにおける \(r(t_j)\) と \(r''(t_j)\) の値から求まる事を示しています。その導出過程は原論文を参照下さい。ここでは結果だけ下記します。 

\[ \lambda \left(\int_{t_1}^{t_m} \left( r''(t)^2 + \sigma^2 r'(t)^2 \right) dt\right) =-\lambda \sum_{j=1}^{m-1} d_j \left( r(t_{j+1})-r(t_j)\right),\ \tag{1.1.28} \]

但し、 

\[ d_j\equiv \frac{r''(t_{j+1})-\sigma^2 r(t_{j+1})}{t_{j+1}-t_j}-\frac{r''(t_j)-σ^2 r(t_j)}{t_(j+1)-t_j},\ \tag{1.1.29} \] \[ r''(t_1)=r''(t_m)=0,\ \tag{1.1.30} \]

また、各 \(r''(t_j)\) は、Financial Cubic Spline法と同じ様に、連立方程式を使って求めます。 

λ は、σ と同様、主観的な調整パラメータで、出来上がったイールドカーブの形状を見て、原データへのフィット度合いと、カーブの不自然な形状の度合いにバランスを取りながら決めていくことになります。 

これで、最小値問題を解く材料が揃いました。具体的なアルゴリズムは、 

  1. まず \(r(t_j)\) の推定値を使って\(\frac{1}{N}\mathbf{\left( V-[CF]∙DF(r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(r(t))\right)}\) を計算する。
  2. 各Pillarにおける \(r''(t_j)\) を、連立方程式を使って求める。
  3. 曲率と長さのノルムのペナルティー項 \(\lambda \left(\int_{t_1}^{t_m} \left( r''(t)^2 + \sigma^2 r'(t)^2 \right) dt\right)\) を、1.1.28, 1.1.29, 1.1.30式を使って計算する。
  4. i ~ iii を、多変数Optimizerを使って再計算を繰り返し、最適な\(r=\rm{arg}\ \min_{\rm r()\in C^2}⁡{\it I}(r(t))\) を求める。

 

< λを内生的に求める方法 >

λについて、Andersenは、最小値問題の中の、市場データとの乖離ノルムに一定の制約条件を付ける事によって、内生的に求める方法も提示しています。式で表現すると 

\[ \hat r=\rm{arg}⁡\min \int_{t_1}^{t_m}\left( r''(t)^2+\sigma^2 r'(t)^2 \right)dt \\ subject\ to\ \frac{1}{N}\mathbf{\left( V-[CF]∙DF(r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(r(t))\right)}=\gamma^2 \]

これは、第2式において、市場データとの乖離について、そのウェイト付き2乗平均が\(\gamma^2\) 以内になるという制約条件をつけ、その条件下で曲率と長さのノルムが最小となるようなInterpolator \(r(t)\) を求める方法です。上の式を、ラグランジェ乗数 ρ を使って、コスト関数付きの最小値問題の形に書き換えると 

\[ \hat r=\rm{arg} \min \left( \sum_{t_1}^{t_m}(r''(t)^2+\sigma^2 r'(t)^2)dt\\ +\rho\left(\frac{1}{N}\mathbf{\left( V-[CF]∙DF(r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(r(t))\right)}-\gamma^2 \right) \tag{1.1.31} \right) \]

となります。 ここから、λを求めるには 

  1. 何等かの λ の推定値を使い、\(\hat r=\rm{arg}\ \min_{\rm r()\in C^2}⁡{\it I}(r(t)) \) の最小値問題を解いて、\(\hat r\) を導出する。
  2. その \(\hat r\) を使い、\(S=\frac{1}{N}\mathbf{\left( V-[CF]∙DF(\hat r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(\hat r(t))\right)} \)を計算する
  3. \(S=\gamma^2\) なら、そこで計算をストップ。そうなっていなければ、λ を調整して i からやり直す。

S は λ に対して減少関数になるので、上の再帰計算において、λ を小さくしていけば、\(S=\gamma^2\) となるような λ は必ず求まるはずです。 

1.1.5.4 基底関数を使った関数形と、係数の求め方

セクション1.1.5.2で説明したExponential Tension Splineによる補間関数は、2階微分可能で、かつTensionパラメータを導入した1.1.23の条件式を積分する事によって、1.1.24の関数形を導出しました。係数は、各PillarにおけるZero Coupon Rateの値と、2階微分係数の値を使って表現されており、前者は既知とし、後者は連立方程式の解としてZero Coupon Rateから導出して、関数形を完成させました。 

ここでは、Exponential (Hyperbolic) Tension Spline関数を、各Knot Points(B-Spline法におけるKnot pointsは、Pillarと若干意味が異なるので、以下Knot Pointsを使います)で特定される基底関数の線形結合として定義し、その係数を市場データに最適にフィット(Optimal Fitting)させて求める方法を説明します。Tension Spline法の解説をした論文は、大半が基底関数の係数を求めるB-Spline法をベースにした説明をしているので、あえてその方法の説明を加えました。かなり難解であり、とりあえず1.1.5.2の方法で事足りるので、別に読み飛ばして頂いていいと思います。 

基底関数(Basis Function)を使ってInterpolator(補間関数)を表現する方法をB-Splineと呼んでいます。BはBasisの略です。イールドカーブをB-Splineの方法で構築するのは、金融実務では一般的ではありませんが、コンピューターグラフィックスの世界ではよく使われているようです。B-Splineについての詳しい解説は、その方面の専門の文献をご参照下さい。C. de Boorの “Practical Guide to Splines” が詳しいようです。 

Zero RateのInterpolatorを、次の様に、基底関数の線形結合で構築されると仮定します。 

\[ r(t)=\sum_{j=0}^{M+1} b_j \times x_j(t),\ \tag{1.1.32} \]

但し、\(x_j(t)\) は M+2 個の基底関数で、\(b_j\) は定数係数です。 

この基底関数が、局所的にしか値をとらないとすると、スプライン関数の構築には便利です。その基底関数として、Exponential Basis Functionを想定します。その為には、まず Knot points を補充する必要があります。既にある Knot points: \(t_1,t_2,…,t_M\) の左側と右側にそれぞれ3個ずつ Knot points を補充し、新たな Knot points の配列を、\(t_{-2},\ t_{-1},\ t_0,\ t_1,\ t_2,…,\ t_M,\ t_{M+1},\ t_{M+2},\ t_{M+3}\) とします。そして、Exponential Basis Functionを下記のexponential hat function: \(B_{j,2}\) の漸化式として定義します。 

\[ B_{j,2}=\begin{cases} \Psi''_j(t),\ \ \ \ t_j\lt t \lt t_{j+1} \\ \Phi''_{j+1}(t),\ \ t_{j+1}\lt t\lt t_{j+2}\\ 0,\ \ \ \ \ \ \ \ \ \ otherwise,\ \tag{1.1.33} \end{cases} \]

但し、 

\[ \Psi_j(t)=\frac{\sinh(\sigma(t-t_j))-\sigma (t-t_j)}{σ^2 \sinh(\sigma h_j)},\ \ \ \Phi_{j+1}(t) =\frac{\sinh(\sigma(t_{j+2}-t))-\sigma(t_{j+2}-t)}{\sigma^2 \sinh(σh_{j+1})}, \]

そして、漸化式は、 

\[ B_{j,k}(t)=\Lambda_{j,k-1}(t)-\Lambda_{j+1,k-1}(t),\ \tag{1.1.34} \] \[ \Lambda_{j,k-1}(t)=\begin{cases} 0,\ \ \ \ \ t\lt t_j\\ \frac{\int_{t_j}^t B_{j,k-1}(t)dt}{\int_{t_j}^{t_{j+k-1}} B_{j,k-1}(t)dt},\ t_j\lt t \lt t_{j+k-1}\\ 1,\ \ \ \ \ \ otherwise\ \ \tag{1.1.35} \end{cases} \]

ここから、\(k=4\) とすると \(B_{j,4}\) の形状は、Knot point: j と j+4 の外側がゼロで、内側では [0, 1]の範囲で値を取り、j+2 のKnot Pointをピークとする帽子のような形になります。すなわち、\(B_{j,k}(t)\) は、係数 \(b_j\) が影響を及ぼす程度と範囲を示す関数と理解すればいいでしょう。 k は、漸化式の次数です。先ほどのInterpolator の基底関数 \(x_k(t)\) として、この \(B_{j-2,4}\) を使うと、 

\[ r(t)=\sum_{j=0}^{M+1} b_j B_{j-2,4}(t),\ \ \tag{1.1.36} \]

\(B_{j,4}\) は局所的で、任意の t においてInterpolator:\(r(t)\) は最大4個の基底関数の影響しか受けません。また、各Knot Point:\(t_j\)においては、\(B_{j-1,4}(t_j),\ B_{j,4}(t_j),\ B_{j+1,4}(t_j)\) の3個の基底関数の影響しか受けません。 

\(B_{j,4}\)を外生的に、\(\Psi_j(t)\) と \(\Phi_j(t)\) で表現できます。過程は省略しますが、下記のようになります。(導出過程は、Koch- Lycheの論文を参照して下さい。) 

すなわち、 \(t\in [t_j,\ t_{j+1}]\) 間のInterpolator は、各knot point における係数 \(b_j\) と Zero Rate の値 \(r_j\) が外生的に与えられれば、それらを使った4個の基底関数の線形結合として、下記のように表現できます。 

\[ r(t)=\sum_{n=j-1}^{j+2} b_n\ B_{n-2,4}(t)=b_j+b_{j-1}^{(1)}(t-r_j)+b_{j-1}^{(2)} \Phi_j(t)+b_j^{(2)} \Psi_j (t)\\ =b_{j-1}\frac{\Phi_j(t)/z'_j}{y_j-y_{j-1}}+b_j\left( 1-\frac{t-r_j+\Phi_j(t)/z'_j}{y_{j+1}-y_j}-\frac{\Phi_j(t)/z'_j}{y_j-y_{j-1}}+\frac{\Psi_j(t)/z'_{j+1}}{y_{j+1}-y_j }\right)\\ +b_{j+1} \left( \frac{t-y_j+\Phi_j (t)/z'_j}{y_{j+1}-y_j}-\frac{\Psi_j(t)/z'_{j+1}}{y_{j+2}-y_{j+1}}-\frac{\Phi_j(t)/z'_{j+1}}{y_{j+1}-y_j} \right)+b_{j+2} \frac{\Psi_j(t)/z'_{j+1}}{y_{j+1}-y_j},\ \ \ \ t\in [t_j,t_{j+1}], \tag{1.1.37} \]

但し、 

\[ z_j=\Psi_{j-1}(t_j)-\Phi_j(t_j),\ \ z'_j=\Phi'_{j-1}(t_j)-\Phi'_j(t_j),\ \ y_j=t_j-\frac{z_j}{z'_j},\\ b_j^{(1)}=\frac{b_{j+2}-b_{j+1}}{y_{j+2}-y_{j+1}},\ \ b_j^{(2)}=\frac{b_j^{(1)}-b_{j-1}^{(1)}}{z'_{j+1}} \]

上の式から、各Knot pointにおける \(r_j,\ r'_j,\ r''_j\) の式が, 境界部分を除いて、下記のように表現できます。 

\[ r_j=b_j+\frac{b_{j-1}^{(1)} \Psi_{j-1} (t_j)-b_{j-2}^{(1)} \Phi_j(t_j)}{z'_j} \\ r'_j=b_j+\frac{b_{j-1}^{(1)}\Psi'_{j-1}(t_j)-b_{j-2}^{(1)}\Phi'_j(t_j)}{z'_j} \\ r''_j=b_{j-1}^{(2)} \]

ここからさらに、境界条件を決めて、\(b_0\) と \(b_{M+1}\) を特定します。例えば、Natural Cubic Splineの条件 \(r''_0=r''_M=0\) と決めると 

\[ b_0=b_1-\frac{(b_2-b_1 )(y_1-y_0)}{y_2-y_1}\\ b_{M+1}=b_M-\frac{(b_M-b_{M-1})(y_{M+1}-y_M)}{y_M-y_{M-1}} \]

以上で、Interpolatorの関数形は特定できました。後は、係数 \(b_i,\ i=0,1,…,M+1\) を市場データにフィットするように求める作業が残ります。 

Optimal Fittingは、下記のペナルティー付きの最小値問題を満たす \(b_i,i=0,1,…,M+1\) を求める事になります。これは、セクション1.1.5.3で使った最小値問題がそのまま使えます。そこで示した、1.1.26と1.1.27式を再度下記します。 

\[ \hat r() =\rm{arg}\ \min_{\rm r()\in C^2}⁡{\it I}(r(t)) \tag{1.1.26} \] \[ {\it I}(r(t))=\frac{1}{N}\mathbf{\left( V-[CF]∙DF(r(t)) \right)^T [W]^2 \left( V-[CF]∙DF(r(t))\right)} +λ\left(\int_{t_1}^{t_m}\left( r''(t)^2+σ^2 r'(t)^2\right)dt \right),\ \tag{1.1.27} \]

Exact Fittingは、λ=0とすれば、各Pillarにおけるベンチマーク商品の市場価格が再現できます。 

アルゴリズムは、セクション1.1.5.3と同じです。 

 

目次

Page Top に戻る

// // //