当前位置:   article > 正文

Matlab证券回报率,MATLAB固定收益证券笔记

月末法则

月末法则

2015.2.28,半年付息。有月末法则,下次付息为2015.8.31;没有月末法则,下次付息为2015.8.28.

MATLAB默认第一种。

应计天数

计算一下天数,持有固定收益证券的时间不同,收益自然不同,时间很关键。

应计天数是指,债券起息日或上一付息日至结算日的天数,在此期间发生的利息称为应计利息。

ü  Act/Act:按照实际天数计算,分闰年;

ü  Act/360:一年360天;

ü  Act/365:一年365天;

ü  30/360(European):每月30天,每年360天,起始日或到期日为31日的改为30日;

ü  30/360(ISDA):每月30日,每年360天,起始日或到期日为31日改为30日,到期日为31日,起始日不为30日、31日,则不变;

ü  30/360(PSA):每月30日,每年360天,起始日或到期日为31日改为30日,到期日为31日,起始日不为30日、31日,则不变,2月最后一天为30日;

ü  30/360(SIA):每月30日,每年360天,起始日或到期日为31日改为30日,到期日为31日,起始日不为30日、31日,则不变,不是闰年,起始日到期日都为2月28日,则都改为30日,闰年,起始日到期日都为2月29日,则改为30日;

ü  Act/365(Japanese):每月30天,每年365天,不考虑闰年;

概念就到这里,关键是怎么使用Matlab计算:

Act/360的调用:daysact360(startday,endday)

30E/360的调用:daysact360e(startday,endday)

30/360(ISDA)的调用:daysact360isda(startday,endday)

30/360(PSA)的调用:daysact360psa(startday,endday)

例1.计算2000.1.1到2000.3.1的间隔天数,采用上述不同的法则。

PS:daysif函数——daysdif - Days between dates for any day-count basis.

NumDays = daysdif(StartDate, EndDate,Basis) returns the number of days between dates StartDate and EndDate using thegiven day-count basis.

basis=0 1 2 3 4 5 6 7,默认为0计算债券距离到期日还需要支付的票息次数

函数cpncount

NumCouponsRemaining= cpncount(Settle,  Maturity, Period,  Basis,  EndMonthRule,  IssueDate, FirstCouponDate,  LastCouponDate)

参数含义:

NumCouponsRemaining剩余的票息支付次数

Settle债券结算日

Maturity债券到期日

Period年付息次数

Basis应计天数的计算法则

EndMonthRule月末法则(0或1,1为default)

IssueDate发行日

FirstCouponDate首次支付票息日期

LastCouponDate最后一次支付票息日期

例2.债券结算日1997.9.14,到期日分别是2000.9.30、2001.10.31、2002.11.30,问债券支付利息的次数。计算前一个票息支付日

函数cpndatep

PreviousCouponDate= cpndatep(Settle, Maturity, Period, Basis, EndMonthRule, IssueDate,FirstCouponDate, LastCouponDate)

例3.债券结算日1997.9.14,到期日分别是2000.9.30、2001.10.31、2002.11.30,计算前一个票息支付日。

l  计算下一个票息支付日

函数cpndaten

PreviousCouponDate=cpndaten(Settle,Maturity, Period, Basis, EndMonthRule, IssueDate, FirstCouponDate,LastCouponDate)

例4.债券结算日1997.9.14,到期日分别是2000.9.30、2001.10.31、2002.11.30,计算下一个票息支付日。

计算债券现金流

函数cfdates

CFlowDates=cfdates(Settle,Maturity, Period, Basis, EndMonthRule, IssueDate, FirstCouponDate,LastCouponDate, StartDate)

例5.债券结算日1997.9.14,到期日分别是2000.9.30、2001.10.31、2002.11.30,计算现金流日期。

函数datestr的用法DateString = datestr(t)

MATLAB函数 会将 datetime 数组 t 中的日期时间值转换为表示日期和时间的文本。datestr 返回包含 m 行的字符数组,其中 m 是 t 中的日期时间值的总数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/251072
推荐阅读
相关标签
  

闽ICP备14008679号