| name | bond-pricing |
| description | 债券定价工具,实现现金流贴现定价、牛顿法/二分法YTM求解、应计利息与全价/净价转换及日计数惯例。YTM计算实现,适用于固定收益定价教学与债券估值原型验证。不适用于实盘交易或投资决策,不支持含权债券(callable/puttable)的精确定价与信用违约清算,结果仅供学习参考。 |
| version | 1.0.0 |
| author | wangyi |
bond-pricing
债券定价与到期收益率(YTM)计算工具,支持现金流贴现定价、牛顿法/二分法YTM求解、应计利息与全价/净价计算。
📌 说明:本工具基于简化模型实现,仅使用 Python 标准库。结果仅供学习参考,不构成投资建议或交易依据。
脚本API
day_count_actual(actual_days, base_days=365)
ACT/365 或 ACT/ACT 日计数。
必填: actual_days
day_count_30_360(start, end)
30/360 日计数惯例。
必填: start, end
calculate_accrued_interest(face_value, coupon_rate, days_accrued, days_in_period=182, payment_frequency=2)
计算应计利息。
必填: face_value, coupon_rate, days_accrued
price_bond(face_value, coupon_rate, yield_rate, maturity_years, payment_frequency=2)
现金流贴现法定价债券。
必填: face_value, coupon_rate, yield_rate, maturity_years
price_zero_coupon(face_value, yield_rate, maturity_years)
零息债券定价。
必填: face_value, yield_rate, maturity_years
bond_price_for_ytm(ytm, face_value, coupon_rate, n_periods, payment_frequency)
给定YTM计算债券价格。
必填: ytm, face_value, coupon_rate, n_periods, payment_frequency
solve_ytm_newton(market_price, face_value, coupon_rate, maturity_years, payment_frequency=2, initial_guess=0.05, max_iter=100, tol=1e-10)
牛顿法求解YTM。
必填: market_price, face_value, coupon_rate, maturity_years
solve_ytm_bisection(market_price, face_value, coupon_rate, maturity_years, payment_frequency=2, y_low=-0.1, y_high=0.5, max_iter=200, tol=1e-10)
二分法求解YTM(更稳健的备选方案)。
必填: market_price, face_value, coupon_rate, maturity_years
dirty_clean_price(face_value, coupon_rate, yield_rate, maturity_years, days_accrued, days_in_period=182, payment_frequency=2)
计算全价与净价。
必填: face_value, coupon_rate, yield_rate, maturity_years, days_accrued
price_and_yield(face_value=1000, coupon_rate=0.05, yield_rate=0.045, maturity_years=10, payment_frequency=2, market_price=None, days_accrued=0)
统一债券定价与YTM计算接口。
调用示例
python scripts/main.py \
--face-value <face_value> \
--yield-rate <yield_rate> \
--maturity-years <maturity_years> \