σμ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.1·~45分钟中级

曲线的插值与样条

路线进度模块 2/3 · 主题 1/3
2.1 曲线的插值与样条
—实验得分— / 100总 XP—连续天数—

过几个点画一条平滑的线

市场只在少数期限(如 2 年、3 年、5 年)报出收益率曲线,但你需要任意期限(如 2.5 年)的值。插值就是填补已知点之间的空隙。最简单的是线性:用 np.interp 或 interpolate.interp1d 在相邻两点之间画直线。三次样条 interpolate.CubicSpline 用三次曲线段把点连起来,使每个点处的斜率和曲率也相等,结果看起来很平滑。样条在点之间可能冲过头。PchipInterpolator 通过从不超过或低于相邻点来避免这一点。在已知范围内哪种都行,但在范围之外就是外推,这是一种猜测,三次曲线可能失控。

插值哪个量很重要。对收益率做线性插值很简单,但金融里常常改为插值贴现因子的对数。连续复利下贴现因子是 D(t)=e−y(t) tD(t)=e^{-y(t)\,t}D(t)=e−y(t)t,所以 ln⁡D(t)=−y(t) t\ln D(t)=-y(t)\,tlnD(t)=−y(t)t。对它做线性插值能使节点之间的远期利率保持不变。时刻 t1t_1t1​ 与 t2t_2t2​ 之间的远期利率,是你今天可以为那段未来时间锁定的利率:f=y(t2)t2−y(t1)t1t2−t1f=\dfrac{y(t_2)t_2-y(t_1)t_1}{t_2-t_1}f=t2​−t1​y(t2​)t2​−y(t1​)t1​​。平滑而合理的远期曲线才是检验插值好坏的真正标准。

D(t)=e−y(t) t,ln⁡D(t) linear between knots,f(t1,t2)=y(t2)t2−y(t1)t1t2−t1D(t)=e^{-y(t)\,t},\qquad \ln D(t)\ \text{linear between knots},\qquad f(t_1,t_2)=\frac{y(t_2)t_2-y(t_1)t_1}{t_2-t_1}D(t)=e−y(t)t,lnD(t) linear between knots,f(t1​,t2​)=t2​−t1​y(t2​)t2​−y(t1​)t1​​(1)
2.5 年期收益率收益率在 222 年为 4.0%4.0\%4.0%,333 年为 4.5%4.5\%4.5%。线性插值在 2.52.52.5 年给出 4.25%4.25\%4.25%。对 ln⁡D=−yt\ln D=-ytlnD=−yt(222 年为 −0.080-0.080−0.080,333 年为 −0.135-0.135−0.135)插值,2.52.52.5 年为 −0.1075-0.1075−0.1075,所以收益率是 0.1075/2.5=4.30%0.1075/2.5=4.30\%0.1075/2.5=4.30%。222 到 333 年之间的远期利率是 (0.135−0.080)/1=5.5%(0.135-0.080)/1=5.5\%(0.135−0.080)/1=5.5%。过 (0,0)(0,0)(0,0)、(1,1)(1,1)(1,1)、(2,0)(2,0)(2,0) 的自然三次样条在 [0,1][0,1][0,1] 上是 S(x)=−0.5x3+1.5xS(x)=-0.5x^{3}+1.5xS(x)=−0.5x3+1.5x,所以 S(0.5)=0.6875S(0.5)=0.6875S(0.5)=0.6875,而直线给出 0.50.50.5。在真实数据上,2026 年 10 月 9 日的美债曲线 101010 年为 5.24%5.24\%5.24%,202020 年为 5.65%5.65\%5.65%。在 151515 年处,线性插值给出 5.445%5.445\%5.445%,过全部十个点的三次样条给出 5.450%5.450\%5.450%,PCHIP 给出 5.493%5.493\%5.493%。超出数据范围就会出错:同一条样条在 404040 年处给出 4.26%4.26\%4.26%,而 303030 年的收益率是 5.60%5.60\%5.60%。
  • 范围内插值,范围外小心:线性、三次样条和 PCHIP 在数据内部相近,在外部分道扬镳。
  • 选择插值的对象:贴现因子的对数能让节点之间的远期利率保持稳定。
  • 检查远期曲线:好的插值应给出合理的远期利率,而不只是一条穿过各点的漂亮曲线。

实验:评分内容

  • 线性插值10 分
  • 插值贴现因子15 分
  • 远期利率15 分
  • 样条取值10 分
  • 合适的工具15 分
  • 构建曲线10 分
  • 为什么不要外推三次样条25 分
0/ 已答 7 题
任务
1数值作答10 分未作答

收益率在 222 年为 4.0%4.0\%4.0%,333 年为 4.5%4.5\%4.5%。线性插值在 2.52.52.5 年给出多少(百分数)?保留两位小数。

y=y =y=允许误差:± 0.01
2数值作答15 分未作答

ln⁡D=−yt\ln D=-ytlnD=−yt 在 222 年为 −0.080-0.080−0.080,333 年为 −0.135-0.135−0.135,线性插值得 ln⁡D(2.5)=−0.1075\ln D(2.5)=-0.1075lnD(2.5)=−0.1075。这意味着 2.52.52.5 年的收益率 y=−ln⁡D/ty=-\ln D/ty=−lnD/t 是多少(百分数)?保留两位小数。

y=y =y=允许误差:± 0.01
3数值作答15 分未作答

当 y2=4.0%y_2=4.0\%y2​=4.0%,y3=4.5%y_3=4.5\%y3​=4.5% 时,222 到 333 年之间的远期利率 f=(y3⋅3−y2⋅2)/(3−2)f=(y_3\cdot3-y_2\cdot2)/(3-2)f=(y3​⋅3−y2​⋅2)/(3−2) 是多少(百分数)?保留一位小数。

f=f =f=允许误差:± 0.05
4数值作答10 分未作答

过 (0,0)(0,0)(0,0)、(1,1)(1,1)(1,1)、(2,0)(2,0)(2,0) 的自然三次样条在 [0,1][0,1][0,1] 上为 S(x)=−0.5x3+1.5xS(x)=-0.5x^{3}+1.5xS(x)=−0.5x3+1.5x。S(0.5)S(0.5)S(0.5) 是多少?保留四位小数。

s=s =s=允许误差:± 0.001
5配对15 分未作答

把每个工具与最适合它的场景配对。

为左侧每一项选择配对项。

np.interp
CubicSpline
PchipInterpolator
bounds_error=False, fill_value
6排列步骤10 分未作答

把由报价收益率构建贴现曲线的步骤排好顺序。

拖动以重新排序;也可聚焦某项,按空格抬起,用方向键移动,再按空格放下。

  1. 1检查隐含远期利率是否有跳变或负值
  2. 2在节点之间插值
  3. 3把每个收益率变成贴现因子的对数
  4. 4收集报价收益率和期限
7用文字解释25 分未作答

过十个美债收益率的三次样条说 40 年收益率是 4.26%4.26\%4.26%,而 30 年是 5.60%5.60\%5.60%。请用一两句话解释为什么外推三次样条有风险。

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

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

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

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