マーケットストラングルからスマイルストラングルを計算する方法

まず簡単に復習

前回の記事では、主に以下のことを確認した。

・通貨オプション市場でクォートされているのは、ATMボラティリティ、リスクリバーサル、マーケットストラングルの3つ
・ATM以外のボラティリティ、いわゆるスマイルボラティリティはクォートされていない
・マーケットストラングルとは異なるスマイルストラングルという概念がある
・仮にスマイルストラングルがわかっていれば、それとATMボラティリティ、リスクリバーサルを組み合わせて、スマイルボラティリティが得られる

以上を踏まえて今回は、市場でクォートされているマーケットストラングルからスマイルストラングルを逆算する方法について確認する。

計算方法

計算の手順は以下の通りである。

・ストライク方向にスマイルを補間・補外するモデルを決める。例えばVanna-Volga法、SABRモデル、Hestonモデルなど。

・ATMのコンベンションに従って、ATMストライクを逆算する。

・ATMボラティリティにマーケットストラングルを足せばシングルボラティリティが得られる。このシングルボラティリティを用いて、デルタのコンベンションに従ってコールとプットのストライクをそれぞれ逆算する。例えば25デルタであれば、25デルタコールと25デルタプットのストライクを逆算する。ここで、デルタの計算には何らかのボラティリティをインプットしないといけないことを思い出そう。

・しかし、マーケットストラングルから逆算された仮想的なストライクは、リスクリバーサルが参照する実際のストライク(これをスマイルストライクと呼ぼう)とは異なる。なぜなら、デルタ計算のインプットにシングルボラティリティを用いてしまっているからである。

・マーケットストラングルから逆算された仮想的なストライクと、シングルボラティリティとを用いて、コールとプットをBlack-Scholes式でプライシングする。その合計としてマーケットストラングルのプライスを求める。

・あとは、このプライスを再現するようなスマイルストライクとスマイルボラティリティを求めればよい。しかし、そのためには以下のように、結果が収束するまで繰り返し計算を行い、数値的に(近似的に)求めるしかない。

・スマイルストラングルの初期値として、マーケットストラングルを設定する。つまり、スマイルストラングルがマーケットストラングルに一致するとして計算を開始する。

・ATMボラティリティ、リスクリバーサル、スマイルストラングルをもとに、簡単な連立方程式を解いて、解析的にスマイルボラティリティを求める。スマイルボラティリティが求まれば、それをデルタ計算のインプットにして、スマイルストライクを逆算できる。

・このスマイルボラティリティとスマイルストライク(とATMボラティリティとATMストライク)をインプットにして、それらにフィットするようにスマイルモデルのパラメーターを決定する。

・得られたスマイルモデルを用いて、マーケットストラングルのプライスを求める。ここで、マーケットストラングルのストライクと、リスクリバーサルやスマイルストラングルのストライクは異なることに注意。

・初めに求めたマーケットストラングルの真のプライスとの差を求めて、それに応じてスマイルストラングルの設定値を変化させ、それをインプットにして同様の処理を繰り返す。ここでスマイルストラングルの設定値をどう変化させるかは、数値計算のアルゴリズム(ニュートン法など)に依存する。スマイルモデルで計算したマーケットストラングルのプライスが真のプライスに十分近くなったら計算を終了する。

まとめ

このように、マーケットストラングルから求められるストラングルのプライスを再現するように、スマイルストラングルを求めることになる。重要なのは、ストライクがボラティリティに依存するため、デルタが同じであるにも関わらず、以下の2つのストライクは異なる、ということである。

・マーケットストラングルのシングルボラティリティから逆算したストライク

・リスクリバーサルやスマイルストラングルが参照しているスマイルボラティリティから逆算したストライク

これが原因となって、上記のような繰り返しによる収束計算が必要になってしまうわけである。

参考文献