固收 Duration Convexity Approximation
Fi Duration Convexity Approximation
题目详情
某债券修正久期 7,凸度 50。若利率上升 50 个基点(0.5%),债券价格的近似百分比变化是多少?
任务:使用久期-凸度近似:ΔP/P ≈ -久期 × Δy + 0.5 × 凸度 × Δy² = -7 × 0.005 + 0.5 × 50 × 0.005² = -0.035 + 0.000625 = -3.4375%。仅久期近似为 -3.5%,凸度修正 +0.0625%,说明凸度对大利率变动提供重要修正。
英文原题
You are a bond trader at a major investment bank. You are analyzing a bond with a modified duration of 7 and a convexity of 50. If interest rates increase by 50 basis points (0.5%), what is the approximate percentage change in the bond's price, using the duration-convexity approximation?
解析
问题分析
You are a bond trader at a major investment bank. You are analyzing a bond with a modified duration of 7 and a convexity of 50. If interest rates increase by 50 basis points (0.5%), what is the approximate percentage change in the bond's price, using the duration-convexity approximation?
解法
根据题目要求实现相应功能。核心逻辑需要:
// 核心数据结构和方法——根据题目 API 约定实现
// 1. 确定状态表示——选择支持所需操作的数据结构
// 2. 实现核心算法——确保 O(·) 时间复杂度和正确性
// 3. 处理边界条件——空输入、极值参数、并发访问验证
用具体输入验证:构造已知输入的测试用例,确认输出匹配预期结果。
复杂度与边界
- 时间复杂度:取决于选用的算法
- 空间复杂度:取决于数据规模
- 关键边界条件:空输入、极值参数、并发场景下的正确性保证
英文解析
Analysis
The duration-convexity approximation estimates a bond's percentage price change for a given yield shift using both duration (first-order) and convexity (second-order) terms. Duration alone gives a linear approximation; adding convexity improves accuracy, especially for larger rate moves.
Formula: DeltaP/P approx -D_mod * DeltaY + 0.5 * C * (DeltaY)^2
Given: Modified Duration = 7, Convexity = 50, DeltaY = +0.5% (+50bps).
Solution
DeltaP/P approx -7 * 0.005 + 0.5 * 50 * (0.005)^2
= -0.035 + 0.5 * 50 * 0.000025
= -0.035 + 0.000625
= -0.034375
The bond's price decreases approximately 3.4375%.
def duration_convexity_approx(mod_duration, convexity, delta_y):
"""Estimate percentage price change using duration + convexity."""
duration_effect = -mod_duration * delta_y
convexity_effect = 0.5 * convexity * delta_y**2
return duration_effect + convexity_effect
def absolute_price_change(mod_duration, convexity, delta_y, price):
"""Estimate absolute dollar price change."""
pct_change = duration_convexity_approx(mod_duration, convexity, delta_y)
return price * pct_changeComplexity & Edge Cases
- Time complexity: O(1) for closed-form approximation
- Space complexity: O(1)
- Edge cases: (1) The approximation is a Taylor expansion truncated at second order -- less accurate for very large yield shifts (>200bps). (2) For callable bonds, effective convexity can be negative, reversing the convexity adjustment sign. (3) Convexity definition: some sources use "convexity/100" in the formula -- check convention consistency. (4) For small shifts (1-10bps), duration alone suffices; convexity term is negligible.
Verification
Modified Duration = 7, Convexity = 50, DeltaY = +0.5%:
- Duration effect: -7 * 0.005 = -3.5%
- Convexity effect: 0.5 * 50 * 0.0025% = +0.0625%
- Total: -3.5% + 0.0625% = -3.4375%
If DeltaY = -0.5% (rates decrease):
- Duration effect: -7 * (-0.005) = +3.5%
- Convexity effect: 0.5 * 50 * 0.0025% = +0.0625%
- Total: +3.5625% (asymmetric -- convexity always helps)
Key Considerations
- Positive convexity is always beneficial: it reduces losses when rates rise and increases gains when rates fall
- The asymmetry between up and down moves is the "convexity bonus" -- longer-duration, higher-convexity bonds outperform linear estimates
- Trading implication: buying convexity (via options or long-duration bonds) costs carry but provides insurance against large rate moves
- Duration-only hedging leaves residual convexity exposure -- convexity-neutral hedging requires additional instruments