マーケットストラングルとスマイルストラングルの違い

誤解を恐れずにざっくりと言えば、以下の通り。

・マーケットストラングルはスマイルモデルに依存しない
・スマイルストラングルはスマイルモデルに依存する

以下ではマーケットストラングルを簡単に復習した後、スマイルストラングルの理解に必要な、ストライクの逆算の話と、ボラティリティが変わればストライクが変わる話をして、最後にスマイルストラングルについて説明する。

関連記事は以下の通り。

マーケットストラングルとシングルボラティリティ

マーケットストラングルについては以前の記事で書いた通りだが、

・ATMボラティリティにマーケットストラングルのクォートを足してシングルボラティリティを得る
・シングルボラティリティから逆算される25デルタコールのストライクを求める
・シングルボラティリティから逆算される25デルタプットのストライクを求める
・これらストライクとシングルボラティリティを用いて、25デルタのコールとプットのプライスを求める
・その合計が、マーケットストラングルのプライス

ここで、上記のように、マーケットストラングルではシングルボラティリティを使っている。つまり、コールとプットに同じボラティリティを使っている。しかし、このボラティリティはリスクリバーサルがゼロでない限り、マーケットのスマイルと整合的ではない。つまりマーケットのスマイルカーブの上に乗ってこない。

同じデルタでも、ボラティリティが異なればストライクも異なる

そこで、マーケットのスマイルと整合的な、25デルタコールのボラティリティと25デルタプットのボラティリティを用いて、ストライクを逆算する必要がある。ここで重要なのは、以下の2つでは同じデルタに対応するストライクが異なる、ということである。

(1)上記のマーケットストラングルのシングルボラティリティから逆算されるストライク
(2)マーケットのスマイルボラティリティから逆算されるストライク

これら2つが異なってくる理由は、ストライクがボラティリティに依存しているからである。なぜなら、ストライクはデルタから逆算されるが、デルタを計算するにはボラティリティが必要だからである。例えば、25デルタコールのストライクは、コールのデルタが0.25になるようなストライクだが、デルタの計算には何かしらボラティリティをインプットしないといけない。マーケットストラングルのシングルボラティリティは、リスクリバーサルがゼロでない限り、マーケットのスマイルと整合的なボラティリティとは、一致しない。

同じ25デルタコールのストライクでも、(1)と(2)で2つの異なるストライクが存在することになる。同様に25デルタプットのストライクも(1)と(2)で2種類ある。これらの違いがどこから来るかというと、

(1)はデルタの計算にマーケットストラングルのシングルボラティリティを用いている
(2)はデルタの計算にマーケットのスマイルボラティリティを用いている

という違いから来ている。よって、25デルタコールのボラティリティと25デルタプットのボラティリティの差が大きい、つまりリスクリバーサルが大きいほど、結果として求められる(1)のストライクと(2)のストライクの違いが大きくなる。実際、リスクリバーサルがゼロであれば、(1)のストライクと(2)のストライクは一致する。

ここで、当然ながら、マーケットとの整合性という意味で正しいのは、(2)のストライクである。(2)はマーケットのスマイルと整合的なボラティリティからデルタが計算され、そこから逆算されたストライクだからである。

スマイルと整合的なストライクの逆算

では(2)の、マーケットのスマイルボラティリティと整合的なストライクを求めるのにはどうすればよいか。ここで、マーケットのスマイルカーブは与えられているとしよう。つまり、ストライクを指定すれば、そのストライクにおけるスマイルボラティリティが得られる。このとき、マーケットのスマイルと整合的なストライクを求める作業は、以下の2つの式を満たすような、K_25Delta_Put と K_25Delta_Call を逆算することである。

Δ( Put, K_25Delta_Put, Smile(K_25Delta_Put) ) = -0.25
Δ( Call, K_25Delta_Call, Smile(K_25Delta_Call) ) = 0.25

ここで、Δ()はBlack-Scholesデルタを求める関数、Smile(K)はストライクKにおけるマーケットのスマイルボラティリティである。いったんこれら2つのストライクが求まれば、25デルタのスマイルボラティリティは、プットが Smile(K_25Delta_Put) で、コールが Smile(K_25Delta_Call)であるとわかる。これら2つのスマイルボラティリティがわかれば、その差分をとることで次のようにリスクリバーサルが求まる。

Sigma_25Delta_RR = Smile(K_25Delta_Call)-Smile(K_25Delta_Put)

ここでやっかいなのは、上記の2つのデルタの式を満たすような、K_25Delta_Put と K_25Delta_Call を逆算する作業は、Smile()という関数、つまりスマイルモデルに依存する、ということである。スマイルモデルが変われば、25デルタのストライクである K_25Delta_Put と K_25Delta_Call も変わってしまうのである。

スマイルストラングル

以上を踏まえて、ではスマイルストラングルとは何なのか、というと、以下の式で求められるものである。

Sigma_25Delta_SS
= 0.5 { Smile(K_25Delta_Call) + Smile(K_25Delta_Put) }
 - Sigma_ATM

ここで、Sigma_ATMはATMボラティリティである。この式には、スマイルモデルを使ってストライクからスマイルボラティリティを求める関数 Smile() が含まれており、スマイルモデルに依存していることがわかる。マーケットストラングルでは、ATMボラティリティにマーケットストラングルのクォートを足したものが、コールとプットの両方に使われており、スマイルモデルを表す関数 Smile() は登場しなかった。

そして重要なことは、上記のスマイルボラティリティ

・Sigma(K_25Delta_Call)
・Sigma(K_25Delta_Put)

は、そのままの形で市場から取得することはできない、ということである。このため、ATMボラティリティ、リスクリバーサル、マーケットストラングル、の3つのクォートを組み合わせて、逆算しないといけない。これら2つのスマイルボラティリティがわかって初めて、スマイルストラングルが求まることになる。

逆に言うと、市場でクォートされているストラングルが、マーケットストラングルではなくスマイルストラングルであれば、話は早い。リスクリバーサルの計算式とスマイルストラングルの計算式はいずれも、Smile(K_25Delta_Call) と Smile(K_25Delta_Put) を含んでる。よって、スマイルストラングルがわかっていれば、リスクリバーサルと組み合わせて、簡単な連立方程式を解くことで、上記の2つのスマイルボラティリティを解析的に求めることができる。しかし、市場でクォートされているのはスマイルストラングルではなく、マーケットストラングルなので、計算が複雑になってくる。

このように、
・ATMボラティリティ
・リスクリバーサル
・マーケットストラングルのクォート
・マーケットストラングルのストライク
・スマイルストラングル
・スマイルストラングルのストライク
・スマイルモデル
は互いに依存しあっているため、ひとつずつ独立に計算して求めることができない。次回の記事では以上を踏まえて、スマイルボラティリティ
・Sigma(K_25Delta_Call)
・Sigma(K_25Delta_Put)
をどのような手順で求めるのかについて見ていく。

参考文献