上級編 6.  Libor Market Model 

6.3  古典的なLMMの拡散項係数(Volatility関数)

6.3.1   はじめに

古典的な LMM の基本形である(6.1)式を再記します。 

\[ \frac{dL_i (t)}{L_i (t)} = μ_i (t,{\bf L(t)}) dt + {\bf σ_i(t)∙C∙dw(t)},~~~~i=1,2,…,n \tag{6.1} \]

(但し、\(\bf σ_i(t)\) は i 番目の要素のみ正の実数が入り、他の要素は 0 となる m 次元ベクトル。 は、Libor 間の相関行列 ρ を分解した n × m 次元の行列、\(\bf dw(t)\) は m 次元の独立したブラウン運動) 

この式(確率微分方程式)は、各フォワード Libor の微小変化率(左辺)が、m 次元の独立したブラウン運動により駆動され、\(μ_i(t,\bf L(t))\) の割合でドリフトしながら、\(\bf ‖σ_i∙C‖^2\) の割合で拡散していく様子を表しています。この内、ドリフト項は、前のセクションで示した通り、測度変換の公式を使って、拡散項係数から解析的に求まります。これはすなわち、これにバリエーション(例えば、SRM における中心回帰傾向を持たせるような関数)を与える事はできない事を意味します。(注:但し中心回帰傾向は、t に依存する Volatility 関数 \(σ_i (t)\) を使っても表現可能です。) 一方、拡散項の関数形については、様々なバリエーションを与える事ができ、それにより将来のイールドカーブの確率変動を、表現力豊かに描けます。最もシンプルな初期の LMM の拡散項は、Deterministic な関数 \({\bf σ_i (t)} \) と、フォワード Libor 間の相関係数を分解した行列 C(相関行列を ρ とすると \( \bf ρ=C∙C^\top \))が、m 次元のブラウン運動に作用して、Libor が拡散していく様子を描くようになっています。\(\bf σ_i (t)∙C \) は m 次元のベクトルで、(数学的には不正確な表現ですが、感覚的には判りやすく言うと) \(L_i\) と他の Libor 間の(瞬間)共分散の平方根です。またそのノルム\(\bf ‖σ_i (t)∙C‖\) は、Libor ごとの 瞬間Volatility になります。古典的な LMM を個別の Libor ごとに独立してみれば、(変化率)Volatility が \(\bf ‖σ_i (t)∙C‖\) で、幾何ブラウン運動するモデルになります。仮に、\(\bf ‖σ_i (t)∙C‖\) を、t に依存しない定数とおけば、Black モデルと同じ SDE になります。 

古典的な LMM 以降、拡散項係数の関数形については、様々なバリエーションが発表されてきました。その意図する所は、フォワード Libor の Volatility について、以下の 4 点の様子を、実際に市場で観測される動きや、市場価格に内包されている将来の予想に、できるだけ近づけようとするものです。 

  1. Volatilityの期間構造(LiborのテナーごとのVolatilityを曲線で表現したもの)
  2. Volatilityの期間構造が時間の経過によって変化していく様子
  3. Volatility Skew―Smile カーブ
  4. 各Libor間の相関

また、その関数形は、互いに矛盾する次の2つの要請を、できるだけ満たす必要があります。すなわち 

(i)  Cap や Swaption といった、ベンチマーク商品の価格に内包されている、フォワード Libor の予想分布に、できるだけ近づけること。言い換えると、拡散項係数のパラメータを、これらの商品の価格に Calibration する際、できるだけ広範な商品で、モデル価格と市場価格の差ができるだけ接近していること(Calibration エラーが、できるだけ小さくなるようにすること)。 

(ii)  Calibration されたモデルのパラメータが安定していること。言い換えると、モデルが予想する価格とリスク量の変化が、モデルが予想した通りに動き、デリバティブズをヘッジする取引戦略により、リスクヘッジが機能すること。 

パラメータの安定性は、アカデミクスの文献ではあまり触れられません。理屈では、パラメータは本来動いてはいけないものだからです。しかし実際には、モデルをCalibrationする度にパラメータは動くことになり、トレーダーやリスク管理の実務者にとっては、非常にやっかいな問題です。Volatility (ベガリスク)やガンマまでは何とかヘッジできても、Vanna や Volga といった、パラメータが変動する事によって発生する交差2階微分リスクは、ヘッジが困難です。さらに、相関係数パラメータは、ほとんどヘッジ不可能で、これが大きく動くと、トレーダーは不測の損失に見舞われる可能性があります。モデルパラメータの数を増やせば、モデル価格を市場価格にフィットさせやすくなり、Calibrationエラーを小さくできます。一方で、そうするとCalibrationの度に、パラメータが動き、モデルの予測性能を落とす事になります。 

