matlab投资组合代码「双重代码理论」 美国冻结中国资金「外汇账户被冻结怎么办」 兴业添利债券型证券投资基金2019年第1次分红公告发布「兴业银行添利1号净值」 轻仓赚钱重仓亏「私募基金亏损」 初级会计实务干货 会计科目背诵顺口溜一定要背嘛「会计科目表背诵顺口溜」 债券牛市结束了吗「债券市场牛市和熊市」 广发基金金牛经理「获金牛奖次数最多的基金」 中国或将美债清零「中国抛售2700亿美债是真的」 整个基金市场都在跌还能买吗「2021年最有潜力的低估基金」 华泰固收张继强介绍「华泰金锐强债」 债基这几天亏得很严重「纯债基最近普遍亏损为什么」 微信里的理财通怎么样?安全吗?「微信理财通怎么解除」 关于美联储缩表 这七大问题你有必要知道「美联储9月缩表」 去杠杆的两难:金融部门大幅缩表,实体杠杆仍在上升「金融杠杆怎么玩」 银行间债券市场债券借贷业务管理办法「银行间债券交易规则」 华泰债基大跌「泰达宏利周期混合(162202)」 德国三十年国债「德国发行零利率国债」 商业银行资产负债配置「债券组合」 基金的a类和c类有什么区别 一文读懂如何选择「同一个基金的A和C有什么区别」 恒生波段盈利系统「恒生科技低估」 京东购买国美可转债「多账户认购可转债」 【财经数据】中国发行40亿欧元主权债券,申购量达5倍「中国首次负利率发行欧元主权债券」 债券基金出现波动 我们的投资会受影响吗知乎「债券基金的收益受市场利率的影响」 持有至到期投资会计核算「持有至到期投资交易费用计入哪里」 衡水银行是国有银行吗「外资持股比例限制」 债券市场直接融资「加强地方债发行」 基金的ABC什么意思「基金定投abc什么意思」 方正证券总盈亏「方正证券好用吗」 终于有人把债券基金说清楚了 「终于有人把中国股市说清楚了」 中民投回应 引入战略投资将有重要进展吗「引入投资」 基金直销业务「基金公司直销平台」 基金定投与逢跌买入哪个合适?「定投还是逢低买入」 信达证券 债券承销「中信建投债券承销部怎么样」 实践中通常采用信用评级来确定不同债券的违约风险大小「债券信用评级的原则和依据」 2020年抗疫债券「抗疫债券」 债务危机对债券基金影响「市场避险情绪」 中国工商银行9月份国债购买「工商银行永续债」 博时月月享30天持有短债c「债基长期持有」 坚持扩大开放促进合作共赢「开放共赢」 家电垃圾回收「家电回收行业」 抑制需求拉动通货膨胀「人民币通胀」 金融支持农业绿色低碳发展「金融支持产业振兴服务乡村振兴」 承债式收购的风险「收购债权的风险」 基金定投的5个坑,你中了几个「基金定投亏了怎么办」 美国对外净资产「中国净资产600万」 俄罗斯国家信用破产「各国国债」 2020年12月21日沪深股市交易提示图「2021年9月18日晚间股市公告」 美国向乌克兰派兵「俄罗斯干涉乌克兰内政」 基金 股票和短债三者有什么区别「债券股票证券投资基金的区别」 助推文旅产业「助力小微企业融资发展」
您的位置:首页 >股票 >

matlab投资组合代码「双重代码理论」

2023-01-08 13:00:45来源:爱理财的玄学少年小陈
债券收益率计算

本文介绍固定收益工具箱和金融工具箱中短、长期国库券、零息债券、付息债券、政府 票据及其他常见固定收益证券的收益率的 matlab 计算。

短期国库券收益率

短期国库券(Treasuyr Bill)是由政府部门发行、以政府信用作担保的短期债券,期限通 常少于一年,主要用于弥补财赤字及为到期的政府债券提供融资。短期国库券流动性很强, 是重要的货币市场工具。如果知道债券价格、结算日和到期日,但贴现率未知,则可以调用函数 tbillyield 计算短期国库券的收益率,

