σμ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] 告诉它折点的位置。

第二个工具用于动态系统。常微分方程(ODE)描述某个量变化多快,例如短期利率以速度 κ\kappaκ 被拉向长期水平 θ\thetaθ:drdt=κ(θ−r)\dfrac{dr}{dt}=\kappa(\theta-r)dtdr​=κ(θ−r)。integrate.solve_ivp(f, [0, T], [r0]) 沿时间推进求解。最简单的手算方法是欧拉步 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 的一步欧拉给出 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 在 000 到 222 年的面积是 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%、期限一年的看涨期权,用 quad 对收益乘以正态密度积分,并在折点处设置 points,得到 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 分
  • 欧拉步10 分
  • 精确解15 分
  • 贴现因子15 分
  • 合适的积分工具15 分
  • 用积分为看涨期权定价10 分
  • 为什么要把折点告诉 quad25 分
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)。面积是多少?保留四位小数。

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 的一步欧拉为 r=r0+h κ(θ−r0)r=r_0+h\,\kappa(\theta-r_0)r=r0​+hκ(θ−r0​)。rrr 是多少(百分数)?保留一位小数。

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) 是多少(百分数)?保留三位小数。

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,它在 000 到 222 年的面积是 0.080.080.08。贴现因子 D(2)=e−0.08D(2)=e^{-0.08}D(2)=e−0.08 是多少?保留四位小数。

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把收益乘以密度写成一个函数
7用文字解释25 分未作答

看涨期权的收益 max⁡(S−K,0)\max(S-K,0)max(S−K,0) 在行权价处出现折点。请用一两句话解释为什么应该在那里给 quad 传入 points=[K]。

数学模式键盘或 LaTeX 输入第 1/7 题 · Ctrl ⏎ 检查

登录后即可运行你的代码。

所有讲解均可免费阅读。创建账户或登录后,即可运行代码、运行测试并提交此实验。

  • 浏览器内 IDE 与 bash 终端,无需安装
  • 即时评分、XP 以及你在学习路线中的位置
创建账户登录
或
使用 GitHub 继续