なぜローカルボラティリティモデルだとスマイルのダイナミクスがおかしくなるのか?

以前の記事でローカルボラティリティとインプライドボラティリティの関係を説明した。

インプライドボラティリティとローカルボラティリティの間には、ざっくりと以下のような近似式が成り立つ。

IV(K, F) = LV((F+K)/2)

ここで、引数のオプション満期Tは省略している。

ここでフォワードFがF*に上昇したとする。このとき、新しいインプライドボラティリティは、

IV(K, F*) = LV((F*+K)/2)

だが、Fを足して引くと、

= LV( (F+ (K+F*-F) ) / 2 )

= IV(K+F*-F, F)

と書き換えられる。

これはフォワードが上昇する前の元の水準、Fにおける、インプライドボラティリティとなっている。しかし、F*はFより大きいから、対応するストライクはKより大きい。

さらに書き換えると、

IV(K – (F* – F), F*) = IV(K, F)

となる。フォワードが上昇した後のボラティリティは、フォワードが上昇する前のスマイルの、ストライクKにおける値が、それより低ストライクにおける値になっている。要するに、ストライクKのボラティリティが、左シフトして、より低ストライクのK – (F* – F)のボラティリティに移動している。

よって、ローカルボラティリティモデルでは、フォワードが上昇すると、スマイル全体が左シフトする。原資産の動きとは逆方向にスマイルが動くのである。

このようなスマイルのダイナミクスは、確かに一部の通貨ペアに見られるものの、その他多くの通貨ペアのスマイルや、株価スマイルは、実際の市場では逆の動きをすることが知られている。

これにより、ローカルボラティリティモデルでは、実際の市場とは逆方向にスマイルが動いてしまっているので、正しいグリークスが出ない。特にデルタについては、ブラックショールズモデルにおけるデルタよりもさらに変な値になってしまう。