Mímisbrunnr知恵の泉

← 金融工学 一覧

🎓 レベル:発展 | 重要度:B(標準)・要最新確認

📎 前提:ブラウン運動と幾何ブラウン運動 | 数理:ポアソン分布(統計)・関連:確率ボラティリティ(Hestonモデル)

要点(BLUF)

1. 連続モデルの限界とジャンプ

GBM(ブラウン運動と幾何ブラウン運動)の経路は連続で、価格は少しずつしか動きません。しかし現実の市場は、決算サプライズ・政策変更・パニックで一瞬にして大きく飛ぶことがあります。2020年のコロナ・ショックのような暴落は、連続な GBM では実質的に確率ゼロ。これを表現するには、拡散(連続)に**ジャンプ(不連続)**を足す必要があります。

2. Mertonジャンプ拡散モデル

Merton のモデルは、対数リターンを「連続な拡散部分」と「ジャンプ部分」の和で書きます。

dlnS=(μσ22)dt+σdW+k=1dNtYkd\ln S = \Big(\mu - \tfrac{\sigma^2}{2}\Big)dt + \sigma\,dW + \sum_{k=1}^{dN_t} Y_k

ふだんは拡散だけで静かに動き、稀に(年 λ\lambda 回ペースで)ジャンプが入って価格が飛ぶ——この「平時とショックの二層構造」が特徴です。

3. シミュレーション:ジャンプと裾

年1回ペース・平均 10%-10\% のジャンプを入れて、価格経路と裾の厚さを見ます。

import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
from scipy import stats

rng = np.random.default_rng(1)
S0, mu, sigma = 100.0, 0.05, 0.15
lam, jump_mean, jump_std = 1.0, -0.10, 0.10   # 年1回, 平均-10%, ばらつき10%
T, N, M = 1.0, 252, 5000
dt = T/N

S = np.full(M, S0)
daily = np.zeros((M, N))
for i in range(N):
    z = rng.normal(size=M)
    diffusion = (mu - 0.5*sigma**2)*dt + sigma*np.sqrt(dt)*z    # 連続部分(GBM)
    n_jumps = rng.poisson(lam*dt, M)                            # この期間のジャンプ回数
    jump = n_jumps*jump_mean + np.sqrt(n_jumps)*jump_std*rng.normal(size=M)
    daily[:, i] = diffusion + jump
    S = S*np.exp(diffusion + jump)

returns = daily.flatten()
print(f"ジャンプ拡散 日次リターン 超過尖度 = {stats.kurtosis(returns):.3f}")
print(f"純拡散(GBM)のみ 超過尖度        = {stats.kurtosis(rng.normal(0, sigma*np.sqrt(dt), returns.size)):.3f}")
print(f"最小日次リターン = {returns.min():.4f}(ジャンプによる急落)")

paths = S0*np.exp(np.cumsum(daily[:6], axis=1))   # 6本の価格経路
plt.figure(figsize=(8, 5))
plt.plot(np.linspace(0, T, N), paths.T, lw=1)
plt.xlabel("時間 t(年)"); plt.ylabel("価格")
plt.title("ジャンプ拡散の価格経路(突然の段差=ジャンプ)")
plt.tight_layout(); plt.show()

出力:

ジャンプ拡散 日次リターン 超過尖度 = 142.315
純拡散(GBM)のみ 超過尖度        = -0.002
最小日次リターン = -0.5039(ジャンプによる急落)

出力の意味:純粋な GBM の日次リターンは超過尖度ほぼ0(正規)ですが、ジャンプを入れると 142 と桁違いに跳ね上がります。ほとんどの日は拡散だけで静かなのに、稀にジャンプが入って極端な値が出る——この「大半が穏やか・たまに激変」の混合が、超過尖度を爆発させます。最小日次リターンは 0.50-0.50(単日 50%-50\% の急落)で、これは連続な GBM では天文学的にありえない動き。価格経路の図でも、なめらかな線が突然の段差で飛ぶのが見えます。ジャンプ拡散は、こうしたテールイベントに正面から確率を与えるモデルです。

4. スマイルとの関係

ジャンプ拡散も、インプライドボラティリティ のスマイルを生みます。とくに短満期では、Heston のような確率ボラだけでは説明しにくい急峻なスマイルを、ジャンプが自然に作ります(短期間では拡散の揺れは小さいが、ジャンプ1発のインパクトは大きいため)。実務では確率ボラとジャンプを組み合わせた SVJ(Stochastic Volatility with Jumps) モデルが、短満期から長満期までのスマイルを一貫して再現するために使われます(要最新確認)。Merton モデル自体は、ジャンプを条件づけると各シナリオで BS が使えるため、級数和の閉形式でオプション価格が書ける利点もあります。

⚠️ よくある誤解

関連ノート