调用方式

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

输出参数

MMYield % 货币市场收益率,按 actual/360

BEYield % 债券市场收益率,按 actual/365

Discount %债券贴现率,按 actual/360

如将短期国库券贴现率转换成收益率,可调用固定收益工具箱中 tbilldisc2yield 函数,

调用方式

[MMYield,BEYield]=tbilldisc2yield(Discount,Settle,Maturity)

其中输出参数 MMYield、BEYield 分别是货币市场和债券市场的收益率

关于短期国库券中再回购盈亏平衡点的贴现率,可以调用函数 tbillrepo,

调用方式

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

输入参数

RepoRate %年化(360 天)再回购回购率

InitialDiscount % (购买日)初始贴现率

PurchaseDate %购买日

SaleDate %出售日

Maturity %到期日

零息债券收益率

已知零息债券(可以是短期或长期)的价格,可调用 zeroyield 函数计算零息债券的到期 收益率,

调用方式

Yield = zeroyield(Price,Settle,Maturity)

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

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

付息债券价格/到期收益率

当债券的息票率及支付日期固定时,可调用 bndyield 函数计算付息债券的到期收益率,

调用方式

Yield = bndyield(Price,CouponRate,Settle,Maturity)

Yield = bndyield(Price, CouponRate, Settle, Maturity, Period, Basis, EndMonthRule, … IssueDate, FirstCouponDate, LastCouponDate, StartDate, Face)

输入参数

Price % 债券净价

CouponRate % 息票率

Settle % 交收日,指债券二级市场上第一次进行买卖的日期

Maturity % 到期日

Period % (Optional)每年发放息票的次数,默认值=2

Basis % (Optional)债券的日计数基准类型,表示为每月的天数/该年的天数, 0(默认值)– 表示实际/实际。1 – 30/360,2 – 实际/360,3 – 实际/365。

EndMonthRule % (Optional)月末法则,每月最后一日的处理方式。当到期日为月末,而且月末小于或等于 30 日时,该法则有效。0 表示忽略该法则,表明债券的息票支付日在实际支付日期;默认值 为 1,表示债券的息票支付日期总是在月末

IssueDate % (Optional)债券发行日

FirstCouponDate % (Optional)债券第一次付息日,当 FirstCouponDate 和 LastCouponDate 都被指定时, FirstCouponDate 优先决定息票支付结构

LastCouponDate % (Optional)债券最后一次付息日

StartDate % (Optional)开始日期,如果 StartDate 未被规定,开始日期就是结算日期

Face % (Optional) 债券面值,默认值=100

阶息债券收益率

阶息债券是一种以固定时间确定息票数量的债券,类似于固定息票债券,但阶息债券可 能拥有不同的支付周期和利息基底。调用 stepcpnyield 函数可计算阶息债券的收益率,

调用方式

YTM = stepcpnyield(Price, Settle, Maturity, ConvDates, CouponRates)

输入参数

ConvDates %表示结算日以后的日期变化矩阵,大小=债券数量乘以变化的最大数,用 NaN 填充未被指 定的记录。

CouponRate % 表示转换利息矩阵,大小=债券数量乘以变化的最大数 1

存款证(CD)收益率

存款证书(Certificate of Deposit),简称 CD,属于定期存款的一种,通常由银行及存款机构 所发行的财务产品。CD 与一般的活期存款一样,均受到保障,几乎没有风险,差别在于存 款证书拥有特定存款期限和固定利息,并可在到期时取回本金和应收的利息。同时存款证书 是一种高度可转让债券,在二级市场具有较强的流动性。可调用函数 cdyield 计算存款证的 收益率(单利),

调用方式

Yield = cdyield(Price, CouponRate, Settle, Maturity, IssueDate,Basis)

输入参数中 Price 为债券净价。如果是全价,调用函数 cdai 计算应计利息,

调用方式

AccrInt = cdai(CouponRate, Settle, Maturity, IssueDate, Basis)

住房抵押贷款证券化(MBS)收益率

