σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
SciPy スキル›モジュール 2 · 曲線と積分›トピック 2.2·~45 分中級

quadとODEソルバーによる積分

スキル上の位置モジュール 2/3 · トピック 2/3
2.2 quadとODEソルバーによる積分
—ラボスコア— / 100合計XP—連続日数—

曲線の下を足し合わせる:面積と動く系

積分は曲線の下の面積です。integrate.quad(f, a, b) は、自分で書いた関数について ∫abf(x) dx\int_a^b f(x)\,dx∫ab​f(x)dx を計算し、値と誤差の見積もりを返します。適応型で、関数が速く変わるところをより細かく調べます。関数ではなく点での値しかないときは、細い短冊を足し合わせます。台形則 np.trapezoid は隣り合う点を直線で結び、台形の面積を足します。シンプソン則 integrate.simpson は小さな放物線を使い、滑らかな曲線ではずっと正確です。コールの支払い max⁡(S−K,0)\max(S-K,0)max(S−K,0) のように折れ目のある関数は quad が想定する滑らかさを壊すので、points=[K] で折れ目の位置を教えます。

2つ目の道具は動く系のためのものです。常微分方程式(ODE)は何かがどれだけ速く変わるかを表し、たとえば短期金利が長期水準 θ\thetaθ へ速さ κ\kappaκ で引き寄せられる drdt=κ(θ−r)\dfrac{dr}{dt}=\kappa(\theta-r)dtdr​=κ(θ−r) がその例です。integrate.solve_ivp(f, [0, T], [r0]) は時間を追って解きます。最も簡単な手計算の方法はオイラー法の1歩 r新=r+h f(r)r_{\text{新}}=r+h\,f(r)r新​=r+hf(r) で、長さ hhh の間は速さが一定だと仮定します。金融では、積分がフォワード金利曲線を割引係数 D(T)=exp⁡ ⁣(−∫0Tf(t) dt)D(T)=\exp\!\big(-\int_0^T f(t)\,dt\big)D(T)=exp(−∫0T​f(t)dt) に変え、支払いと確率密度を期待値に変えます。

∫abf dx≈h(f02+f1+⋯+fn−1+fn2),rnew=r+h κ(θ−r),D(T)=e−∫0Tf(t) dt\int_a^b f\,dx\approx h\Big(\tfrac{f_0}{2}+f_1+\dots+f_{n-1}+\tfrac{f_n}{2}\Big),\qquad r_{\text{new}}=r+h\,\kappa(\theta-r),\qquad D(T)=e^{-\int_0^T f(t)\,dt}∫ab​fdx≈h(2f0​​+f1​+⋯+fn−1​+2fn​​),rnew​=r+hκ(θ−r),D(T)=e−∫0T​f(t)dt(1)
面積・金利・割引係数∫01x2dx\int_0^1x^{2}dx∫01​x2dx を 444 本の短冊(h=0.25h=0.25h=0.25)で考えます。高さは 000、0.06250.06250.0625、0.250.250.25、0.56250.56250.5625、111 なので、台形則は 0.25⋅(0.5⋅0+0.0625+0.25+0.5625+0.5⋅1)=0.343750.25\cdot(0.5\cdot0+0.0625+0.25+0.5625+0.5\cdot1)=0.343750.25⋅(0.5⋅0+0.0625+0.25+0.5625+0.5⋅1)=0.34375 で、正確な 1/31/31/3 より少し大きくなります。シンプソン則は 333 点だけでちょうど 0.33330.33330.3333 です。次に、金利が r0=2%r_0=2\%r0​=2% から始まり、κ=0.5\kappa=0.5κ=0.5、θ=4%\theta=4\%θ=4% とします。長さ h=1h=1h=1 のオイラー法1歩では r=0.02+0.5⋅0.02=3.0%r=0.02+0.5\cdot0.02=3.0\%r=0.02+0.5⋅0.02=3.0% ですが、厳密解 θ+(r0−θ)e−κ\theta+(r_0-\theta)e^{-\kappa}θ+(r0​−θ)e−κ は 2.787%2.787\%2.787% で、solve_ivp も同じです。フォワード金利曲線 f(t)=0.03+0.01tf(t)=0.03+0.01tf(t)=0.03+0.01t の0〜2年の面積は 0.080.080.08 なので D(2)=e−0.08=0.9231D(2)=e^{-0.08}=0.9231D(2)=e−0.08=0.9231 です。S=K=100S=K=100S=K=100、ボラティリティ 20%20\%20%、1年のコールでは、支払いに正規分布の密度を掛けたものを折れ目に points を付けて quad すると 7.96567.96567.9656、つまりブラック・ショールズ価格になります。実データでは、2026年10月9日の米国債10年利回り 5.24%5.24\%5.24% を連続複利とみなすと D(10)=e−0.524=0.592D(10)=e^{-0.524}=0.592D(10)=e−0.524=0.592 です。
  • 関数か点か:関数が書けるなら quad、値しかないなら台形則かシンプソン則。
  • 折れ目は quad に教える:max⁡(S−K,0)\max(S-K,0)max(S−K,0) のような支払いは、確かな答えのために points=[K] が必要。
  • 積分で値付けする:フォワード曲線の下の面積は割引係数を、支払い×密度は期待値を与える。

