リスクリバーサルとストラングルからスマイルボラティリティを逆算する簡便な方法

前回の続き。

前回は、マーケットストラングルのクォートについて説明した。今回はマーケットストラングルとリスクリバーサルを組み合わせて、Out of The Moneyのボラティリティを逆算する方法を説明する。

簡便な方法は以下の通り。

Smile(K_Call25) = Sigma_ATM + 0.5 Sigma_RR_25 + Sigma_S_Q_25

Smile(K_Put25) = Sigma_ATM – 0.5 Sigma_RR_25 + Sigma_S_Q_25

左辺のSmile(K)はストライクKに対応するスマイルボラティリティを返す関数である。K_Call25は25デルタのコールのストライク、K_Put25は25デルタのプットのストライクである。Sigma_ATMはATMボラティリティ、Sigma_RR_25は25デルタのリスクリバーサルのクォート、Sigma_S_Q_25は25デルタのマーケットストラングルのクォートである。これらの式をSigma_RR_25とSigma_S_Q_25について解いてみると、

Sigma_RR_25 = Smile(K_Call25) – Smile(K_Put25)

Sigma_S_Q_25 = 0.5 { Smile(K_Call25) + Smile(K_Put25) } – Sigma_ATM

を得る。1つ目の式については、リスクリバーサルの定義が再現しており、問題ない。

2つ目の式については、マーケットストラングルのクォートが、コールとプットのスマイルボラティリティの単純平均と、ATMボラティリティの差分で表されている。前回見たように、確かにマーケットストラングルは、コールとプットのスマイルボラティリティを「平均してならした」ものなのだが、単純平均するだけでは、厳密に正しいとはいえず、ベガで加重平均しないといけない。とはいえ、実務ではよくこの簡便法が用いられており、上記の式でコールとプットのスマイルボラティリティを逆算する、ということがよく行われている。この簡便法は、「もしリスクリバーサルがゼロであれば」厳密に正しい方法である。以下ではこれについて見ていく。

リスクリバーサルがゼロのとき、簡便法の式は以下の形になる。

Smile(K_Call25) = Sigma_ATM + Sigma_S_Q_25

Smile(K_Put25) = Sigma_ATM + Sigma_S_Q_25

Sigma_RR_25にゼロを代入しただけである。これを見ると、リスクリバーサルがゼロであれば、デルタ(の絶対値)が同じコールとプットのスマイルボラティリティは同じになることがわかる。これはリスクリバーサルの定義からも明らかである。さらに重要なのは、右辺の Sigma_ATM + Sigma_S_Q_25 はまさしく、マーケットストラングルのSingle Volatility:Sigma_S_M_25 に一致している。つまり、

Smile(K_Call25) = Smile(K_Put25) = Sigma_S_M_25

である。

したがって、マーケットストラングルの市場価格 Price_S_M_25 は以下のようになる。

Price_S_M_25 =

BS(Call, K_Call25_S_M, Smile(K_Call25))

+ BS(Put, K_Put25_S_M, Smile(K_Put25))

= BS(Call, K_Call25_S_M, Sigma_S_M_25)

+ BS(Put, K_Put25_S_M, Sigma_S_M_25)

これはまさしく、マーケットストラングルのSingle Volatilityの定義そのものである。コールとプットの両方にSingle Volatilityを適用すると市場価格Price_S_M_25に一致する、というのがマーケットストラングルのSingle Volatilityの定義であった。よって、リスクリバーサルがゼロの場合は、上記の簡便法は、インプットとして用いているマーケットストラングルのクォート定義と整合的である。しかしながら、リスクリバーサルがゼロでない場合は、必ずしもマーケットストラングルのクォート定義と整合的にならない。

最後に、ストライクについて、追加で記載しておくべきことがある。

リスクリバーサルがゼロであれば、スマイルボラティリティがマーケットストラングルのSingle Volatilityに一致しているわけだから、マーケットストラングルの25デルタコールのストライクは、

K_Call25_S_M = K_Call25(Sigma_S_M_25)

= K_Call25(Smile(K_Call25)) = K_Call25

となることがわかる。25デルタプットのストライクについても同様の関係が成り立つ。

K_Put25_S_M = K_Put25(Sigma_S_M_25)

= K_Put25(Smile(K_Put25)) = K_Put25

要するに、リスクリバーサルがゼロであれば、

・マーケットストラングルのSingle Volatilityから逆算した25デルタコールのストライクは、25デルタコールのスマイルボラティリティから逆算した25デルタコールのストライクに一致する。

・マーケットストラングルのSingle Volatilityから逆算した25デルタプットのストライクは、25デルタプットのスマイルボラティリティから逆算した25デルタプットのストライクに一致する。

ボラティリティが一致するということは、それに対応するストライクについても、スマイルと、マーケットストラングルのクォートとで、一致するわけである。