住房抵押贷款证券化(MBS: Mortgage-Backed Securitization),指金融机构(主要是商业银 行)把自己所持有的流动性较差但具有未来现金流的住房抵押贷款汇聚重组为抵押贷款群组。 由证券化机构以现金方式购入,经过担保或信用增级后以证券的形式出售给投资者的融资过 程。旨在将原来不易被出售给投资者的缺乏流动性但能够产生可预期的现金流入的资产,打 包重组后转换成可以在市场上流动的证券。可调用 mbsprice 函数计算 MBS 的收益率

调用方式

[MYield, BEMBSYield] = mbsyield(Price, Settle, Maturity, IssueDate,… GrossRate, CouponRate, Delay, PrepaySpeed, PrepayMatrix)

输入参数

Price % 面值 100 的债券净价

GrossRate % 总息票率,含费用

CouponRate % 净息票率,不含费用,默认为 GrossRate

Delay % (可选)业主付款与债券持有人收款之间的延迟(以天为单位) 0—默认(没有延迟)

PrepaySpeed % (可选)提前还款速度,(年度)条件提前还款比率(conditional prepayment rate , CPR)与公共 证券协会提前还款基准模型(public securities association, PSA,包括了月度的 CPR 序列)的 关系,通常默认 0=没有预付,如果输入自定义提前偿还矩阵,则 PrepaySpeed =[ ]

PrepayMatrix % (可选)提前还款矩阵,大小为 max(TermRemaining)*NMBS,即剩余期限最大值*MBS 的 数量,该矩阵的每一列对应一个 MBS,每一行对应自结算日后的剩余月份数,若缺损, 设置为 NaNs

输出参数

MYield % 到期收益率

BEMBSYield % 债券等价收益率

下面再介绍几个常用的收益率换算。

Return = effrr(Rate, NumPeriods) %输入年名义利率和一年付息次数,输出有效利率

Return = nomrr(Rate, NumPeriods) %输入有效利率和一年付息次数,输出年名义利率

Return = taxedrr(PreTaxReturn, TaxRate) %输入年名义收益率和税率,输出税后收益率

债券组合的收益率

对于包含多支债券的债券组合,能用各债券收益率的加权平均计算组合的收益率么?答 案是否定的。正确的做法是:先计算单个债券的价格及市值(债券份数与价格之积),得到 债券组合的当前价值P,然后将债券组合看成一个单一的债券,根据各债券的现金流信息 cf,i=1,2,…n,再根据所有现金流的现值之和等于价值P,求出贴现率,即为债券组合的收 益率;也可以利用内部回报率的方法计算,故到期收益率也称为内部回报率。

债券定价

本节介绍固定收益工具箱和金融工具箱中短、长期国库券、零息债券、付息债券、政府 票据及其他常见固定收益证券的定价计算。债券定价的基本模型可表述为:

其中 V 为债券的内在价值, t c 为第 t 期 ( 1,2,..., ) t T  的现金流, k 为每期的市场利率(也称贴 现率), T 为总期数。

短期国库券价格

如已知短期国库券的收益率或贴现率,可调用函数 tbillprice 计算债券价格,

调用方式

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

输入参数

Rate % 债券市场收益率、货币市场收益率或者贴现率

Settle % 债券的结算日,

Maturity % 债券的到期日

Type % Type (Optional) 债券收益率类型,1=货币市场(默认),2=债券市场,3=贴现率

零息债券价格

已知零息债券(可以是短期或长期)的收益率,可调用 zeroprice 计算债券价格函数,

调用方式

Price = zeroprice(Yield, Settle, Maturity, Period, Basis, EndMonthRule)

输入参数

Yield % 债券收益率

Settle % 交收日,指债券二级市场上第一次进行买卖的日期

Maturity % 到期日

Period % (Optional)每年发放息票的次数,默认值=2

Basis % (Optional)债券的日计数基准类型,表示为每月的天数/该年的天数,

付息债券价格

调用 Matlab 金融工具箱中 bndprice 函数可计算付息债券的价格,

