第88回 確率ボラティリティとジャンプ ― 別の方向からスマイルを説明する

位置: 第8部 第88回 / 前提: 第63回、第86回、第87回 / 数学編: M28 / この回でできるようになること: 確率ボラティリティとジャンプがスマイルやスキューをどう作るかを、パラメータを動かして確かめることができる。実践: オプションの価格の一覧からインプライド・ボラティリティのスマイルを描き、自分のポジションのグリークスをスマイルに合わせて計算できる
0. 物語 ― 相関が0だとスキューが出ない
手元に100万円分の株を持っていて、3か月後の暴落が怖いとします。行使価格が今より10パーセント低い保険(プット)を買おうとしたら、同じだけ高い行使価格の宝くじ(コール)よりずっと高い値段を提示されました。市場では「下方向の保険は高い」のが当たり前です。この左右の非対称を「スキュー」と呼びます。
「ボラティリティが一定」という古いモデルでは、この非対称は出ません。では、ボラティリティを確率的に揺らせば解決するでしょうか。
答えは「揺らすだけでは足りない」です。株価の動きとボラティリティの動きを無関係にしたモデルで計算すると、行使価格90と110の逆算ボラティリティの差はわずか1パーセント未満にとどまります。左右にほぼ対称な形が出るだけで、市場で見えるような急な傾きは現れません。
ところが、「株が下がるときにボラティリティが上がる」という関係をモデルに入れると、同じ差が5パーセント近くに広がります。相関をさらに強めれば7パーセントを超えます。
仕組みはこうです。株が下がると揺れ幅が大きくなり、さらに下がりやすくなるので、下方向に大きく動く確率が高くなります。逆に株が上がると揺れ幅は小さくなり、上方向の極端な動きは抑えられます。このフィードバックが分布を左に偏らせ、スキューを作ります。
相関がなければスキューは出ない。相関を入れて初めてスキューが生まれる。この回では、その仕組みを式で証明し、数値で確かめます。
1. 動機 ― スマイルをモデルの側から作れるか
この回を読み終えると、確率ボラティリティとジャンプがスマイルやスキューをどう作るかを、パラメータを動かして確かめることができます。
第87回までで、市場のオプション価格から逆算するとインプライドボラティリティが行使価格によって変わる「スマイル」が現れることを見ました。ブラック・ショールズモデルでは、ボラティリティは定数ですから、スマイルは「モデルと市場のずれ」です。
ずれを確認するだけでは先に進めません。モデルの側を拡張して、スマイルを内側から生み出せるようにするのが今回の目標です。拡張の方向は2つあります。
- ボラティリティ自体を確率過程にする(確率ボラティリティモデル)。
- 価格にまれな大きなジャンプを加える(ジャンプ拡散モデル)。
この2つがスマイルをどう生むのかを、ヘストンモデルを軸に証明し、数値で確認します。
この記事で証明すること
- THM-SV-1 分散を平均回帰する過程にし、原資産との相関を与えると、スキューのある分布が生まれます。
- THM-SV-2 原資産と分散の相関が負のとき、下落時にボラティリティが上がり、左の裾が厚くなります。
- THM-SV-3 まれなジャンプを加えると、短い満期でも急なスマイルが生成されます。確率ボラティリティだけでは短期のスマイルを再現しにくいことを示します。
2. 設定と仮定 ― 分散自体を確率過程にする
ブラック・ショールズモデルでは
- 原資産の動き: リスク中立測度
のもとで - 分散過程(ヘストンモデル):
- 分散過程は正の値を保つものとします。これは
(フェラー条件)が満たされるとき保証されます。 - 2つのブラウン運動には一定の相関を与えます。
、 。 - ジャンプは複合ポアソン過程として扱い、構造の詳細は参考文献に譲ります。強度
、ジャンプサイズの対数が に従うとします。 - 数値実験では乱数のシードを固定します(再現性のため)。
(1.1) の
まとめると、ヘストンモデルは「ボラティリティが確率的に変動し、原資産と相関を持つ」という最小限の拡張です。
3. 主張 ― 相関がスキューを生む
3つの定理を正確に述べます。
定理 THM-SV-1(ヘストンモデルの構造) 分散
が (1.1) の平均回帰過程に従い、原資産の駆動ブラウン運動 と分散の駆動ブラウン運動 の相関が であるとき、スマイルは対数マネーネス ( はフォワード価格)について対称でなくなり、スキューが生じる。
定理 THM-SV-2(相関がスキューを生む)
のとき、原資産が下落する局面でボラティリティが上昇し、 の分布は左の裾が厚くなる。結果として、低い行使価格のインプライドボラティリティが高い行使価格のそれより大きくなる。
定理 THM-SV-3(ジャンプによる説明) ヘストンモデルに複合ポアソン型のジャンプを加えると、短い満期でも急なスマイルが生成される。確率ボラティリティのみでは、短期のスマイルの急さを十分に再現できない。
証明を読む(読まなくても記事は完結します)
4. 証明 ― 下落時にボラティリティが上がる仕組みを見る
この節は読まなくても記事は完結します。
この証明を追いたい人は、数学編 第28回「変数変換で熱方程式に帰着する」へ。
THM-SV-1 の証明
ヘストンモデルで
まず、
と書けます。ここで
次に
ここで
となります。
THM-SV-2 の証明
つまり、原資産が下落 →
この非対称なフィードバックを定量的に確認します。微小時間
です。
一方、
結果として、
THM-SV-3 の証明(要点)
確率ボラティリティだけでは短い満期のスマイルを再現しにくい理由を説明します。
分散過程
一方、ジャンプはポアソン過程に従うため、短い期間でも一定の確率で発生します。ジャンプが起きると原資産は不連続に動き、裾の厚い分布が即座に生まれます。これにより短期でも急なスマイルが形成されます。
数値節で、同じパラメータの下でジャンプの有無によるスマイルの違いを確認します。 ∎
5. 反例 ― 市場が不完備になる
CEX-SV-1: ボラティリティが取引できないため完全ヘッジできない
ブラック・ショールズモデルでは、原資産と安全資産の2つでオプションを完全に複製できました。ヘストンモデルでは不確実性の源が
取引可能な資産の数(2つ)がリスクの源(2つのブラウン運動)より少ないため、すべてのリスクを消すことができません。市場は不完備です。
数値で確認します。ヘストンモデル(
- オプション価格(初期ボラティリティ
のブラック・ショールズ価格で売ったとします): - ヘッジ後の損益の平均:
- ヘッジ後の損益の標準偏差:
- 標準偏差のオプション価格に対する比率:
オプション価格の約
CEX-SV-2: 相関が0でもスキューが出る、という理解は誤り
| 相関 |
スキュー( |
|---|---|
CEX-SV-3: 確率ボラティリティだけで全満期を説明できる、という期待は誤り
満期
| 行使価格 | ジャンプなし | ジャンプあり |
|---|---|---|
スキュー(
まとめると、確率ボラティリティはスキューの「形」を作り、ジャンプは短期の「急さ」を加える役割を持っています。
6. 数値例 ― 相関を変えてスマイルを描く
ヘストンモデルのパラメータを
満期1年のスマイル
| 行使価格 | |||
|---|---|---|---|
満期別の比較(相関マイナス0.5)
| 行使価格 | ||||
|---|---|---|---|---|
同じ行使価格どうしで比べると、短い満期ほど傾きは急です(
ヘッジ誤差
原資産のみでデルタヘッジした場合の損益のばらつき(
- 損益の標準偏差:
(オプション価格 の )
この数字が、確率ボラティリティモデルにおける市場の不完備さの定量的な証拠です。
まとめると、相関
7. 実践 ― オプションの価格表からスマイルを描く
この回までに積み上げたプット・コール・パリティ(第50回)、ブラック・ショールズの価格式(第78回)、ニュートン法による逆算(第79回)、ベガとデルタ(第80回、第85回、第86回)を、オプションの価格表1枚に全部当てます。価格の一覧からインプライド・ボラティリティのスマイルを描き、自分のポジションのグリークスをスマイルに合わせて計算できるようになります。
手順
全工程は4段階です。
- フォワード価格の推定。 プット・コール・パリティ
は全行使価格で成り立ちます。 を の1次関数として回帰し、切片と傾きからフォワード価格 と割引係数 を推定します。 - インプライド・ボラティリティの逆算。 行使価格ごとに、アウト・オブ・ザ・マネー側(
ならプット、 ならコール)の価格を使い、ニュートン法で逆算します。 - 2次式の当てはめ。 逆算した点に
( )を最小二乗法で当てはめます。 - 無裁定チェック。 コール価格が行使価格について単調減少かつ凸であることを確かめます。
架空の価格表を使います(
推定結果は
価格表を作るときに使った真の値は
コード
import math, numpy as np
S0, T, r, tick = 100.0, 0.25, 0.02, 0.5
a0, a1, a2 = 0.25, -0.10, 0.30
Ks = np.arange(70, 135, 5, dtype=float)
F0 = S0 * math.exp(r * T)
def N(x): return 0.5 * (1 + math.erf(x / 2**0.5))
def phi(x): return math.exp(-0.5*x*x) / (2*math.pi)**0.5
def bs(S,K,r,T,s,cp=1):
d1=(math.log(S/K)+(r+.5*s**2)*T)/(s*T**.5)
d2=d1-s*T**.5
return cp*(S*N(cp*d1)-K*math.exp(-r*T)*N(cp*d2))
def vega(S,K,r,T,s):
d1=(math.log(S/K)+(r+.5*s**2)*T)/(s*T**.5)
return S*phi(d1)*T**.5
def iv(price,S,K,r,T,cp=1):
s=0.25
for _ in range(100):
v=vega(S,K,r,T,s)
if v<1e-12: break
s=max(0.001,s-(bs(S,K,r,T,s,cp)-price)/v)
return s
board=[] # 価格表を生成(実データならここを読み替える)
for K in Ks:
m=math.log(K/F0); sig=a0+a1*m+a2*m**2
c=round(bs(S0,K,r,T,sig,1)/tick)*tick
p=round(bs(S0,K,r,T,sig,-1)/tick)*tick
board.append((K,c,p))
cp=np.array([c-p for _,c,p in board])
Ka=np.array([K for K,_,_ in board])
A=np.column_stack([np.ones(len(Ka)),Ka])
ab=np.linalg.lstsq(A,cp,rcond=None)[0]
D_est=-ab[1]; F_est=ab[0]/D_est # 段階1: フォワード推定
print(f"F={F_est:.4f}, D={D_est:.6f}")
ms,ivs=[],[] # 段階2-3: 逆算と当てはめ
for K,c,p in board:
otm,side=(p,-1) if K<=F_est else (c,1)
if otm<=0: continue
s=iv(otm,S0,K,r,T,side)
m=math.log(K/F_est); ms.append(m); ivs.append(s)
print(f"K={K:6.0f} m={m:+.3f} iv={s:.4f}")
coef=np.polyfit(ms,ivs,2)
print(f"fit: a2={coef[0]:.4f} a1={coef[1]:.4f} a0={coef[2]:.4f}")
calls=np.array([c for _,c,_ in board]) # 段階4: 無裁定チェック
print(f"monotone: {bool(np.all(np.diff(calls)<=0))}")
print(f"convex: {bool(np.all(np.diff(calls,n=2)>=0))}")
50行です。実データへの差し替えは board を作る部分をファイル読み込みに変えるだけです。
結果の読み方
逆算したスマイルを行使価格の順に並べると、アット・ザ・マネー付近(figures/plot_smile_practice.py のように横軸を
CEX-PR88-1: 深いアウト・オブ・ザ・マネーで丸め誤差が拡大する
「価格表のどの行使価格から逆算した値も同じくらい信頼できる」という理解は間違いです。丸め幅が同じ
| 価格誤差 | IV 誤差 | ベガ | 価格誤差 |
|
|---|---|---|---|---|
CEX-PR88-2: アット・ザ・マネーのボラティリティ1本ではヘッジがずれる
| ATM 1本 | スマイル対応 | 差 | |
|---|---|---|---|
| ポジションのデルタ | |||
| ポジションのベガ |
デルタの差
8. 次回へ ― 金利とクレジットの世界
今回は株のオプションのスマイルを、確率ボラティリティとジャンプという2つの道具で説明しました。ヘストンモデルでは相関
次回(第89回)からは第9部に入り、株のオプション以外の世界――金利とクレジット――へ進みます。金利が確率的に動くモデルで債券やスワップションをどう価格付けするか、という問題に向かいます。
この回で、5つ目のマイルストーンに到達しました。
よくある質問
確率ボラティリティとローカルボラティリティはどちらが良いのですか
目的によります。今日の価格に合わせるならローカル、将来の動きを問う商品なら確率ボラティリティです。
市場が不完備になると何が困るのですか
価格が一意に決まらなくなります。ヘッジも完全にはできません。
ジャンプは必要ですか
短い満期のスマイルを説明するには必要です。連続的な動きだけでは急な形が作れません。
参考文献
- Heston S. L.、A Closed-Form Solution for Options with Stochastic Volatility、The Review of Financial Studies、1993年、DOI 10.1093/rfs/6.2.327
- Merton R. C.、Option Pricing when Underlying Stock Returns are Discontinuous、Journal of Financial Economics、1976年、DOI 10.1016/0304-405X(76)90022-2
数値例は compute.py によるモンテカルロシミュレーション(20万パス、シード42)で計算。インプライドボラティリティはブラック・ショールズ公式の逆算による。

