天软金融分析.NET函数大全 > 金融函数 > 债券 > 债券收益率

BondYieldToMaturity3    

简述
规则付息且非最后付息周期债券的到期收益率中间函数。付息次数处理—完整周期采用+1,非完整周期计算比例。(非完整周期主要是首个周期以及最后付息周期)。
定义
BondYieldToMaturity3(PV:Real;CashFlow:Array;f:int;d:int;TS:int):Real
参数
名称类型说明
PVReal实数,债券全价
CashFlow:数组,未来现金流数据,字段见现金流返回值。
f:整数,频率
d:整数,债券结算日至下一付息日之间的实际天数(含2月29)
TS :整数,当前付息周期的实际天数(计息日为基准,含2月29)
返回Real实数,到期收益率。
  • 算法


    其中,Ci:每期现金流;
    td:债券最后一期计息起始日到到期日天数(含2月29)
    TY:债券最后一期完整周期天数(非完整周期表示最后一期计息起始日到下一虚拟付息日天数,含2月29)
    范例

    已知某个固定利率周期性付息债券在20171220T全价102.5,频率为1,未来现金流数据如下所示:
    计息起始日 付息日 本期付息 本期利率(%) 本期付本金 剩余本金 现金流
    20171028T 20181028T 3.5 3.5 0 100 3.5
    20181028T 20191028T 3.5 3.5 50 50 53.5
    20191028T 20201028T 1.75 3.5 50 0 51.75

    求持有到期的到期收益率
    Endt:=20171220T;
    BondCash:=array(("计息起始日":20171028T,"付息日":20181028T,"现金流":3.5),

     ("计息起始日":20181028T,"付息日":20191028T,"现金流":53.5),

    ("计息起始日":20191028T,"付息日":20201028T,"现金流":51.75));
    t:=BondCash[0,"付息日"]-Endt;
    TS:=BondCash[0,"付息日"]-BondCash[0,"计息起始日"];
    PV:=102.5;
    f:=1;
    Return BondYieldToMaturity3(PV,BondCash,f,t,TS);
    返回:0.0261321222858299
相关