上級編 4. Short Rate Models

4.4   Hull-White モデル

4.4.5   Trinomial Tree : 3項ツリーの構築

4.4.5.4   3項ツリーを使ったバーミューダン・スワップションの価格計算

3項ツリーが構築できたので、これを使ったバーミューダン・スワップションの価格計算方法を解説します。樹形構造を使ったアルゴリズムは、このような期限前行使が可能な商品の価格評価に威力を発揮します。バーミューダン・スワップションの価格評価が出来れば、よりシンプルなヨーロピアンオプションの価格評価は簡単です。 

パラメータ \(a(t_i),~~σ(t_i)\) を特定する前に、オプション価格計算方法の説明をするのは、おかしく見えますが、そもそも3項ツリー構築そのものを、パラメータの特定前に行っています。実際の所、パラメータを Calibration するには、3項ツリーを使ってベンチマーク商品の価格計算を行う必要があり、3項ツリー構築と価格評価アルゴリズムは、パラメータを一旦変数と置いて、先にプログラミングしておく必要があります。 

4.4.5.4.1   バーミューダン・スワップション(Bermudan Swaption)

ここまで読み進められている方に、Bermudan Swaption がどんな商品か説明する必要は無いと思います。金利オプションの中でも、(価格計算が複雑であるにもかかわらず)頻繁に取引されている商品であり、Call Option や Put Option が付いた債券に内包するオプションでもあります。 

以下、価格計算のアルゴリズム説明の為に、バーミューダン・スワップションの条件を下記のように表記します。(ここではとりあえず Payer Swaption を考えます) 

  • みなし元本: 1
  • 対象スワップのスタート日: 当初 \(T_0^{Swap}\)。以降、各オプション行使日
  • 対象スワップの満期日: \(T_M^{Swap}\)
  • ストライク金利: Z  
  • 対象スワップの金利支払日: \(T_m^{Swap},~~~~m=~1,~2,~…~,~M\) (変動と固定金利の支払い日は同じと仮定)
  • クーポン期間: \(τ_m =T_m^{Swap}-T_{m-1}^{Swap}\)
  • オプション行使日: \(T_k^{Ex},~~~~k=1,~2,~…~,~K,~~~~但し、T_1^{Ex} =T_0^{Swap}\) 

ここでは、オプション行使日とスワップの金利支払日は一致していると仮定します。時間の前後関係は以下の通りになります。 

\[ t_0 =0 <T_1^{Ex}=T_0^{Swap} < T_1^{Swap}=T_2^{Ex} < T_2^{Swap} =T_3^{Ex}< ... < T_{K-l}^{Swap}=T_K^{Ex} < T_M^{Swap}=t_N \]

 

4.4.5.4.2   行使日 \(T_k^{Ex}\) における Payoff 関数

金利関連商品のオプションでは、オプション行使日以降にキャッシュフローが発生するケースが殆どです。行使日における Payoff を計算するには、そのキャッシュフローの(条件付)期待値を、オプション行使日まで Discount する必要があります。 

例えば、オプションの対象資産が金利スワップの場合、行使時 \(T_k^{Ex}\) における対象資産の価値は下記式で導出できます。 

\[ \begin{align} SwapValue(T_k^{Ex}) & =E^{Q_{RN}} \left[ \sum_{l=k}^M CF_l × P(T_k^{Ex},T_l^{Swap}) ~~\vert~~\mathscr {F}_{T_k^{Ex}} \right] \\ & =E^{Q_{RN}} \left[1-P(T_k^{Ex},T_M^{Swap})-\sum_{l=k}^M τ_l~Z~P(T_k^{Ex},T_l^{Swap}) ~~\vert~~ \mathscr {F}_{T_k^{Ex}} \right] \tag{4.54} \end{align} \]

