4. らくらくわかるVIX計算のしくみ
(ポイント)
前のノート「3.VIXの歴史」では、いろいろな人の研究や市場での事件が相まって、2003年に現在のVIX計算方法が生まれた歴史的背景を学習しました。そこで学んだよう、現在のVIXは市場で取引されているたくさんのオプションの価格を組みあわせて計算されています。ところで、たくさんのオプションの価格からVIXが計算できるのはなぜでしょうか。前のノートでは主に歴史を学習し、VIX計算のしくみについての説明は省きました。このノートでは現在のVIX計算の背景となる考え方を学びます。以前紹介したボラティリティタックスをひっくり返して、ちょっとしたトリックを使うとVIXの計算式になることを学びましょう。本ノートは「1.らくらくわかるボラティリティタックスのしくみ」と「3.VIXの歴史」を前提に学習を進めますのであらかじめ目を通すと理解の助けになりますよ。
4.1. VIXの計算方法(概略)
最初に現行のVIXの計算方法を紹介します。公式の計算方法はシカゴオプション取引所(Cboe)が詳しいマニュアルを公開していますのでそちらをご覧いただきたいと思います。とはいえ、詳しすぎてマニアでないとなかなか理解するのは難しいので、細かな話に入る前に計算の大枠をつかんでおきましょう。
残存日数30日以内のS&P500オプションのうち、現在から最も遠い金曜日に期日を迎えるオプションを特定しましょう。これを「期近オプション」と呼びます。
全行使価格の「期近オプション」の値段を入手しましょう。
残存日数30日超のS&P500オプションのうち、現在から最も近い金曜日に期日を迎えるオプションを特定しましょう。これを「期先オプション」と呼びます。
全行使価格の「期先オプション」の値段を入手しましょう。
期近オプションと期先オプションそれぞれの残存期間に対応する期間の金利を計算しましょう。
金利と期近オプションの値段を使って期近分の分散(ボラティリティの二乗)を計算しましょう
同じように期先の分散を計算しましょう。
期近と期先の分散を按分して残存期間30日相当の分散を計算しましょう。
30日分の分散を計算したらその二乗根をとりましょう。
得られた値を100倍するとVIXです。
いかがでしょうか。簡単そうですね。いざ計算を始めるとそうでもありません。実際の計算ではオプションの特定や残存期間の計算、使用するオプションの選別などでこまごました作業が必要になりますので、自分の手でVIXを計算したいという人向けに次のノートで計算マニュアルを紹介する予定です。
一連のVIXの計算の流れの中でもっとも大切で分かりにくい部分は「金利とオプションの値段を使って分散を計算する」ところです。Cboeでは次の式で分散を計算しています。
$${\sigma^2=\frac{2}{T}\sum_{i}\frac{∆K}{K^2}e^{RT}Q(K_i)-\frac{1}{T}[\frac{F}{K_0}-1]^2}$$ 式(26)
式の中で使われている記号の意味は次の通りです。Cboeが使用している記号をそのままつかっているので本ノートの他の記号と整合していないことに注意してください。
$${\sigma}$$: これに100を掛けた値がVIX
$${T}$$: 年単位で表示した期日までの時間
$${R}$$: 無リスク金利
$${F}$$: オプションから導き出した先物価格
$${K_i}$$: i番目の行使価格
$${K_0}$$: 0番目の行使価格
$${∆K_i}$$: i番目とその次の行使価格間の差
$${Q(K_i)}$$: i番目の行使価格のオプションの値段
雑に解説すると式(26)の右辺第1項は同じ期日のすべてのオプションの値段を一定のルールでウェイトをつけて合算した値です。第2項は計算期間が2日以上になることで発生する影響を調整する項目です。実際に計算してみるとわかりますが$${\sigma^2}$$のほとんどは式(26)の第1項で決まります。
VIXは投資家が予想するS&P500指数の今後30日間の変動率(ボラティリティ)です。なぜいろいろな行使価格のオプションを足してつくった式(26)で予想ボラティリティが計算できるのでしょう。今はさっぱりわからないと思いますが、本ノートを読み終えるころにはこの理由がすっきりと理解できるようになります。
4.2. ボラティリティタックスでボラティリティ計算
旧VIXが誕生した1993年から2003年まで、VIXの計算にはS&P100に近い水準の行使価格(アットザマネー、「ATM」といいます)の8個のオプションの値段から、ブラック・ショールズ方程式でボラティリティを逆算する方法が使われていました。シンプルなのですがこの方法には不便なところがあります。まず、ボラティリティを直接計算することができない(ほかの数字をあてはめて逆算するしかない)という点。つぎに、ボラティリティがオプションの期日まで動かないことを前提にしている点。そして最大の問題が、VIXの変動を既存の金融商品で再現できないためヘッジ手段がないことでした。ヘッジ手段がないとVIXの売買も普及しないので、学者や取引所の人や証券マンたちが工夫して現在のVIXの計算方法を考え付いたことは以前学んだとおりです。
VIXは今後30日でS&P500がこれくらい動くだろうという人々の期待が反映された数字です。ブラック・ショールズ方程式を使わずに予想ボラティリティを計算するにはどうすればいいでしょう。課題解決のため「1.らくらくわかるボラティリティタックスのしくみ」でくわしく学んだボラティリティタックスの計算式を活用します。
ボラティリティタックス:$${r-r_{ln}=E\left[R\right]-E\left[\ln{\left(1+R\right)}\right]\approx\frac{1}{2}\sigma^2}$$ 式(14)再掲
ボラティリティタックスを計算する式(14)の右辺に$${\sigma^2}$$があることに気づいたでしょうか。$${\sigma^2}$$は分散です。$${r}$$は「普通の」リターンを平均して得られる「平均収益率」で、$${r_{ln}}$$は対数で表したリターンを平均して得られる「平均対数収益率」でした。つまり平均収益率から平均対数収益率を引いて2倍にすると$${\sigma^2}$$つまり分散が得られることがわかります。
分散:$${\sigma^2=2\left(E\left[R\right]-E\left[\ln{\left(1+R\right)}\right]\right)=2\left(r-r_{ln}\right)}$$ 式(27)
分散の二乗根が標準偏差(ボラティリティ)ですので、ここからボラティリティが計算できます。S&P500の平均収益率と平均対数収益率それぞれの予想ができれば、ブラック・ショールズ方程式を使わずに予想ボラティリティすなわちVIXが得られるのです。
4.3. 現実で確かめよう
さて「1.らくらくわかるボラティリティタックスのしくみ」の中で学んだ標準偏差の計算と、上の標準偏差の計算方法がまったく違うことに気付いたでしょうか。前の計算方法では、一つ一つのデータから平均を引いて(「偏差」といいます)、偏差の平均として分散を計算し標準偏差を求めました。式で書くと次の通りです。$${n}$$はデータの個数です。
$${i}$$日目の収益率リターン:$${ri}$$
平均収益率: $${r=\frac{1}{n}\sum_{i=1}^{n}r_i}$$
標準偏差: $${\sigma=\sqrt{\frac{1}{n}\sum_{i=1}^{n}{\left(x_i-r\right)^2\ }}}$$ 式(28)
これに対して、式(27)は平均収益率と平均対数収益率の差から分散が計算できると主張しています。分散は標準偏差(ボラティリティ)の二乗ですので式で書くと次の通りです。
平均対数収益率:$${r_{ln}=\frac{1}{n}\sum_{i=1}^{n}ln\left(1+r_i\right)}$$
標準偏差: $${\sigma=\sqrt{2\left(r-r_{ln}\right)}}$$ 式(29)
教科書で習う標準偏差の計算は式(28)です。式(29)の計算方法は全然違うのですが本当に標準偏差が計算できるのでしょうか。にわかには信じがたいですね。日々の株価を使ったシミュレーションで確かめてみましょう。
銘柄はなんでもいいのですが、ここでは上場型投資信託(ETF)のSPDR S&P500 ETF Trust(SPY)の値段を使って計算してみましょう。2019年1年間(252営業日)の収益率を使います。2019年のSPYの価格は下の図のように推移しました。
このSPYのデータから日々の収益率を計算します。得られた252個の収益率でもって式(28)と、式(29)のそれぞれでボラティリティを計算しました。結果は次の通りです。
平均収益率$${r}$$: 0.1054%
平均対数収益率$${r_{ln}}$$: 0.1022%
ボラティリティ 式(28)の計算方法:0.7872%
ボラティリティ 式(29)の計算方法:0.7946%
いかがでしょう。二つの結果に多少ずれはありますが、式(29)でいくつかの仮定をおいた近似値を計算していることによる影響です。とはいえ日次の標準偏差(ボラティリティ)は0.79%とほぼ一致しています。1年あたりに換算しても式(28)が12.5%で式(29)が12.6%とおおよそ一致しました。このように平均収益率と対数収益率の差を2倍して二乗根を取るとボラティリティを計算できることが現実の株価を使った検証でも確認できました。式(29)はちゃんと機能するのです。
4.4. 対数収益率に連動するポジションとは
現行のVIX計算方法を導入した動機はVIXを売買できるようにするためと紹介しました。式(29)でボラティリティの計算をできることが分かりましたので、そのもとになっている分散の計算式(式(27))の右辺を再現できればボラティリティも再現できそうです。どうすればよいでしょうか。
分散:$${\sigma^2=2\left(E\left[R\right]-E\left[\ln{\left(1+R\right)}\right]\right)=2\left(r-r_{ln}\right)}$$ 式(27)再掲
VIXはS&P500の予想ボラティリティです。それを再現するためには式(27)の内容にそってS&P500の「普通の」収益率に連動するポジションと、対数収益率に連動するポジションを作れば良いことがわかります。「普通の」収益率に連動するポジションを買って、対数収益率に連動するポジションを売ると、ボラティリティの二乗に連動する損益が得られ、VIXの動きに応じた利益を獲得するという目的を達成できます。
さて対数収益率に連動と簡単に言いましたがどうすればそんなポジションを再現できるのでしょう。「普通の」収益率に連動するポジションはS&P500の構成銘柄の比率通りに株を買えば再現できます。あるいはS&P500の先物を買ってもよいでしょう。対数収益率はもう少し複雑です。何しろ普通の収益率は株価の動きに対して直線ですが、対数収益率は曲線です。
答えをいうと、オプションのポートフォリオとその対象の資産(原資産)を組み合わせることで対数収益率を再現できます。実は1期間の普通の収益率と対数収益率の差そのものがオプションのポートフォリオで再現できるのです。なぜオプションのポートフォリオで「普通の」収益率と対数収益率の差、つまりVIXの二乗と連動する損益が得られるのかがわかれば、VIXの計算式のしくみがわかります。それでは順を追ってみていきましょう。
まずはボラティリティ計算の元になる分散の計算式、式(27)を再び見てみましょう。
分散:$${\sigma^2=2\left(E\left[R\right]-E\left[\ln{\left(1+R\right)}\right]\right)=2\left(r-r_{ln}\right)}$$ 式(27)再掲
先ほどの実際のデータでの検証では、過去の値動きの平均値を考えたため式(27)の右辺の式を使いましたが、今回は期待される将来の値動き、つまり「期待値」を考えたいので真ん中の辺に注目します。2倍にするのはいつでもできるのでいったんカッコ内だけを考えましょう。式(27)では「普通の」収益率の期待値と対数収益率の「期待値の差」という形で表現していましたが、これを「普通の」収益率と対数収益率の「差の期待値」にくくりなおします。
$${\frac{1}{2}\sigma^2=E\left[R\right]-E\left[\ln{\left(1+R\right)}\right]=E\left[R-\ln{\left(1+R\right)}\right]}$$ 式(30)
式(30)の2倍が期待される分散(つまりボラティリティの二乗)です。この式にある変数は適当に決めた1期間の収益率$${R}$$だけです(VIXならS&P500の収益率)。収益率$${R}$$をさらに細かく分けてみましょう。
計算のサイクルにする1期間の長さはなんでもいいのでここでは1日の収益率で考えることにします。
明日のS&P500の価格:$${s_{t+1}}$$
今日のS&P500の価格:$${s_t}$$
「普通の」収益率: $${R=\frac{s_{t+1}-s_t}{s_t}}$$
このように記号をおいて式(30)の右辺括弧内を書き換えます。
$${R-\ln{\left(1+R\right)}=\frac{s_{t+1}-s_t}{s_t}-ln\left(\frac{s_{t+1}}{s_t}\right)}$$
$${=-s_{t+1}\left[\frac{1}{s_{t+1}}-\frac{1}{s_t}\right]-\left[ln\left(s_{t+1}\right)-ln\left(s_t\right)\right]}$$ 式(31)
これは1日間の「普通の」収益率と対数収益率の差です。式(30)でみた1期間の分散(の2分の1)を日々のS&P500の値で表現するとこうなります。
唐突ですが式(31)を分析するために新しい数学のテクニックを使います。以前のノート内(「1.9微分でベストな投資比率をみつけよう」)で微分について学びましたが、今回は微分の逆の「積分」を使って式(31)を変形していきましょう。なんでこんなことをするかというと、積分を使うことで普通の収益率と対数収益率の差、つまりVIXと連動するポジションをオプションのポートフォリオにできるのです。答えを知らないと「なにやってんだこいつ」と感じるかもしれませんがちゃんと出口に向かって進んでいるので安心してください。
(解説)積分を使おう
さて積分です。以前に「微分というのは細かく区切った一瞬の変化のこと」と説明したような気がしますが、積分というのは微分の逆です。「積分というのは細かく区切った一瞬の変化を合計すること」と感覚的に把握しておきましょう。
いろいろに動く数を$${x}$$とおきます。$${x}$$に応じて変化する関数を$${f(x)}$$と書きましょう。この関数を微分してできる関数を
$${f^\prime\left(x\right)=\frac{d}{dx}f\left(x\right)}$$
と書きます。右辺の$${\frac{d}{dx}}$$というのは「微分しますよ」という意味です。割り算ではないので注意してください。左辺で$${f(x)}$$に記号「’」が一つついています。これは元の関数を「1回微分しましたよ」という意味です。(マニアは「1階」と書きますが、「1回は間違い1階だ」と注意する人がいたら面倒な人なので話を切り上げて素早く立ち去るとよいでしょう)。
さて、細かいことは抜きにして、微分した関数を積分すると元の関数に戻るのだと理解しましょう。式で書くと
$${f\left(x\right)=\int{f^\prime\left(x\right)dx}}$$
という形です。右辺の最初にある$${\int}$$と最後の$${dx}$$に挟まれた関数$${f^\prime\left(x\right)}$$を積分すると$${f(x)}$$になるという意味です。どこからどこまでの範囲を足し合わせるか具体的に指定するときは
$${\int_{a}^{b}{f^\prime\left(x\right)dx}}$$
のように$${x=a}$$から$${x=b}$$までの範囲を積分しますよというように書きます。そして具体的に範囲が決まったのでこの積分は
$${\int_{a}^{b}{f^\prime\left(x\right)dx}=f\left(b\right)-f\left(a\right)}$$
という形で値を計算できるようになります。
4.5. 1日分の分散をオプションで再現しよう
積分について理解したところで、あらためて1期間の分散を計算するための式(31)の右辺を見直してみましょう。
$${-s_{t+1}\left[\frac{1}{s_{t+1}}-\frac{1}{s_t}\right]-\left[ln\left(s_{t+1}\right)-ln\left(s_t\right)\right]}$$ 式(31)右辺
積分することを考えながら眺めると第1項の括弧内は$${f\left(x\right)=\frac{1}{x}}$$という関数の引き算、第2項の括弧内は$${f\left(x\right)=ln\left(x\right)}$$という関数の引き算になっているようにみえます。それぞれの括弧内を「微分した関数を積分する形式」で表現してみましょう。
積分すると$${f\left(x\right)=\frac{1}{x}}$$や$${f\left(x\right)=ln\left(x\right)}$$という関数になるのはどんな関数でしょうか。両方を微分してみましょう。計算過程は高校の教科書などをみて頂くこととして答えは下の通りです。すでに述べたとおりそれぞれについている記号「’」は「微分する」という意味です。
$${\left(\frac{1}{x}\right)^\prime=-\frac{1}{x^2}}$$
$${{ln\left(x\right)}^\prime=\frac{1}{x}}$$
微分して出てきたこの2つの関数を使って式(31)を書き直しましょう。
$${R-\ln{\left(1+R\right)}=-s_{t+1}\left[\frac{1}{s_{t+1}}-\frac{1}{s_t}\right]-\left[ln\left(s_{t+1}\right)-ln\left(s_t\right)\right]}$$
$${=s_{t+1}\int_{s_t}^{s_{t+1}}\frac{1}{x^2}dx-\int_{s_t}^{s_{t+1}}\frac{1}{x}dx}$$
$${=\int_{s_t}^{s_{t+1}}\frac{s_{t+1}}{x^2}dx-\int_{s_t}^{s_{t+1}}\frac{x}{x^2}dx}$$
$${=\int_{s_t}^{s_{t+1}}{\frac{1}{x^2}\left(s_{t+1}-x\right)}dx}$$ 式(32)
なかなかシンプルな形になりました。では式(32)の中身について見ていきましょう。
ところで、これまで触れていませんでしたが式(32)の書き方は今日よりも明日のS&P500が高いことを前提にしているように見えませんか。株価が毎日上がり続けることを前提にするのは現実的でありません。視覚的に理解しやすいよう、上がった時と下がった時に分けて式を書き直しましょう。
$${R-\ln{\left(1+R\right)}=}$$
$${\int_{s_t}^{s_{t+1}}{\frac{1}{x^2}\left(s_{t+1}-x\right)dx},}$$ $${(s_t}$$<$${s_{t+1})}$$
$${\int_{s_{t+1}}^{s_t}{\frac{1}{x^2}\left(x-s_{t+1}\right)dx},}$$ $${(s_{t+1}}$$<$${s_t)}$$
$${0,}$$ $${(s_{t+1}}$$=$${s_t)}$$ 式(33)
右辺の1つ目の式が株価上昇時、2つ目が株価下落時、3つ目は株価が変わらないときに対応しています。今日の株価と明日の株価のどちらが上になっても、積分の範囲は1つ目の式も2つ目の式も今日の株価から明日の株価の間が対象です。この範囲外は計算に入れません。1つ目の式で言えば$${x}$$が$${s_{t+1}}$$よりも大きい部分($${s_{t+1}-x}$$がマイナスになる部分)、2つ目の式で言えば$${x}$$が$${s_{t+1}}$$よりも小さい部分($${x-s_{t+1}}$$がマイナスになる部分)は積分の対象外です。つまりゼロになります。
この点を踏まえて積分の範囲を広げると次のように書くことができます。
$${R-\ln{\left(1+R\right)}=}$$
$${\int_{s_t}^{\infty}{\frac{1}{x^2}max\left(s_{t+1}-x,0\right)dx},}$$ $${(s_t}$$<$${s_{t+1})}$$
$${\int_{0}^{s_t}{\frac{1}{x^2}max\left(x-s_{t+1},0\right)dx},}$$ $${(s_{t+1}}$$<$${s_t)}$$
$${0,}$$ $${(s_{t+1}}$$=$${s_t)}$$
S&P500は株価指数なので1つ目の式は今日の株価より高くて無限大までの範囲を積分対象にし、2つ目は今日の株価より低くて0までの範囲を対象にします。3つ目の今日の値段と明日の値段が同じ時は値がゼロなので無視して大丈夫です。1つ目の式と2つ目の式の積分に重なるところはないので両方を足してしまいましょう。
$${R-\ln{\left(1+R\right)}=}$$
$${\int_{s_t}^{\infty}{\frac{1}{x^2}max\left(s_{t+1}-x,0\right)dx},}$$ $${(s_t}$$<$${s_{t+1})}$$
+$${\int_{0}^{s_t}{\frac{1}{x^2}max\left(x-s_{t+1},0\right)dx},}$$ $${(s_{t+1}}$$<$${s_t)}$$
勘の良い読者はそろそろ気づかれたことでしょう。この式の$${x}$$を権利行使価格と捉えれば、第1項はコールオプション、第2項はプットオプション(どちらも期日は1日後)と同じ損益の構造になっているのです。
式の右辺をオプションの集まりと考えると、第1項のオプションは株価が上がったときだけプラスになるアウトオブザマネー(OTM)のコールオプションで、第2項は株価が下がったときだけプラスになるOTMのプットオプションであることがわかります。すなわち今日の値段を境目にしてOTMのコールオプションとOTMのプットオプション全部を、行使価格の二乗で割ったウェイトで掛けて合計すると、期日には1日の「普通の」収益率と対数収益率の差、分散の2分の1と同じペイオフが発生するのです。
$${R-\ln{\left(1+R\right)}=\int_{s_t}^{\infty}{\frac{1}{x^2}call_{t+1}}\left(x\right)dx+\int_{0}^{s_t}{\frac{1}{x^2}put_{t+1}\left(x\right)}dx}$$ 式(34)
4.6. シミュレーションで確かめよう
前項で詳しく説明しましたが、それでもアウトオブザマネーのコールオプションとプットオプションを組み合わせると分散(つまりはボラティリティ、ひいてはVIX)と連動する損益が得られる、とはにわかには信じがたいと思います。そこで簡単なシミュレーションをしてみましょう。
今日の価格が50ドルの指数を想定します。ゼロドル以上すべての行使価格について明日が期日のオプションを用意し、式(34)のウェイト付けをしたポートフォリオを作ります。明日の指数がいろいろな水準をとったときのオプションポートフォリオのペイオフを調べ、指数の変化率から計算した分散(「普通の」変化率と対数変化率の差です)とどんな関係になっているかみてみましょう。
ひとつ注意点です。式(34)は行使価格が無限にある前提で作られているのですが、現実には1ドルや5ポイントなど行使価格に幅があります。今回はシミュレーションなのでなるべく細かく区切り、0.1セント(1000分の1ドル)刻みで大量の行使価格が存在することで進めます。
では具体的に一つ例を計算してみましょう。今日の指数が50ドルで明日は55ドルになるものとします。今日時点でのOTMのコールとプット(行使価格50ドル以上のコールオプションと50ドル以下のプットオプション)をすべての行使価格で持ちます。持つオプションの量は式(34)に従って決定します。明日の価格は55ドルなので、行使価格50ドル以下のプットからのペイオフはゼロです。行使価格が55ドル以上のコールもすべてペイオフはありません。行使価格が50ドルから55ドルまでのコールでペイオフが発生します。
図25の色がついている部分が式(34)右辺で作ったオプションポートフォリオで得られるペイオフです。これは細かく分けた行使価格ごとの値なのですべて合計します。すると0.004689(約0.469%)になります。
続いて式(34)の左辺を計算しましょう。指数が50ドルから55ドルになったので「普通の」変化率は10%です、対数変化率は55÷50=1.1の対数を取った値で約9.531%になります。この差は約0.469%です。実際に小数点以下の四捨五入したところで差はあるのですがほぼ一致しました。
これを明日の価格が45ドルから55ドルの範囲のさまざまな値で確かめた結果が次の図です。
どうでしょう綺麗に値が直線に乗りましたね。オプションのポートフォリオで分散の変動に連動するペイオフが得られることがわかりました。分散が大きいときはオプションポートフォリオのペイオフも大きくなり、分散が小さいときはペイオフも小さくなるのです。
4.7. 分散(ボラティリティ)を30日分計算しよう
さて、式(34)の右辺に従いS&P500のオプションを組み合わせることで、1日分のS&P500の分散(の2分の1)と連動するペイオフが得られることを勉強しました。これをVIXの計算期間である30日に伸ばしたらどうなるでしょう。分散は足していくことができるので30日分を足していけばよいのです。まず初めに式(34)の左辺を30日足した式を考えてみましょう。(※右辺を30日足してもいいのですが毎日オプションの売買をしないといけなくなりたいへんなので左辺を足す方針にしています)。
$${\frac{1}{2}\sum_{t=1}^{30}\sigma_t^2=\sum_{t=1}^{30}\left[R_t-\ln{\left(1+R_t\right)}\right]}$$
右辺の1日の収益率$${R_t}$$を今日の株価$${s_t}$$と1日前の株価$${s_{t-1}}$$で書き直し、30日分を合計します。
$${\frac{1}{2}\sum_{t=1}^{30}\sigma_t^2=\sum_{t=1}^{30}\left[R_t-\ln{\left(1+R_t\right)}\right]}$$
$${=\sum_{t=1}^{30}\left[\left(\frac{s_t-s_{t-1}}{s_{t-1}}\right)-\ln{\left(\frac{s_t}{s_{t-1}}\right)}\right]}$$
$${=\sum_{t=1}^{30}\left(\frac{s_t-s_{t-1}}{s_{t-1}}\right)-\ln{\left(\frac{s_{30}}{s_0}\right)}}$$ 式(35)
ここでふたたび式(34)を使います。式(34)の左辺と右辺の間でやりくりし対数収益率を「普通の」収益率とオプションのポートフォリオで表現します。
$${\ln{\left(1+R\right)}=R-\left[\int_{s_t}^{\infty}{\frac{1}{x^2}call_{t+1}\left(x\right)}dx+\int_{0}^{s_t}{\frac{1}{x^2}put_{t+1}\left(x\right)}dx\right]}$$ 式(34)修正
この中の収益率$${R}$$を今日の株価$${s_t}$$とスタート時の株価$${s_0}$$で書き直します。
$${\ln{\left(\frac{s_t}{s_0}\right)}=\frac{s_t-s_0}{s_0}-\left[\int_{s_0}^{\infty}{\frac{1}{x^2}call_t\left(x\right)}dx+\int_{0}^{s_0}{\frac{1}{x^2}put_t\left(x\right)}dx\right]}$$ 式(34)修正
30日分の対数収益率を考えます。
$${\ln{\left(\frac{s_{30}}{s_0}\right)}=\frac{s_{30}-s_0}{s_0}-\left[\int_{s_0}^{\infty}{\frac{1}{x^2}call_{30}\left(x\right)}dx+\int_{0}^{s_0}{\frac{1}{x^2}put_{30}\left(x\right)}dx\right]}$$ 式(34)修正)
これで30日分の対数収益率を原資産(S&P500)のポジション(右辺第1項)とオプションのポジション(右辺第2項)に分解することができました。この式を30日分の分散を表す式(35)右辺第2項に代入しましょう。
$${\frac{1}{2}\sum_{t=1}^{30}\sigma_t^2=\sum_{t=1}^{30}\left(\frac{s_t-s_{t-1}}{s_{t-1}}\right)-\frac{s_{30}-s_0}{s_0}}$$
$${+\left[\int_{s_0}^{\infty}{\frac{1}{x^2}call_{30}\left(x\right)}dx+\int_{0}^{s_0}{\frac{1}{x^2}put_{30}\left(x\right)}dx\right]}$$ 式(36)
式(36)に30日間の分散の再現方法がすべて含まれています。右辺の意味を考えてみましょう。第1項は原資産の毎日の収益率を30日間合計した値です。これは原資産を1ドル分買い、上がっても下がっても翌日寄付きで売って、同時に再び1ドル分買うようリバランスすることで実現します。第2項は原資産の30日間の収益率です。これは原資産を1ドル分(符号がマイナスなので)空売りしそのまま30日持ち続けることで実現します。第3項はこれまで説明してきた通りオプションのポートフォリオです。30日後が期日のオプションを式のとおりのウェイトで買って持ち続けることで実現します。このように原資産とオプションでポジションを作ると、30日後には今後30日の原資産の分散(の2分の1)と同じペイオフが得られます。
ところで「第1項と第2項の内容は同じで差し引きゼロではないか」と思われるかもしれませんが、計算期間が2日以上になると異なる値になりゼロにならないので注意しましょう。
4.8. 現実のVIXの計算のための修正
式(36)をS&P500にあてはめれば、原資産とそのオプションを使ってVIXの二乗の2分の1と同じペイオフを実現できることがわかりました。ということは、式(36)の右辺と同じポジションを作るのに必要なコスト、つまりその市場価格からVIXの二乗の現在価値が計算できます。
ところで30日後が期日のオプションは今市場で取引されているオプションの価格を使えばよいですが、今後30日間の収益率はどう評価すればよいでしょう。未来のS&P500の価格がわかるのならよいのですが簡単なことではありません。そこで、これまで話をシンプルにするため無視してきた金利の存在を考えます。未来の株価は、現在の株価よりも金利分だけ高くなるとして計算します。(これは先物の理論価格でもあります)
ここでは金利の影響で、1日につき$${y}$$原資産の価値が増加するものとします。すると式(36)の第1項と第2項は
$${\frac{s_t-s_{t-1}}{s_{t-1}}=y}$$
$${s_{30}=s_0\left(1+y\right)^{30}}$$
になります。さらに第3項の現在のオプション価格にも30日分の金利を考えなければいけないので式(36)は金利を考慮すると次の式になります。
$${\frac{1}{2}\sum_{t=1}^{30}\sigma_t^2=30y-\left[\left(1+y\right)^{30}-1\right]}$$
$${+\left(1+y\right)^{30}\left[\int_{s_0}^{\infty}{\frac{1}{x^2}call_{30}\left(x\right)}dx+\int_{0}^{s_0}{\frac{1}{x^2}put_{30}\left(x\right)}dx\right]}$$
これを整理して30日分の分散つまりVIX(の二乗)の計算式を作りましょう。VIXは年率で表示するので1年を365日で年率に直します。
$${VIX^2=\frac{365}{30}\sum_{t=1}^{30}\sigma_t^2}$$
$${=\frac{2}{\left(30/365\right)}\left[\left(1+y\right)^{30}\left[\int_{s_0}^{\infty}{\frac{1}{x^2}call_{30}\left(x\right)}dx+\int_{0}^{s_0}{\frac{1}{x^2}put_{30}\left(x\right)}dx\right]\right]}$$
$${+\frac{2}{\left(30/365\right)}\left[30y-\left[\left(1+y\right)^{30}-1\right]\right]}$$ 式(38)
式(38)の右辺第1項はこれまで詳しく調べてきたオプションによるVIXへの貢献部分です。第2項はすこしわかりにくいですが、毎日S&P500をリバランスするポジションと30日間持ちっぱなしのポジションの収益の差です。単純に金利を30倍したときと複利で30日運用したときの差で、ボラティリティタックスと同じ式で近似できます。
現実のVIXの計算では
1日ごとではなく毎瞬間の複利(連続複利といいます)で金利を計算している
行使価格が無限に存在するわけではない(離散的といいます)
などの事情を反映するための修正が必要になりますが、VIX計算の骨子はこれで学習できました。式(38)の右辺第1項を離散的な行使価格の場合に直し、第2項を先物価格で近似的に表示したものが、「4.1.VIXの計算方法(概略)」で紹介した公式のVIX計算方法の式(26)になります。
$${\sigma^2=\frac{2}{T}\sum_{i}\frac{∆K}{K^2}e^{RT}Q(K_i)-\frac{1}{T}[\frac{F}{K_0}-1]^2}$$ 式(26)再掲
現実には常に残存期間30日ちょうどのオプションが存在するわけではないので、30日を挟んだ2つの期日のオプション価格をつかい式(26)で計算した分散を元に期間を按分してVIXを計算します。
4.9. まとめ
最後にVIX計算方法の理論的な背景をまとめましょう。
現行VIXの計算式はVIX自体を売買できるようにする狙いで作られた。
現行VIXはボラティリティタックスの計算方法を利用して設計されている。
ボラティリティタックスはS&P500への投資と「対数収益率」への投資の差で複製できる。
S&P500のリターンと対数収益率の差はオプションを適切な量持つことで複製できる。
4.10. 参考文献
Cboe (2023) “Volatility Index Methodology”. Cboe Global Indices, LLC (2024年6月11日閲覧 https://cdn.cboe.com/api/global/us_indices/governance/Volatility_Index_Methodology_Cboe_Volatility_Index.pdf)
Car, P., Lee, R. (2009) “Volatility Derivatives” Annual Review of Financial Economics Volume 1, 2009
Demeterfi, K., Derman, E., Kamal, M., Zou, J. (1999) “More than You ever Wanted to Know about Volatility Swaps” Goldman Sachs Quantitative Strategies Research Notes March 1999
heropup. (2023) “replicate log option”. StackExchange (2024年6月18日閲覧 https://math.stackexchange.com/questions/4672392/replicate-log-option)
Hull, John C. (2022). “Options, Futures, and Other Derivatives Eleventh Edition Global Edition”. Pearson Education Limited