问道量化投资-用MATLAB来敲门-现金流PV的计算公式

本文内容全部来源于《问道量化投资-用MATLAB来敲门》,只是对知识做个梳理,方便学习与记忆。

在资本市场上,占据最大份额的仍然是固定收益类证券,美国的国债市场、公司债市场都是固定收益类证券市场。引发08年金融危机的MBS(Mortgage-backed securities,房产抵押支持证券)也属于固定收益类证券。

现值和终值

债券的核心问题是定价问题,定价技术的核心是理解现金流的(现值Present value)和终值(Future Value)。货币有时间价值,今天的一块钱比明天的一块钱更值钱,因为它可以用于各种投资活动,以钱生息产生回报。如图所示,用向上的箭头代表现金流入,向下的箭头代表现金流出,横轴为时间。

现金流现值PV的计算公式如下:

其中,Pt是在t时刻发生的现金流,r是现金流的贴现率。

现金流的终值FV计算公式如下:

按照固定的支付周期进行固定数量支付的多个现金流,称为年金(annuity)。年金的现值是将发生在不同时间的现金流分别按照现值公式进行折现,将所有现值相加得到年金的现值。

MATLAB为现金流的终值和现值计算提供了4个可用函数。

fvfix:固定现金流终值的计算。语法:FutureVal=fvfix(Rate,NumPeriods,Payment,PresentVal,Due),Rate为名义年利率,NumPeriods为计息周期数,与债券到期日有关,Payment为利息支付额,PresentValue和Due是可选值

fvvar:变动现金流终值的计算。

pvfix:固定现金流现值的计算。

贴现债券计算_零息债券与贴现债券的区别_债券贴现率的计算公式

pvvar:变动现金流现值的计算。语法:PresentVal=pvvar(Cashflow,Rate,IrrCFDates),Cashflow为现金流向量,Rate为对应周期贴现率,IrrCFDates为非周期性折现率时的日期向量。

债券报价和交割价

债券的报价是净价Clean Price,而交割时的价格为含息价Dirty Price,两者之间的差价是在本计息周期已经发生的利息,为应计利息Accrued Interest(AI)。债券报价和交割价之间的关系如图所示。

其中,AI为应计利息,C为息票。

计息标准根据不同的债券条款分为多种,其中较常用的有实际/360、实际/365,30/360等。

基本固定收益工具

(1)美国国债,由美国财政部发行,美国联邦政府税收为其担保,市场认为其没有信用风险,不会违约。但是它仍然受通胀和利率影响。

(2)市政债券,由美国州政府发行,债券担保方式繁多,存在一定的违约风险。

(3)联邦机构债券,面临信用风险,联邦政府不为其担保。

(4)公司债,其风险和监管都比上述严格。一般会有专业的信用评级机构进行评级。

收益率计算

1. 根据贴现率、T-bill发行日、到期日计算债券收益率

对于期限短于一年的贴现债券,其报价方式是贴现率,在计算期限结构时有必要将其转化为收益率。

[BEYield,MMYield]=tbilldisc2yield(Discount,Settle,Maturity),Discount为折现率,Settle为交割日,Maturity为到期日。BEYield为债券市场收益率,按照一年365天计算;MMYield为货币市场收益率,按照一年360天计算。

2. 根据债券收益率计算贴现率

Discount=tbillyield2disc(Yield,Settle,Maturity,Type)

3. 零息债券(zero-coupon bond)到期收益率函数

一些正常的付息日由于在零息债券中并不付息,因此称为准息票日。当到期日在下一个准息票日之内和之外时收益率有不同的计算方法。语法为:

Yield=zeroyield(Price,Settle,Maturity,Period,Basis)

Price为债券价格,Period为一年计息频率,Basis为应计天数规则

4. 固定收益证券的到期收益率

Yield=bndyield(Price,CouponRate,Settle,Maturity,Period,Basis)其中CouponRate为债券息票率

5. T-bill的到期收益率计算

[MMYield,BEYield,Discount]=tbillyield(Price,Settle,Maturity)

价格计算

在MATLAB中计算一个包含有息票率、结算日、到期日的债券的现金流、支付日、折现因子等的函数是cfamounts.

[CFlowAmounts,CFlowDates,TFactors,CFlowFlags]=cfamounts(CouponRate,Settle,Maturity,Period,Basis….)

CFlowAmounts为现金流数量,CFlowDates为对应现金流的日期,TFactors为对应现金流的折现因子,CFlowFlags为现金流类型。

2. 固定收益证券价格

贴现债券计算_零息债券与贴现债券的区别_债券贴现率的计算公式

[Price,AccruedInt]=bndprice(Yield,CouponRate,Settle,Maturity,Period,Basis,….)其中,Price为债券净价,AccruedInt为应计利息。

3. 贴现类证券的价格

Price=prdisc(Settle,Maturity,Face,Discount,Basis)

4. T-bill的定价

Price=tbillprice(Rate,Settle,Maturity,Type)

5. 回购协议定价

回购协议类似短期票据抵押贷款,在解决短期流动性和隔夜资金头寸配置上有重要作用。

TBEDiscount=tbillrepo(RepoRate,InitialDiscount,PurchaseDate,SaleDate,Maturity)

RepoDate为年化回购收益率,InitialDiscount为购买日的初始贴现率,PurchaseDate为回购协议签订日期,SaleDate为回购日期,Maturity为T-bill到期日。输出参数TBEDiscount为回购盈亏平衡点的贴现率。

6. CD类产品定价

CD是可转让定期存单的缩写,是货币市场上的主要工具,以短期为主,类似repo,存续期内并不支付利息。其发行不是贴现发行,而是按照面值发行,利息根据票面标定息票,按单利计算,计息规范为实际/360。CD的收益率是指在结算日购买,持有到到期日的收益率。CD的收益率是指在交割日购买,持有到期的收益率。

AccrInt=cdai(CouponRate,Settle,Maturity,IssueDate,Basis)计算应计利息

Yield=cdyield(Price,CouponRate,Settle,Maturity,IssueDate,Basis)计算收益率

[Price,AccrInt]=cdprice(Yield,CouponRate,Settle,Maturity,IssueDate,Basis)计算价格与应计利息

敏感性分析

在使用下列函数前,大家需要知道现金流久期和凸性的概念,这里不赘述。

1. 现金流久期和凸性的计算

[Duration,ModDuration]=cfdur(CashFlow,Yield)

Duration为现金流的麦考利久期,ModDuration为现金流的修正久期。

CFlowConvexity=cfconv(CashFlow,Yield)计算现金流凸性。

2. 债券的久期计算

[ModDuration,YearDuration,PerDuration]=bnddurp(Price,CouponRate,Settle,Maturity,Period,Basis,…)

YearDuration为债券的麦考利久期,以年为计算单位。PerDuration则以半年为计算单位。

[YearConvexity,PerConvexity]=bndconvp(Price, CouponRate,Settle,Maturity,Period,Basis,…)

YearConvexity是以年为计量单位的债券凸性,PerConvexity是以Period参数为计量单位的凸性。

(未完待续)

原创文章,作者:OK财经,如若转载,请注明出处:https://www.myokie-paris.com/news/20210411/1874.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息