ラボ:採点される内容

  • 台形則の面積10点
  • オイラー法の1歩10点
  • 厳密解15点
  • 割引係数15点
  • 適切な積分器15点
  • 積分でコールを価格付けする10点
  • なぜ折れ目を quad に教えるか25点
0/ 7問回答済み
問題
1数値で答える10点未回答

高さ 0, 0.0625, 0.25, 0.5625, 10,\ 0.0625,\ 0.25,\ 0.5625,\ 10, 0.0625, 0.25, 0.5625, 1 が間隔 h=0.25h=0.25h=0.25 で並んでいます。台形則は h (f0/2+f1+f2+f3+f4/2)h\,(f_0/2+f_1+f_2+f_3+f_4/2)h(f0​/2+f1​+f2​+f3​+f4​/2) です。面積はいくつですか。小数第4位まで答えてください。

a=a =a=許容:± 0.001
2数値で答える10点未回答

金利が r0=2%r_0=2\%r0​=2%、κ=0.5\kappa=0.5κ=0.5、θ=4%\theta=4\%θ=4% です。長さ h=1h=1h=1 のオイラー法の1歩は r=r0+h κ(θ−r0)r=r_0+h\,\kappa(\theta-r_0)r=r0​+hκ(θ−r0​) です。rrr は何%ですか。小数第1位まで答えてください。

r=r =r=許容:± 0.05
3数値で答える15点未回答

厳密解は r(t)=θ+(r0−θ)e−κtr(t)=\theta+(r_0-\theta)e^{-\kappa t}r(t)=θ+(r0​−θ)e−κt です。e−0.5=0.6065e^{-0.5}=0.6065e−0.5=0.6065 として、r(1)r(1)r(1) は何%ですか。小数第3位まで答えてください。

r=r =r=許容:± 0.005
4数値で答える15点未回答

フォワード金利曲線は f(t)=0.03+0.01 tf(t)=0.03+0.01\,tf(t)=0.03+0.01t で、0〜2年の面積は 0.080.080.08 です。割引係数 D(2)=e−0.08D(2)=e^{-0.08}D(2)=e−0.08 はいくつですか。小数第4位まで答えてください。

d=d =d=許容:± 0.0005
5対応づけ15点未回答

各道具を、最も合う仕事に結び付けてください。

左の各項目に対応するものを選んでください。

quad
np.trapezoid
simpson
solve_ivp
6手順を並べ替える10点未回答

コールを積分として価格付けする手順を並べ替えてください。

ドラッグして並べ替えます。または項目にフォーカスし、スペースで持ち上げ、矢印キーで移動、スペースで置きます。

  1. 1閉じた式の価格と比べる
  2. 2権利行使価格に points を付けて quad を呼ぶ
  3. 3ほぼ全確率を覆う有限の範囲を選ぶ
  4. 4支払い×密度を1つの関数として書く
7言葉で説明する25点未回答

コールの支払い max⁡(S−K,0)\max(S-K,0)max(S−K,0) は権利行使価格で折れ曲がります。そこで quad に points=[K] を与えるべき理由を1〜2文で説明してください。

数学モードキーボードまたは LaTeX で入力問題1/7 · Ctrl ⏎ で確認

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける