短期利率模型:Vasicek 和 CIR

短期利率按 Vasicek 或 CIR 模型变动时,各期限的零息债券价格和收益率曲线是什么样?

IFoA CM1IFoA CM2按输入的参数计算
对过的标准答案
4 条
覆盖的考试公式
4 个
参数
12 个
开源库
2 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • IFoA CM2 课程利率的期限结构模型:Vasicek、CIR
  • Hull:Options, Futures, and Other Derivatives第 31 章利率模型
  • Brigo、Mercurio:Interest Rate Models – Theory and Practice第 3.2 节

覆盖的考试公式

  • DER-003Ornstein-Uhlenbeck 与均值回复过程CM2
  • DER-004零息债券价格、远期利率与瞬时远期利率CM1CM2
  • DER-005Vasicek 模型债券价格CM2
  • DER-006CIR 模型债券价格CM2

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

Vasicek(Ornstein-Uhlenbeck)和 Cox-Ingersoll-Ross 两个均值回复的短期利率模型:零息债券价格的闭式解 P = e^{H − Gr},即期收益率、瞬时远期利率和长期利率,短期利率在未来的均值、方差和分位数(Vasicek 的负利率概率、CIR 的 Feller 条件),按精确的转移分布模拟路径,并用模拟核对债券价格。也可以输入一列历史利率,用 AR(1) 回归估计 Vasicek 的 κ、θ、σ。

说明和限制

  • 参数都在风险中性测度下(市场风险价格已经并进 θ)。用历史利率估计出的是真实世界的参数,直接拿来定价要另加风险溢价。
  • Vasicek 的利率可以是负数;CIR 的利率不会是负数,2κθ ≥ σ² 时(Feller 条件)也不会碰到 0。
  • 瞬时远期利率按 f = −∂ln P/∂T = G′(T)r₀ − H′(T) 的解析导数算。长期利率 R(∞):Vasicek 是 θ − σ²/(2κ²),CIR 是 2κθ/(κ + γ)。
  • 模拟用精确的转移分布(不是欧拉格式),每年 12 步。模拟的债券价格 E[e^{−∫r dt}] 用梯形公式近似积分,和闭式解的差主要是这个近似和抽样误差。
  • 估计参数时:r_{k+1} = a + b·r_k + ε 的最小二乘,κ = −ln b/Δ,θ = a/(1 − b),σ = s_ε·√(2κ/(1 − b²))。b 不在 (0, 1) 里时没有均值回复,不能估计。

数据

没有用数据:按输入的参数计算

开源库和版本

  • scipy1.17.1BSD分布拟合、统计检验
  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

衍生品与资产模型,还有 14 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“短期利率按 Vasicek 或 CIR 模型变动时,各期限的零息债券价格和收益率曲线是什么样?未来的利率会落在什么范围?用历史利率怎样估计参数?”