但し、\(T_k^{Ex}\) : オプション行使日、
        \(CF_l\) : 対象資産の \(T_l^{Swap}\) 時キャッシュフロー
         \(P(T_k^{Ex},T_l^{Swap})~~:~~T_k^{Ex}\) 時における\(T_l^{Swap}\)満期のゼロクーポン債価格(Discount Factor)  

この式を使って、バーミューダン・スワップションの"最終行使日"におけるオプションの Payoff 関数を表すと、下記のようになります。これはオプション行使日において、それ以降のイールドカーブの情報が必要な事を意味します。シンプルな株式や為替のオプションのように、Payoff 関数が、単純な市場価格とストライク価格の引き算にはなりません。 

\[ Payoff\left(T_K^{Ex}\right)= max \left[SwapValue \left(T_K^{Ex}\right)~~,~~0 \right] \]

この Payoff は、それ以前の行使日にオプション行使をせず、継続保有した場合に限り成立します。従って、それを、\(T_K^{Ex}\) より前に、行使しなかったという事象に依存する条件付き期待値として、下記のように表記する事にします。 

\[ CValue(t_i)=E^{Q_{RN}} \left[ Payoff \left(T_K^{Ex} \right)~~ \vert~~ \mathscr {F}_{t_i} \right], ~~~~T_1^{Ex} \le t_i < T_K^{Ex} \]

最終行使日より前のオプション行使日では、この“継続保有価値”と、“行使価値”とを比較し、行使価値の方が大きければ行使します。そうでなければ、次のオプション行使日まで判断を先延ばしします。数式で表すと、下記のようになります。(期限前行使日を \(T_k^{Ex},~~~k=1,2,…,K-1\) とします) やはり、Payoffは単純なストライクと市場価格の引き算では求まりません。 

\[ OptionValue\left(T_k^{Ex}\right)=E^{Q_{RN}} \left[ max \left(CValue(T_k^{Ex})~,~SwapValue(T_k^{Ex}) \right)~~ |~~\mathscr {F}_{T_k^{Ex}} \right] \tag{4.55} \]

時間軸を遡りながら、各行使日において、この行使するか否かの判断を行います。 

以上から、バーミューダン・スワップションの各行使日における行使判断をするには、行使日ごとの、\(SwapValue(T_k^{Ex})\) を計算する必要があり、その為には、各行使日におけるゼロクーポン債価格、\(P(T_k^{Ex},T_m^{Swap})\) の条件付き期待値の情報が必要な事が分かります。 

では、これをどうやって求めればいいでしょうか? 

(i) ゼロクーポン債価格が解析解で求まるケース 

Short Rate Model の中で、瞬間短期金利 \(r(t)\) からゼロクーポン債価格、すなわち t 時のおけるイールドカーブが、解析的に求まるモデルがいくつかあります。シンプルな Hull-White モデル(パラメータが定数か、t で積分可能なシンプルな関数の場合)は、それに該当します。 この場合、そのゼロクーポン債価格式を使えば \(P \left(T_k^{Ex},T_m^{Swap}\right)\) は簡単に求まりそうです。 

Hull-White モデルで、パラメータを定数と仮定したモデルから導出されるゼロクーポン債価格式(4.21式)を再記します。 

\[ \begin{align} & P(t,T)=e^{-∫_t^T r(t)dt}=A(t,T)~e^{-B(t,T)~r(t)} \\ & ~~但し \\ & ~~~~B(t,T)=\frac{1-e^{-a(T-t)}}{a} \\ & ~~~~A(t,T)=\frac{P(0,T)}{P(0,t)}~exp⁡\left[f(0,t)B(t,T)-\frac{σ_r^2 (e^{-aT}-e^{-at})^2 e^{2at}-1}{4a^3 }\right] \end{align} \]

3項ツリーでは、すべてのノードで \(r(t)\) が求まっているので、この式を使えばそれぞれのノードで \(P(t_i,T)\) が計算できそうです。ここで、「できそうです」と曖昧に述べた理由は、3項ツリーの各ノード上の \(r_{i,j}~~ は,~~t_i\) 時の瞬間短期金利ではなく \(t_i\) 時から次のノードまでの期間 \(Δt_i\) における平均金利なので、それをそのまま、上の式に代入して使っていいのか疑問があるからです。 

