3. 债券定价模型:现金流贴现模型、零息债券定价、附息债券定价、全价与净价
债券定价,说白了就是回答一个问题:这张债券到底值多少钱?
我刚开始做债券量化时,觉得定价不就是把未来现金流折现嘛,简单。结果第一次跑回测,模型算出来的价格和交易所行情差了十几个bp,排查了半天才发现是「全价」和「净价」搞混了。嗯,这种坑,踩过一次就记住了。
3.1 现金流贴现模型:一切定价的起点
所有债券定价的底层逻辑,都是现金流贴现(DCF)。
你想想看,你买一张债券,未来能拿到两笔钱:
- 利息(Coupon)—— 定期发给你的票息
- 本金(Principal)—— 到期日还你的面值
把这些未来的钱,用合适的折现率「打回」到今天,加总起来,就是债券的理论价格。
公式长这样:
P = Σ [ CFt / (1 + r)^t ]
其中:
P= 债券价格CFt= 第 t 期的现金流(利息或本金)r= 折现率(通常用到期收益率 YTM)t= 期数
核心要点:折现率 r 的选择,直接决定定价结果。我习惯用同期限国债收益率 + 信用利差作为基准,但遇到流动性差的券,利差得手动调整。
3.2 零息债券定价:最简单的模型
零息债券,就是中间不付息,到期一次性还本。说白了,你买的时候打折,到期拿回面值。
定价公式极其简洁:
P = F / (1 + r)^n
其中:
F= 面值(通常100元)r= 年化折现率n= 剩余期限(年)
举个例子:
一张1年期零息国债,面值100元,市场折现率2.5%。
P = 100 / (1 + 0.025)^1 = 97.56 元
你花97.56元买入,一年后拿回100元,赚了2.44元。
我的经验:零息债券的久期就等于剩余期限,所以利率风险很好衡量。我在做利率对冲时,经常用零息债作为「基准工具」来构建组合。
3.3 附息债券定价:更贴近现实
市场上绝大多数债券都是附息债券——定期付息,到期还本。定价公式稍微复杂一点:
P = Σ [ C / (1 + r)^t ] + F / (1 + r)^n
其中:
C= 每期票息F= 面值r= 到期收益率(YTM)t= 第 t 期n= 总期数
举个例子:
一张3年期附息国债,票面利率3%,每年付息一次,面值100元。假设市场YTM为2.8%。
第1年现金流:3 / (1 + 0.028)^1 = 2.92
第2年现金流:3 / (1 + 0.028)^2 = 2.84
第3年现金流:(3 + 100) / (1 + 0.028)^3 = 97.12
合计:P = 2.92 + 2.84 + 97.12 = 102.88 元
你看,当票面利率(3%)高于市场收益率(2.8%)时,债券价格高于面值——这就是溢价。
注意:如果债券是半年付息,公式里的 r 要除以2,期数 n 要乘以2。我曾经在代码里忘了调整付息频率,结果算出来的价格差了整整一个百分点,排查了半小时才发现。
3.4 全价与净价:交易中的「潜规则」
这是新人最容易踩的坑。我来给你讲清楚。
- 净价(Clean Price):债券的「裸价」,不含应计利息。
- 全价(Dirty Price):净价 + 应计利息,是实际交易结算的价格。
为什么要有两套价格?
因为债券是「日计息」的。假设你在一笔付息日之间买入债券,你实际上需要补偿卖方已经持有期间产生的利息。这个补偿就是应计利息。
公式:
全价 = 净价 + 应计利息
应计利息的计算:
应计利息 = 票面利息 × (上次付息日到结算日的天数 / 付息周期天数)
举个例子:
一张债券票面利率4%,半年付息,上次付息日是2024年1月1日。你在2024年4月1日买入,净价报价为101.50元。
应计利息 = 4% × 100 × (91天 / 182天) = 2.00 元
全价 = 101.50 + 2.00 = 103.50 元
你实际要支付103.50元,而不是101.50元。
避坑指南:我曾经在写回测系统时,直接用净价计算组合市值,结果每天的组合价值波动莫名其妙。后来发现,应该用全价计算真实市值,净价只是报价参考。从那以后,我的风控模型里全价和净价是分开存储的。
3.5 知识体系总览
下面这张图,把本章的核心逻辑串起来了:
3.6 实战中的几个提醒
- 折现率的选择:我一般用中债估值收益率作为基准,但遇到信用债,会加上信用利差和流动性溢价。
- 计息基准:国内债券大多用「实际天数/365」,但有些品种用「30/360」。搞错了,应计利息就会算错。
- 节假日处理:付息日如果遇到节假日,要顺延。这个在代码里一定要写清楚,否则回测会出bug。
一个小技巧:在做压力测试时,我习惯先算零息债券的价格变化,再推演到附息债券。因为零息债券的久期更直观,能快速判断利率变动对组合的影响幅度。
好了,债券定价这块,核心就是「把未来的钱折现到今天」。全价和净价的区别,是交易层面的细节,但搞错了会出大问题。嗯,记住一句话:报价看净价,结算看全价。
公众号:蓝海资料掘金营,微信 deep3321