具体的な関数形を決めるにあたっては、1.~4. の表現力の問題と、(i)、(ii) の要請の問題と、さらに時価評価の対象となる商品の商品性を加味して、それぞれどこに重点をおくかで決めていく事になります。従って、多種多様な選択肢があり、証券会社ごと、さらには、同じ会社内でもトレーディングデスク毎や商品毎で、様々な対応がなされています。 

 

6.3.2   Volatility 関数の関数形

さて、上記の1.~4.の様子を、それぞれどのようなパラメータや関数を使って表現するかについて理解を容易にするために、拡散項係数を、より細かなファクターに分解して、下記のような関数形を考えてみます。この右辺の汎用的な形で、おそらく LMM のバリエーションのほとんどすべてをカバーできると思います。 

\[ {\bf σ_i (t)∙C} = ϕ_i ψ(t,T_i) η(L_i (t)) ζ(z(t))∙c_i (t) \]

但し、各ファクターの意味と役割は、以下のようなものです。 

  • \(ϕ_i\) : フォワードLibor \(L_i\) ごとに設定される定数。Volatilityの期間構造をコントロール
  • \(ψ(t,T_i)\) : 観測時点 t から、各 Libor \(L_i\) の支払日 \(T_i\) までの期間(Libor の残存期間)に依存する関数。 Volatility の期間構造が、時間経過によって変化していく様子をコントロール
  • \(η(L_i (t))\) : t 時における \(L_i(t)\) の値に依存する関数。 いわゆる Local Volatility と呼ばれるファクターで、Volatility Smile カーブの傾き(skew)をコントロール。 \(η(L_i (t))=L_i (t)\) とすれば、古典的な対数正規分布の LMM
  • \(ζ(z(t))\) : 確率変動する Volatility 関数 \(z(t)\) に依存する関数。 これにより Volatility Smile カーブを表現できる。
  • \(\bf c_i (t)\) : Libor 間の相関行列 ρ を分解した行列 \(\bf C~~(ρ=C∙C^{\top})\) の i 番目の行ベクトル(m次元)。 相関行列そのものは、1個で固定されますが、時間の経過に伴い Libor の残存期間が短くになるにつれ、適用される相関係数が変わってきます。 n 個のフォワード Libor 間の相関行列は、n × n 次元となりますが、時間の経過により残存するLiborの数が減るにつれ、相関行列の次数も減少し、 それに伴い、各Libor間の相関も少しずつ動きます。 という事で、相関の情報 \(\bf c_i\) も時間の関数として \(\bf c_i (t)\) と表記します。

これを使って LMM の(6.1)式を書き換えてみます。 

\[ dL_i(t) = Drift(∙)dt + ϕ_i~~ψ(t,T_i)~~η(L_i(t))~~ζ(z(t))~∙ {\bf c_i(t)∙dw(t)^Q} \tag{6.37} \]

(ここではドリフト項係数を特定せず、単に Drift(∙) とおいておきます。LMM におけるドリフト項係数は、測度変換の公式を使って、拡散項係数から導出されるので、拡散項係数が特定できれば、自動的に決まります。) 

これらのファクターの内、Local Volatility のファクターである \(η(L_i(t))\) と Stochastic Volatility のファクターである \(ζ(z(t))\) は、いずれも、上記 3.のポイント、すなわち Volatility Skew-Smile カーブをコントロールします。これらについては、別の所で解説する予定です。ここでは、初期の LMM を中心に解説するので、とりあえず \(η(L_i (t))=L_i (t),~~~ζ(z(t))=1\) とおき、拡散項係数の関数形を下記のように置きます。 

\[ {\bf σ_i (t)∙C} = ϕ_i~~ψ(t,T_i )~~L_i(t)~∙ \bf c_i(t) \]

すると、古典的な LMM の SDE は下記のような形で表現できます。 

\[ dL_i(t) = Drift(∙)dt + ϕ_i~~ψ(t,T_i )~~L_i(t)~∙ {\bf c_i(t)∙dw(t)^Q}~~~~~~i=1,2,…,n \tag{6.38} \]

ここから、\(ϕ_i~~ψ(t,T_i )~~L_i(t)∙ \bf c_i\) がどうやって、上記の1.と2.と4.の様子を表現していくか見ていきます。 

 

目次

Page Top に戻る

// // //