关于 fixed-income-sovereign
面向分析美国国债与利率的金融从业者,介绍主权固定收益估值和利率风险概念,并附计算示例与可运行脚本。范围不包括新兴市场债务等主权信用风险。
主要功能
- 01债券定价与收益率计算
- 02收益率曲线及即期利率引导
- 03久期、DV01 与凸性分析
- 04TIPS 与关键利率久期
- 05计算示例及验证脚本
适用场景
- 01按收益率估算债券价格
- 02评估利率变动对价格的影响
- 03分析曲线不同期限的敏感度
- 04运行示例并核对计算结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill fixed-income-sovereign安装后在 Claude Code 中输入/fixed-income-sovereign确认已加载。
附带文件scripts/fixed_income_sovereign.py
详细介绍
固定收益 — 主权债券
范围:美国国债和利率分析。本技能不涵盖主权信用风险——新兴市场债务、违约分析、国家风险利差。
核心概念
债券定价
债券价格是其未来现金流的现值:
P = sum(t=1 to n) [C / (1+y)^t] + F / (1+y)^n
其中,C = 每期票息,y = 每期到期收益率,F = 面值,n = 总期数。对于半年付息债券,将年票息除以 2,年收益率除以 2,并将年数乘以 2,得到 n。
到期收益率(YTM)
使债券定价方程成立的贴现率 y——也就是使债券市场价格等于所有未来现金流现值的单一利率。假设票息按 YTM 利率再投资。这是债券的标准收益率指标。
当前收益率
当前收益率 = 年票息 / 价格。这是一种简单的收入指标,不考虑资本利得/损失和货币的时间价值。
收益率曲线:即期利率、远期利率、平价曲线
即期曲线给出各期限的零息收益率。平价曲线给出债券以面值定价时对应的票息率。远期利率是根据即期利率推导出的隐含未来利率。这三种曲线包含等价信息,可以相互推导。
即期曲线的自举法
从最短期限开始,逐步向外推导,从平价收益率中提取即期(零息)利率。每一步都利用先前推导出的即期利率来求解下一个即期利率。
远期利率
根据即期利率推导出的两个未来日期之间的隐含利率:
f(t1,t2) = [(1+s_t2)^t2 / (1+s_t1)^t1]^(1/(t2-t1)) - 1
其中,s_t1 和 s_t2 分别是期限为 t1 和 t2 的即期利率。
久期(麦考利久期)
收到现金流所需时间的加权平均值,权重为各笔现金流现值占债券价格的比例:
D_mac = (1/P) × sum(t × CF_t / (1+y)^t)
以年为单位。期限越长、票息越低、收益率越低,久期越大。
修正久期
D_mod = D_mac / (1 + y/m)
其中,m = 每年的付息期数。用于估算收益率变动 1 个百分点时的价格百分比变化:dP/P ≈ -D_mod × dy。
美元久期(DV01)
收益率变动 1 个基点时的价格美元变动:
DV01 ≈ -D_mod × P × 0.0001
用于对冲——匹配 DV01 风险敞口,使投资组合免受平行利率变动的影响。
凸性
衡量价格与收益率关系的曲率(二阶导数):
C = (1/P) × sum(t(t+1) × CF_t / (1+y)^(t+2))
对于不含期权的债券,凸性始终为正——仅使用久期会高估损失、低估收益。
价格变动近似值
ΔP/P ≈ -D_mod × Δy + 0.5 × Convexity × (Δy)²
凸性项用于修正,在收益率变动较大时尤为重要。
TIPS(美国通胀保值国债)
本金随 CPI 调整。票息率固定,但按经通胀调整后的本金计算。实际收益率 = TIPS 收益率。盈亏平衡通胀率 = 名义美国国债收益率 - TIPS 实际收益率。TIPS 设有通缩下限,可在到期时保护面值。
关键利率久期
衡量对收益率曲线特定点(如 2 年期、5 年期、10 年期、30 年期)的敏感度。可用于分析非平行收益率曲线变动,例如变陡、变平或蝶式变动。各关键利率久期之和等于有效久期。
关键公式
| 公式 | 表达式 | 用途 |
|---|---|---|
| 债券价格 | P = sum C/(1+y)^t + F/(1+y)^n | 根据收益率计算价格 |
| 当期收益率 | 年票息 / 价格 | 简单的收入指标 |
| 远期利率 | f(t1,t2) = [(1+s_t2)^t2 / (1+s_t1)^t1]^(1/(t2-t1)) - 1 | 隐含的未来利率 |
| 麦考利久期 | (1/P) × sum(t × CF_t / (1+y)^t) | 现金流加权平均时间 |
| 修正久期 | D_mac / (1 + y/m) | 价格对收益率的敏感度(百分比) |
| DV01 | D_mod × P × 0.0001 | 利率每变动 1 个基点引起的价格变动金额 |
| 凸性 | (1/P) × sum(t(t+1) × CF_t / (1+y)^(t+2)) | 价格—收益率曲线的曲率 |
| 价格变动 | ΔP/P ≈ -D_mod×Δy + 0.5×Convexity×(Δy)² | 估算利率变动对价格的影响 |
计算示例
示例 1:计算一只 5 年期、票息率为 4% 的半年付息债券在到期收益率为 5% 时的价格
已知: 面值 = $1,000,票息率 = 4%(半年付息),到期收益率 = 5%,期限 = 5 年 计算: 债券价格 解答: 半年票息 = $1,000 × 4% / 2 = $20 半年收益率 = 5% / 2 = 2.5% 期数 = 5 × 2 = 10 P = $20 × [(1 - (1.025)^(-10)) / 0.025] + $1,000 / (1.025)^10 P = $20 × 8.7521 + $1,000 × 0.7812 P = $175.04 + $781.20 = $956.24
由于票息率(4%)低于市场收益率(5%),该债券以折价交易($956.24 < $1,000)。
示例 2:修正久期和价格变动估算
已知: 一只债券的麦考利久期 = 4.5 年,到期收益率 = 5%(半年付息),价格 = $956.24,凸性 = 22.5 计算: 利率上升 50 个基点时的估算价格变动 解答: D_mod = 4.5 / (1 + 0.05/2) = 4.5 / 1.025 = 4.39 年 ΔP/P ≈ -4.39 × 0.005 + 0.5 × 22.5 × (0.005)² ΔP/P ≈ -0.02195 + 0.000281 = -0.02167 = -2.167% ΔP ≈ -2.167% × $956.24 = -$20.72 新价格 ≈ $956.24 - $20.72 = $935.52
仅使用久期会估算为 -2.195%;凸性修正使估算亏损减少约 3 个基点。
常见误区
- 混淆麦考利久期和修正久期——麦考利久期以年为单位,修正久期表示价格敏感度
- 利率大幅变动时忽略凸性——仅使用久期会高估亏损、低估收益
- 日计数惯例(30/360 与实际/实际)——美国国债采用实际/实际,公司债采用 30/360
- 混淆净价和全价(应计利息)——报价不含应计利息,但结算时必须支付这部分利息
交叉引用
- time-value-of-money(核心插件):折现和现值基础
- fixed-income-corporate(财富管理插件):相对于主权债收益率曲线的信用利差
- fixed-income-municipal(财富管理插件):市政债与美国国债收益率比率
- asset-allocation(财富管理插件):债券作为资产类别在投资组合构建中的作用
运行脚本
uv run scripts/fixed_income_sovereign.py # run the demo (uses PEP 723 inline deps)
uv run scripts/fixed_income_sovereign.py --verify # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/fixed_income_sovereign.py # alternative (requires: pip install numpy scipy)
演示会输出以上介绍的计算结果;其数值与本技能中的计算示例一致。运行 --help 可查看类和函数列表。若要以编程方式使用,请导入模块而不是运行脚本——仅当运行 python fixed_income_sovereign.py 时才会执行演示。