债券估值-零息债券、附息债券和永久债券

概述

债券估值用于计算债券的内在价值,债券的价值或内在价值是指债券未来现金流入量的现值,即债券各期利息收入的现值加上债券到期偿还本金的现值之和。只有债券的内在价值大于购买价格时,才值得购买。


债券估值遵循以下原则:金融证券价值=未来现金流现值


期限 8 年,面值 1000 美元,市场年利率 8%,每半年付息一次的零息债券?

票面利率 10%的附息债券?票面利率 10%的永继债券?

import numpy as np

lxbpdl=np.pv(rate=0.04,nper=16,pmt=0, fv=1000)

print(-round (lxbpdl,2))

fxbpd=np.pv(rate=0.04, nper=16, pmt=50, fv=1000)

print(-round(fxbpd,2))

yxbpd=1000*0.1/2/0.04

print(yxbpd)

零息债券估值

零息债券发行时按低于票面金额的价格发行,而在兑付时按照票面金额兑付,其利息隐含在发行价格和兑付价格之间。

由于零息债券是在其存续期内不支付利息的债券,因此在债券到期日之前的任何时刻都无现金流,而在债券到期日流入的现金流仅为债券的票面价值。零息债券的定价模型为:

21d4e6b04fe1841858eb318a0e728a72.png


P:债券价格 F:债券面值 N:债券期限 y:贴现率


若零息债券的期限不足一年,如距离到期日的天数为T,则债券价格为:

d8d41dfbe12b4903a1e761b6a7a0ee8a.png


附息债券估值

附息债券按照票面金融计算利息,投资者不仅可以在债券期满时收回本金(面值),而且可以定期获得固定的利息收入。所以投资者未来的现金流包括两部分:本金和利息。

附息债券的价值计算公式为:

087f388a39c974fbcc2daf9bb11dad5a.png


C 表示每期支付的利息



永久债估值

永久债是不偿还本金,现金流量分布没有到期日,永不停止定期支付利息的一种债券—永续年金形式的现金流。优先股也可视为永久债券。


定价模型:永久债券价值(永续年金现值)=利息/折现率


73326a265f83ee52f5eaa28f36327ce1.png


代码实现:

期限 8 年,面值 1000 美元,市场年利率 8%,每半年付息一次的零息债券?

票面利率 10%的附息债券?票面利率 10%的永继债券?

import numpy as np

lxbpdl=np.pv(rate=0.04,nper=16,pmt=0, fv=1000)

print(-round (lxbpdl,2))

fxbpd=np.pv(rate=0.04, nper=16, pmt=50, fv=1000)

print(-round(fxbpd,2))

yxbpd=1000*0.1/2/0.04

print(yxbpd)

在MATLAB中,计算附息债券的现值通常涉及到贴现现金流(Discounted Cash Flow, DCF)的概念。对于附息债券,其现值计算涉及未来利息支付和本金偿还。假设我们有以下信息: 1. **债券面值** (`ParValue`): 债券的初始金额。 2. **票面利率** (`CouponRate`): 每期支付的固定利息率。 3. **计息频率** (`CompoundingFrequency`): 利息是否按年、季度等复利计算。 4. **债券期限** (`MaturityYears`): 债券从发行到到期的时间。 5. **市场利率(折现率)** (`MarketRate`): 投资者希望获得的投资回报率。 你可以使用以下步骤计算附息债券的现值: ```matlab % 定义变量 ParValue = 1000; % 假设面值为1000元 CouponRate = 0.05; % 票面利率5% CompoundingFrequency = 1; % 年付息 MaturityYears = 5; % 期限为5年 MarketRate = 0.06; % 市场利率6% % 计算每年支付的利息 AnnualInterest = ParValue * CouponRate; % 使用复合利率计算现值函数 PV = zeros(MaturityYears + 1, 1); PV(1) = 1; % 第一年现值为1(因为没有现金流) for t = 2:MaturityYears + 1 TimeToPay = t - 1; % 计算支付的现金流量(包括利息和最终本金) CashFlow = AnnualInterest / CompoundingFrequency + ParValue / (CompoundingFrequency^(TimeToPay)); % 使用市场利率计算现金流量的现值 PV(t) = PV(TimeToPay) * ((1 + MarketRate / CompoundingFrequency) ^ (-TimeToPay)); % 加上累计的现金流现值 PV(t) = PV(t) + CashFlow * PV(TimeToPay); end % 结果就是整个债券的现值 BondPresentValue = PV(end); % 结果展示 fprintf('附息债券现值: %.2f 元\n', BondPresentValue); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值