bondDuration

语法

bondDuration(start, maturity, issuePrice, coupon, frequency, dayCountConvention, bondType, settlement, price, priceType, [benchmark='Excel'])

别名:fiDuration

详情

返回面值为 100 的债券的麦考利久期(Macauley Duration)。麦考利久期利用折现后的债券现金流的加权平均来计算债券的到期时间。

返回值:DOUBLE 类型标量或向量。

参数

注意:所有输入向量必须等长,输入标量将自动扩展以匹配其它向量的长度。

start DATE 类型标量或向量,表示债券的起息日。

maturitystart 等长的 DATE 类型标量或向量,表示债券的到期日。

issuePricestart 等长的数值型标量或向量,表示债券的发行价格。贴现债需指定真实发行价(通常小于100);其他债券通常为100。

coupon 数值型标量或向量,表示债券的票面利率。例如 0.03,表示票息为 3%。

frequency 整型或 STRING 类型的标量或向量,表示债券的付息频率。可选值为:
  • 0/“Once”:到期一次还本付息
  • 1/“Annual”:每年付息一次
  • 2/“Semiannual:每半年付息一次
  • 4/“Quarterly”:每季度付息一次
  • 12/“Monthly”:每月付息一次
dayCountConvention STRING 类型的标量或向量,表示债券的计息日数惯例。可选值为:
  • "Thirty360US":US (NASD) 30/360
  • "ActualActual":实际/实际
  • "Actual360":实际/360
  • "Actual365":实际/365
  • "Thirty360EU":欧洲 30/360
bondType STRING 类型标量或向量,表示债券的类型。可选值为:
  • "FixedRate":固定利率债券,定期按息票利率支付利息。
  • "Discount":贴现债券,没有利息支付,以贴现方式发行的债券,期末FV=面值。
  • "ZeroCoupon":零息债券,期末一次性支付利息和面值,期末FV=面值+利息。

settlement DATE 类型标量或向量,表示债券的结算日,即购买日期。

price 数值型标量或向量,具体含义取决于 priceType 的取值:
  • priceType 为 "YTM" 时,price 表示债券的到期收益率;
  • priceType 为 "CleanPrice" 时,price 表示债券的净价;
  • priceType 为 "DirtyPrice" 时,price 表示债券的全价。

price 数值型标量或向量,表示债券的到期收益率。

priceType STRING 类型的标量或向量,用于指定债券价格类型。目前仅支持 "YTM"(到期收益率)。

benchmark 可选参数,STRING 类型标量,表示算法参考基准。目前仅支持 “Excel”(excel 中的算法)。

例子

现计算 2023年1月1日 购买,2030年12月31日 到期的债券的久期。其年息票利率为 0.05,预计收益率为 0.06,付息频率为每年一次,日计数基准为实际/实际。

bondDuration(start=2023.01.01, maturity=2030.12.31, issuePrice=100, coupon=0.05, frequency=1, dayCountConvention="ActualActual", bondType="FixedRate", settlement=2023.04.01, price=100.2143, priceType="CleanPrice")

// output: 6.538763

相关函数bondAccrintbondCashflowbondConvexitybondDirtyPricebondYield