一部の文献では、この式をそのまま使って、\(P(t_i,T)\) を計算すれば良いと説明しています。\(Δt\) の間隔を十分狭く取れば、瞬間短期金利に近づくと見做しているのでしょう。 

一方で、Hull-White の ”Options Futures and Other Derivatives” (第9版 p730) では、上式に若干の修正を加えて、下記のような式を提示しています。(但し R(t) は \(Δt\) 間の瞬間短期金利の平均)  

\[ \begin{align} & P(t,T)=\widehat A (t,T) ~e^{ - \widehat B (t,T)~R(t)} \\ & ~~但し \\ & ~~~~\widehat B (t,T)=\frac{B(t,T)}{B(t,t+Δt)} Δt =\frac{1-e^{-a(T-t)}}{a} \frac{aΔt}{1-e^{-aΔt}}=\frac{1-e^{-a(T-t)}}{1-e^{-aΔt}} Δt \\ & ~~~~\ln \widehat A (t,T) =\ln \frac{P(0,T)}{P(0,t)} - \ln \frac{P(0,t+Δt)}{P(0,t)} \frac{B(t,T)}{B(t,t+Δt)} - \frac{σ_r^2 (1-e^{-2at})}{4a} B(t,T)[B(t,T)-B(t,t+Δt)] \tag{4.56} \end{align} \]

Hull-White の本では、この式をどうやって導出したか解説されていないので、根拠は不明です。式を見る限り、\(B(t,T)\) を \(Δt/B(t,t+Δt)\) で微修正しているように見えますが、私自信よく理解できていません。理解せずにこの式を使うのが不安であれば、行使日前後の \(Δt\) を十分狭くとって4.21式を使うか、次の3項Treeを使って求める方法を使えばいいでしょう。 

 

(ii)  3項ツリーを使って、行使日における、ゼロクーポン債価格の条件付期待値を計算 

では、ゼロクーポン債価格の解析解が求まらないような Short Rate Model では、どうすれば良いでしょうか? ここで議論している Hull-White モデルも、パラメータ \(a(t_i),~~σ(t_i)\) を時間の関数と仮定しているので、これからゼロクーポン債価格の解析解が求まるかどうか不明です。もし求まらないなら、3項ツリーを使います。 

もともと Short Rate Model は、
「短期金利の運用を継続して行った場合のリターンの、リスク中立測度下での期待値は、長期金利のリターンと一致する」
という考え方がベースになっています。3項ツリーはそれを離散時間で近似したものです。 この考え方を、ゼロクーポン債価格の条件付き期待値の式で表現すれば下記の様になります。 

\[ P\left(T_k^{Ex},T_m^{Swap}\right) =E^{Q_{RN}} \left(e^{-\sum_{i=k}^m r(t_i) Δt_i} \vert \mathscr {F}_{T_k^{Ex}}\right) \tag{4.57} \]

3項ツリー構築のアルゴリズムの中で、すべてのノードでの \(r_{i,j}\) と、各ノード間の遷移確率が求まっているので、右辺の期待値演算が可能です。具体的には、3項ツリーを最終期日から時間を遡りながら、この期待値演算を計算し、\(T_k^{Ex}\) まで辿り着けば、行使日におけるすべてのノードで  

\[ P_j\left(T_k^{Ex},T_m^{Swap}\right),~~j=-min,…~0~,…~+max,~~k=1,2,…,K~~~~m=k+1,k+2,…,M \]

が求まります。( j は時間軸 \(T_k^{Ex}\) 上の \(r\) のノードインデックス、\(k\) は行使日のインデックス、\(m\) はキャッシュフロー日のインデックス) 

 

目次

Page Top に戻る

// // //