通貨オプションのストラングル、バタフライとは

こちらもおすすめ

【為替デリバティブ】通貨オプションのプライシング(時価評価、価格計算)を勉強するのにおすすめの本:4冊 | Quant College

ざっくり解説

前回はリスクリバーサルについて書いたが、今回はストラドル、バタフライについて確認する。これらもリスクリバーサルと同様に、出てくる文脈が2種類ある。

(1)オプションの合成ポジション

(2)スマイルについてのマーケットクォート

(1)の文脈について:

ストラングル、バタフライはいずれもオプションの合成ポジションである。

・ストラングルは、低ストライクのプットと、高ストライクのコールを組み合わせたもの

・バタフライは、ストラングルとストラドルを組み合わせたもの

ここでストラドルは、ストライクが同じコールとプットを組み合わせたものである。バタフライはその部品の1つとしてストラングルを用いており、バタフライとストラングルは別物である。

(2)の文脈について:

重要なこととして、(2)マーケットクォートの文脈で出てくるストラングルとバタフライは、同じものを指している。同じものを、ある人はストラングルと呼び、また別の人はバタフライと呼んでいるので、注意が必要だ。

以下ではバタフライではなくストラングルと呼ぶことにする。ストライクを表すデルタは25デルタのみを考える。

以下では、「マーケットストラングル」という、ストラングルのマーケットクォートについて書いていく。

マーケットストラングルのマーケットクォートをSigma_S_Qと書くと、それは以下のように計算されたものである。

Sigma_S_Q = Sigma_S_M – Sigma_ATM

ここで、Sigma_ATMはATMボラティリティである。Sigma_S_Mは、マーケットストラングルのSingle Volatilityというもので、その定義は、以下の式を満たすSigma_S_Mである。

Price_S_M =

BS(Call, K_Call25_S_M, Sigma_S_M)

+ BS(Put, K_Put25_S_M, Sigma_S_M)

ここで、

・Price_S_Mは、ストラングルの市場価格、つまり、ここでは25デルタのコールと25デルタのプットの市場価格の合計である。

・BS()はBlack-Scholes式である。BS(Call, K, Sigma)はストライクK、ボラティリティSigmaのコール価格、BS(Put, K, Sigma)はストライクK、ボラティリティSigmaのプット価格である。

・K_Call25_S_Mは、マーケットストラングルにおける、25デルタコールのストライクである。

・K_Put25_S_Mは、マーケットストラングルにおける、25デルタプットのストライクである。

ここで思い出しておくべき点は以下の2つである。

・ストライクは市場から直接取得できないので、自分で逆算する必要がある

・ストライクを逆算するには、インプットとして、そのストライクに対応するインプライドボラティリティを与える必要がある

ここで言いたいのは、ストライクKはボラティリティSigmaに依存している、ということである。よってより正確にSigma_S_Mの定義を書くと、以下の式を満たすSigma_S_Mである。

Price_S_M =

BS(Call, K_Call25_S_M(Sigma_S_M), Sigma_S_M)

+ BS(Put, K_Put25_S_M(Sigma_S_M), Sigma_S_M)

コールとプットそれぞれのストライクは、実は、コールとプットにいずれも同じSigma_S_Mをインプットして逆算したもの、ということである。言い換えると、

・ストライクとしてK_Call25_S_Mを、ボラティリティとしてSigma_S_Mを、デルタの式にインプットすると0.25になる

・ストライクとしてK_Put25_S_Mを、ボラティリティとしてSigma_S_Mを、デルタの式にインプットすると-0.25になる

ということである。

以上を踏まえて、マーケットストラングルのSingle Volatility:Sigma_S_Mの意味を考えていこう。

まず、Sigma_S_Mは、ATMボラティリティSigma_ATMと、マーケットストラングルのクォートSigma_S_Qから次のように求められる。

Sigma_S_M = Sigma_S_Q + Sigma_ATM

あとはこのSigma_S_Mを用いて、K_Call25_S_M、K_Put25_S_Mの2つが逆算される。そして、これら2つのストライクとSigma_S_Mを用いて、ストラングルのプライスを出すと、それが市場価格に一致しなければならない。そのように市場価格に一致するような、「コールとプットに共通して用いることができる1つのボラティリティ」が、Sigma_S_Mである。

要するに、マーケットストラングルのSingle Volatility:Sigma_S_M は、

・「コールとプットに同じボラティリティを適用した場合に」ストラングルの価格が、その市場価格を再現するような1つのボラティリティ

ということである。重要なのは、「コールとプットに同じボラティリティを適用した場合に」というところである。

