Shifted Log-NormalボラティリティとNormalボラティリティの変換

金融分析

スワップションのボラティリティはShifted Log-NormalベースのものとNormalベースものがあります。例えば、Shifted Log-Normalベースのボラティリティデータが手元にあり、Hull-Whiteモデルをキャリブレーションする際などはNormalベースのボラティリティに変換する必要があります。
本エントリーではこの変換式について解説していきます。

なお本エントリーでは、オプションの満期日\(=\)スワップのスタート日\(=T_0\)、スワップの金利交換日を\(T_1,T_2,…,T_m\)、YearFraction\(δ_i=T_i-T_{i-1}\)とします。また、スワップレート\(S\)、リスクフリーレート\(r\)、行使レート\(K\)、Shift幅\(h\)、Shifted Log-Normalボラティリティ\(σ_{SLN}\)、Normalボラティリティ\(σ_{N}\)と表記します。

ざっくりした変換式

ざっくりと計算したい場合はShifted Log-NormalとNormalの確率過程を比較することで、簡単に近似式を得ることができます。

Shifted Log-Normalベースでの確率過程は下記の通り与えられます。

$$dS(t)=r(S+h)dt+σ_{SLN}(S+h)dW(t)$$

一方で、Normalのベースでの確率過程は下記の通り与えられます。

$$dS(t)=rdt+σ_{N}dW(t)$$

よって、拡散項を比較することで下記の近似式を得ることができます。

$$σ_{N}≈σ_{SLN}(S+h)$$

これによりATMのボラティリティをざっくり近似変換できます。レベル感の確認や正確な変換式がちゃんとプログラムされているかを確認するには十分かと思います。

正確な変換式

Shifted Log-Normalベースで評価したとしてもNormalベースで評価としたとしても市場のスワップション価格は一致します。これを使って変換式を作っていきます。

まず、Shifted Log-Normalベースでのスワップション価格は下記の通り与えられます。
\begin{equation}
Swaption_{SLN}=\{(S_{T_0}^{T_m}+h)N(d_1)-(K+h) \cdot N(d_2)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i) \\
d_1=\frac{log(\frac{(S_{T_0}^{T_m}+h)}{(K+h)})+\frac{1}{2}σ_{SLN}^2T_0}{σ\sqrt{T_0}}, d_2=d_1-σ_{SLN}\sqrt{T_0}
\end{equation}

ATMでは\(S_{T_0}^{T_m}=K\)とすると、Shifted Log-Normalモデルは下記のように変形できます。
\begin{eqnarray}
Swaption_{SLN}&=&\{(S_{T_0}^{T_m}+h)N(d_1)-(K+h) \cdot N(d_2)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i) \\
&=&\{(S_{T_0}^{T_m}+h)N(\frac{1}{2}σ_{SLN}\sqrt{T_0})\\
& &- (S_{T_0}^{T_m}+h)N(-\frac{1}{2}σ_{SLN}\sqrt{T_0})\}\sum_{i=1}^{m} δ_i \cdot DF(t_i)\\
&=&\{2(S_{T_0}^{T_m}+h)(N(\frac{1}{2}σ_{SLN}\sqrt{T_0})-1)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i)
\end{eqnarray}

次に、Normalベースでのスワップション価格は下記の通り与えられます。
\begin{equation}
Swaption_{N}=\{(S_{T_0}^{T_m}-K)N(d)+σ_N\sqrt{T_0}n(d)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i) \\
d=\frac{S_{T_0}^{T_m}-K}{σ_N\sqrt{T_0}}
\end{equation}

ATMでは\(S_{T_0}^{T_m}=K\)とすると、Normalモデルは下記のように変形できます。
\begin{eqnarray}
Swaption_{N}&=&\{(S_{T_0}^{T_m}-K)N(d)+σ_N\sqrt{T_0}n(d)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i)\\
&=&\{σ_N\sqrt{T_0} \cdot n(0)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i)\\
&=&σ_N \sqrt{\frac{T_0}{2π}}\sum_{i=1}^{m} δ_i \cdot DF(t_i)
\end{eqnarray}

よって、\(Swaption_{N}=Swaption_{SLN}\)により下記が成立します。
\begin{eqnarray}
σ_N \sqrt{\frac{T_0}{2π}}\sum_{i=1}^{m} δ_i \cdot DF(t_i)&=&\{2(S_{T_0}^{T_m}+h)(N(\frac{1}{2}σ_{SLN}\sqrt{T_0})-1)\}\sum_{i=1}^{m} δ_i \cdot DF(t_i)\\
σ_N &=&\sqrt{\frac{2π}{T_0}}\{2(S_{T_0}^{T_m}+h)(N(\frac{1}{2}σ_{SLN}\sqrt{T_0})-1)\}
\end{eqnarray}

この式を使えばATMのスワップションのボラティリティをShifted Log-NormalベースとNormalベースで変換が可能になります。

変換例

例としてShifted Log-Normalボラティリティをマーケットデータより下記のように得られたとします。

横軸はオプションのテナーで縦軸がスワップのテナーに対応します。正確な変換式にて求めた式を使用すると下記の通りNormalボラティリティを得ることができます(イールドカーブは適当に与えています)。

数値の水準感を見てわかる通り、一般的にShifted Log-NormalボラティリティよりもNormalボラティリティの方が小さくなります。これは確率過程の式を見てわかる通り、Shifted Log-Normalボラティリティはレートにかけたものを変動幅としているのに対し、Normalボラティリティはボラティリティそのものを変動幅とみているからです。

コメント

運営者

データ分析やモデル等の仕事をしてる人々。週に1回程度のペースで金融や統計に関する記事を更新しています。
C++/Python/R/SAS/HTML/VBA/PHP/SQL

naruseをフォローする
タイトルとURLをコピーしました