bondCashflow

语法

bondCashflow(start, maturity, coupon, frequency, dayCountConvention, bondType, [mode='Vector'])

详情

计算面值为 100 元的债券的现金流,支持固息债券,零息债券和贴现债券。

返回值

  • mode = "Vector",则返回 DOUBLE 类型的向量或数组向量,表示单只或多只债券的现金流金额。

  • mode = "Table",则返回一个表或由表组成的元组,表示单只或多只债券的现金流明细。每个表包含以下字段:

    • paymentDate:支付日,DATE 类型。

    • coupon:利息金额,DOUBLE 类型。

    • notional:本金,DOUBLE 类型。

    • total:总金额,DOUBLE 类型。

参数

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

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

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

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=面值+利息。
mode 可选参数,STRING 类型标量或向量,用于指定结果的输出格式。可选值包括:
  • "Vector"(默认值):只返回现金流金额。
  • "Table":返回现金流明细表。

例子

frequency="Annual"
start=2022.09.28
maturity=2025.09.28
coupon=0.078
bondCashflow(start=start, maturity=maturity, coupon=coupon, frequency=frequency, dayCountConvention="Thirty360US", bondType="FixedRate")

// output: [7.8,7.8,107.799999]

bondCashflow(start=start, maturity=maturity, coupon=coupon, frequency=frequency, dayCountConvention="Thirty360US", bondType="FixedRate", mode="Table")

/* output:
paymentDate coupon notional total              
----------- ------ -------- ----------
2023.09.28  7.8    0        7.8                
2024.09.28  7.8    0        7.8                
2025.09.28  7.8    100      107.799999

相关函数bondAccrintbondConvexitybondDirtyPricebondDurationbondYield