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 类型标量或向量,表示债券的起息日。
maturity 与 start 等长的 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
相关函数:bondAccrint、bondConvexity、bondDirtyPrice、bondDuration、bondYield