固收 Swaption Pricing Basics
Fi Swaption Pricing Basics
题目详情
定价一个 payer swaption。此互换期权赋予持有人权利(而非义务)进入一个互换协议——支付固定利率、接收浮动利率(通常为 LIBOR)。底层互换期限 5 年,互换期权 2 年后到期。
任务:定价欧式互换期权最常用的模型是什么?答案:Black 模型(Black 76)。它将互换期权视为远期互换利率的期权,使用远期利率替代现货利率,适用于利率衍生品定价。解释 Black 模型的假设和局限性。
英文原题
You are tasked with pricing a payer swaption. This swaption gives the holder the right, but not the obligation, to enter into a swap agreement where they pay a fixed interest rate and receive a floating interest rate (typically LIBOR). The underlying swap has a tenor of 5 years and the swaption expires in 2 years.
Which of the following models is most commonly used for pricing such European-style swaptions in the financial industry, assuming a log-normal distribution of the underlying swap rate?
解析
问题分析
You are tasked with pricing a payer swaption. This swaption gives the holder the right, but not the obligation, to enter into a swap agreement where they pay a fixed interest rate and receive a floating interest rate (typically LIBOR). The underlying swap has a tenor of 5 years and the swaption expi
解法
根据题目要求实现相应功能。核心逻辑需要:
// 核心数据结构和方法——根据题目 API 约定实现
// 1. 确定状态表示——选择支持所需操作的数据结构
// 2. 实现核心算法——确保 O(·) 时间复杂度和正确性
// 3. 处理边界条件——空输入、极值参数、并发访问验证
用具体输入验证:构造已知输入的测试用例,确认输出匹配预期结果。
复杂度与边界
- 时间复杂度:取决于选用的算法
- 空间复杂度:取决于数据规模
- 关键边界条件:空输入、极值参数、并发场景下的正确性保证
英文解析
Analysis
A payer swaption gives the holder the right (but not the obligation) to enter into a swap where they pay a fixed rate and receive a floating rate (typically LIBOR). The underlying swap tenor is 5 years and the swaption expires in 2 years. For European-style swaptions with a log-normal swap rate distribution, the Black model (Black 76) is the industry-standard pricing approach.
The Black model treats the swaption as an option on the forward swap rate, replacing the spot price with the forward swap rate and using the swap's annuity factor as the numeraire. This simplification works because the forward swap rate can be reasonably assumed to follow a log-normal distribution under the appropriate measure.
Solution
The Black 76 formula for a payer swaption:
C = A * [F * N(d1) - K * N(d2)]
where:
- A = annuity factor (PV of $1 per year over the swap tenor, discounted at the forward curve)
- F = forward swap rate
- K = strike rate (fixed rate in the underlying swap)
- N = standard normal CDF
- d1 = [ln(F/K) + sigma^2 * T/2] / [sigma * sqrt(T)]
- d2 = d1 - sigma * sqrt(T)
- T = option expiry (2 years)
- sigma = implied volatility of the forward swap rate
import math
def black_swaption(F, K, sigma, T, annuity):
"""Payer swaption price using Black 76 model."""
d1 = (math.log(F / K) + 0.5 * sigma**2 * T) / (sigma * math.sqrt(T))
d2 = d1 - sigma * math.sqrt(T)
N_d1 = norm_cdf(d1)
N_d2 = norm_cdf(d2)
return annuity * (F * N_d1 - K * N_d2)
def norm_cdf(x):
"""Standard normal CDF approximation."""
return 0.5 * (1 + math.erf(x / math.sqrt(2)))For a receiver swaption, swap F and K in the formula or use put-call parity: Receiver = A * [K * N(-d2) - F * N(-d1)].
Complexity & Edge Cases
- Time complexity: O(1) for closed-form Black model; O(N) if building the forward curve from market data
- Space complexity: O(N) for storing the yield curve tenor structure
- Edge cases: (1) Zero volatility (sigma=0) makes the swaption deterministic -- payoff is max(F-K, 0) * A. (2) At-the-money (F=K) simplifies the formula. (3) Negative forward rates violate the log-normal assumption -- Bachelier (normal) model preferred. (4) Bermudan swaptions require tree/lattice methods, not closed-form.
Verification
Given F = 4%, K = 3.5%, sigma = 20%, T = 2, annuity = 4.5 years:
- d1 = (ln(4/3.5) + 0.04) / (0.2*1.414) = (0.1335 + 0.04) / 0.2828 = 0.6114
- d2 = 0.6114 - 0.2828 = 0.3286
- N(d1) approx 0.729, N(d2) approx 0.629
- Payer swaption approx 4.5 * (0.040.729 - 0.0350.629) approx 4.5 * 0.01267 approx 0.0570
Key Considerations
- The Black model assumes log-normal forward swap rate distribution, breaking down in low/negative rate environments
- Swaption volatility surfaces are quoted by expiry/tenor pairs and exhibit smile/skew patterns
- The annuity factor depends on the discount curve -- OIS discounting vs. LIBOR discounting produces different results
- For non-standard swaptions (Bermudan, callable swaps), closed-form is insufficient; use trinomial trees or Monte Carlo