调用方式

[Price, AccruedInt] = bndprice(Yield, CouponRate, Settle, Maturity)

[Price, AccruedInt] = bndprice(Yield, CouponRate, Settle, Maturity, Period, Basis,… EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate, StartDate,Face)

输出参数

Price % 债券的净价

AccruedInt % 应计利息,债券购买者在非利息支付日买入债券,则在下一个利息支付日,将受到一个 利息支付期的利息,其中一部分利息(利息*原持有者持有天数/利息支付周期天数)应 给回债券出售者

阶息债券价格

调用 stepcpnprice 函数可为阶息债券定价,

调用方式

[Price, AccruedInterest] = stepcpnprice(Yield, Settle, Maturity, ConvDates, CouponRates, .. Period, Basis, EndMonthRule, Face

公司债券价格

首先根据已知信息,利用命令函数 cfamounts 找到现金流及与它对应的日期,然后将日 期转化成时间序列格式,

调用方式

[CFlows, CDates, TFactors, CFlowFlags] = cfamounts(CouponRate,Settle,Maturity, Period, Basis, EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate,StartDate,Face)

输出参数

CFlows % 现金流的金额,第一个元素为负,表示有利息支付

CDates % 现金流发生的日期

TFactors % 时间因子,对应应计利息,默认 Default=2,对应现金流类型 0 至 7 以及 13;取值为 1,对应现金流类型 8 至 12

CFlags % 现金流类型符号,如 0 表示结算日有应计利息支付,3 表示名义息票现金 流,4 表示到期日按面值加应计息票,等等

存款证(CD)定价

调用 cdprice 函数可为存款证定价,

可转换债券定价

调用 cbprice 函数可为可转换债券定价,

调用方式

CbMatrix=cbprice(RiskFreeRate, StaticSpread, Sigma, Price,ConvRatio,NumSteps… IssueDate, Settle, Maturity,CouponRate)

[CBMatrix, UndMatrix, DebtMatrix, EqtyMatrix]=cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio, NumSteps, IssueDate, Settle,Maturity,CouponRate, Period,… Basis,EndMonthRule, DividendType, DividendInfo, CallType, CallInfo,TreeType)

输入参数

RiskFreeRate % 无风险利率

StaticSpread % 静态价差,为补偿超过无风险部分的信用风险

Sigma % 股票波动的标准差

Price % 股票价格

ConvRatio % 转换比例,默认面值 100

NumSteps % 转换步数

DividendType % 红利类型(0 – 现金红利 (默认) 1 – 红利收益 2 – 连续红利收益)

DividendInfo % 除息信息,第一列为除息日期,第二列为除息数量,默认为没有除息

CallType % 看涨期权类型(0 – 现金全价 (默认) 1 – 净价)

CallInfo % 看涨期权信息,第一列为日期,第二列为面值 100 的债券转换价格

TreeType % 树的类型 (0 – 二叉树 (默认) 1 – 三叉树)

输出参数

CbMatrix %可转换债券价格的二叉树矩阵,其元素等于 DebtMatrix 与 EqtyMatrix 之和,第一行第一列元 素为债券的可转换价格

UndMatrix %二项式形式下股票价格矩阵

DebtMatrix %二项式形式下可转换债券的债券部分价值矩阵

EqtyMatrix %二项式形式下可转换债券的权益部分价值(期权价值)矩阵,最后一列元素在可转换(超 过股价)时,取值为比率*股价,不可转换时取值为 0,其他元素由二叉树模型倒推

住房抵押贷款证券化(MBS)定价

调用 mbsprice 函数可为以房地产抵押做担保(MBS)的证券定价,

调用方式
[Price, AccrInt] = mbsprice(Yield, Settle, Maturity, IssueDate, GrossRate, Delay, PrepaySpeed, PrepayMatrix)

郑重声明:本网站所有信息仅供参考,不做交易和服务的根据,如自行使用本网资料发生偏差,本站概不负责,亦不负任何法律责任。如有侵权行为,请第一时间联系我们修改或删除,多谢。