# 金融 / 债券 / 债券收益率 ## `bondAccruedInterest4(settlement_date)` 声明:function 返回固定利率债券的应计利息 | 参数 | 类型 | 说明 | | ----------------- | -------- | ------ | | `settlement_date` | datetime | 结算日 | 返回:float ## `bondCleanPrice(settlement_date)` 声明:function 返回债券净价 | 参数 | 类型 | 说明 | | ----------------- | ----------- | ------ | | `settlement_date` | t_date_time | 结算日 | 返回:real ## `bondDirtyPrice(settlement_date)` 声明:function 返回债券全价 全价交易是指债券价格中把应计利息包含在债券报价中的债券交易。应计利息是指从上次付息日到结算日(购买日)债券所应该支付的应计利息。 目前在常见数据提供商提供的债券数据中(沪深交易所债券2002年后,银行间债券2001年7月后),都是以净价披露的。 即:债券全价=债券净价+应付利息 在净价交易制度下,交易系统直接实行净价报价,同时显示债券成交价格和应计利息额,并以两项之和为债券买卖价格;结算系统直接实行净价结算,以债券成交价格与应计利息额之和为债券结算交割价格。也就是说,在债券现券买卖中,债券的报价采用净价,而实际买卖价格和结算交割价格为全价 | 参数 | 类型 | 说明 | | ----------------- | -------- | ------ | | `settlement_date` | datetime | 结算日 | 返回:float ## `bondYieldToMaturity(settlement_date)` 声明:function 返回指定日的到期收益率(%)。在不设置数据供应商的情况下,默认先调用中证数据,没有值时再调用TS算法处理。若直接调用TS算法,设置供应商pn\_ bonddataprovider()为2。 针对不同的债券,不同的代偿期,到期收益率采取不同的算法: 到期收益率(最后付息周期的定期付息债、待偿期在一年及以内的到期一次还本付息债券和零息债券),见函数BondYieldToMaturity1说明 到期收益率(待偿期在一年以上的到期一次还本付息债券和零息债券),见函数BondYieldToMaturity2说明 到期收益率(不处于最后付息周期的定期付息债),见函数BondYieldToMaturity3说明 此模型为常见债券计算到期收益率的总接口 | 参数 | 类型 | 说明 | | ----------------- | -------- | ----------------------- | | `settlement_date` | datetime | 结算日;Option:是否行权 | 返回:float ### 示例 范例01:调用函数 ```tsl 债券SH010107在20171228日收盘买入持有到到期的收益率 Endt := 20171228T; Setsysparam(pn_Stock(), "SH010107"); Setsysparam(pn_bonddataprovider(), 2); // 数据供应商选择TS计算 Return BondYieldToMaturity(Endt); ``` ## `bondYieldToMaturity1(pv, fv, d, ty)` 声明:function 返回最后付息周期的定期付息债、待偿期在一年及以内的到期一次还本付息债券和零息债券的到期收益率 其中: y: 到期收益率; FV:到期兑付日债券本息和 PV:债券全价 D:债券结算日至到期兑付日的实际天数 TY:当前计息年度的实际天数,算头不算尾 | 参数 | 类型 | 说明 | | ---- | ----- | ------------------------------------------------------- | | `pv` | float | 实数,债券全价 | | `fv` | float | 实数,债券到期兑付现金流(本息和) | | `d` | int | 整数,结算日到到期日的实际天数。(含2月29) | | `ty` | int | 整数,本期计息年度实际天数(计息起始日为基准,含2月29) | 返回:float