しかしながら、市場価格を表すインプライドボラティリティはストライクによって異なることがわかっている(ボラティリティスマイルの存在)。よって、デタラメに選んだボラティリティをコールとプットの「両方」に適用しても、得られるストラングル価格は、市場価格を再現しないはずである。しかし「うまく」選んであげると、市場価格を再現するようになる。この、「うまく」というのは具体的には、以下の2つのボラティリティの平均をとったもの、ということだ。

・市場価格を表すスマイルの、ストライク=K_Call25_S_Mにおける値:Smile(K_Call25_S_M)

・市場価格を表すスマイルの、ストライク=K_Put25_S_Mにおける値:Smile(K_Put25_S_M)

(より正確にはただの平均ではなく、2つのストライクにおけるベガで加重平均したボラティリティ、ということになる)

このことを理解するために、そもそもストラングルの市場価格がどのように計算されるかを考えてみよう。マーケットクォートを取得する段階ではなく、それよりもっと後の工程であるスマイルのキャリブレーションが、既に終了している段階を考える。いま手元には、バニラオプションの市場価格を再現するスマイル補間補外関数Smile()があり、そこから任意のストライクにおけるボラティリティを取得できるものとする。

市場価格を表すインプライドボラティリティはストライクによって異なるので、「マーケットストラングルと同じストライクを持つ」ストラングルの市場価格は以下のように計算される。

Price_S_M =

BS(Call, K_Call25_S_M, Smile(K_Call25_S_M))

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

ポイントなのは、BS式に代入するボラティリティがコールとプットで異なっている、という点である。ボラティリティスマイルが存在するので、バニラオプションの市場価格を再現するボラティリティは、ストライクによって異なるからである。しかしマーケットストラングルのクォートに用いられるSingle Volatilityは、コールとプットの両方に適用される。そしてその結果得られるストラングル価格が、上記の(コールとプットで異なるボラティリティを用いた)市場価格に一致するように求められている。このことから、Single Volatiityは、Smile(K_Call25_S_M)と、Smile(K_Put25_S_M)を平均してならしたようなものだと理解できる。

ここで注意しないといけないのは、上記の2つのストライク:K_Call25_S_M、K_Put25_S_M はいずれも、

・関数Smile()で得られる(つまりスマイルを考慮した)ボラティリティから逆算したものではなく、

・マーケットストラングルのSingle Volatility:Sigma_S_Mから逆算したものである、

ということだ。よって、

・ストライクとしてK_Call25_S_Mを、ボラティリティとしてSmile(K_Call25_S_M)を、インプットしても、デルタは0.25にならない

・ストライクとしてK_Put25_S_Mを、ボラティリティとしてSmile(K_Put25_S_M)を、インプットしても、デルタは-0.25にならない

ことになる。ここではあくまで、「マーケットストラングルと同じストライクを持つ」ストラングルの市場価格を出しているに過ぎない。

以上の話をまとめると、マーケットストラングルは以下のように説明できる。

・スマイルを考慮したコールとプットのボラティリティ2つから求まるストラングルの市場価格Price_S_Mがあり、

・そのPrice_S_Mを再現するように、コールとプットのスマイルを考慮したボラティリティを「平均してならした」Single VolatilityがSigma_S_Mであり、

・そのSigma_S_MがATMボラティリティよりどれくらい高いか、を表しているのが、マーケットストラングルである。

しかし問題として、上記の、スマイルを考慮したコールとプットのボラティリティ2つ(Sigma_Call25_S_M、Sigma_Put25_S_M)はいずれも、市場で直接観測されないものである。なぜなら市場では、ATMボラティリティ、リスクリバーサル、マーケットストラングルの3つしか観測できないからである。上記の「スマイルを考慮したボラティリティ」は、これら3つから逆算しないといけない。

マーケットストラングルから、コールとプットに共通のSingle Volatility、および、ストラングルの市場価格Sigma_S_Mが得られる。しかしこれらの情報から、コールとプットのボラティリティSigma_Call25_S_M、Sigma_Put25_S_Mを直接得ることはできない。マーケットストラングルだけでは情報が足りないのである。そこで使うのがリスクリバーサルであり、それによってコールとプットのボラティリティが求まることになる。これについては次回に書くことにする。

参考文献

The Front Office Manual: The Definitive Guide to Trading, Structuring and Sales (Global Financial Markets) (English Edition)

Foreign Exchange Option Pricing: A Practitioner’s Guide (The Wiley Finance Series Book 626) (English Edition)

あわせて読みたい

通貨オプションのデルタからストライクを逆算 | Quant College

通貨オプションボラティリティのクォート: 3種類ある | Quant College

通貨オプションのリスクリバーサルとは | Quant College

なぜ通貨オプションではストライクをデルタでクォートするのか? | Quant College

通貨オプションのプライシング(時価評価、価格計算)方法は? | Quant College

ボラティリティスマイル/スキューとは:意味すること/発生する原因・理由 | Quant College