bondForwardPricer

首发版本:3.00.6

语法

bondForwardPricer(instrument, pricingDate, discountCurve)

详情

对债券远期进行定价,返回债券远期在指定定价日的净现值(NPV)。定价时使用输入的折现曲线计算标的债券的远期价值,并根据约定的执行收益率(strike)计算债券远期合约的价值。

参数

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

instrument INSTRUMENT 类型标量或向量,表示需要定价的债券远期产品。债券远期产品所需的关键字段,详见债券远期产品字段要求。注意:instrument 的基础债券为债券类(固定利率债券或零息债券);债券远期的到期日(maturity)应与结算日(settlement)一致,且结算日不晚于基础债券到期日。

pricingDate DATE 类型标量或向量,表示定价日期。

discountCurve 一个 IrYieldCurve 类型的 MKTDATA 类型标量或向量,用于对标的债券现金流进行贴现,并计算债券远期价值的利率曲线。

返回值

DOUBLE 类型标量或向量,表示债券远期的 NPV。

例子

本示例以一份以固定利率债券为标的的债券远期合约为例,构造人民币国债收益率曲线作为折现曲线,并使用 bondForwardPricer 对该债券远期在估值日进行定价。

// 构造基础债券(固定利率债)
bondDict = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "FixedRateBond",
    "instrumentId": "220010.IB",
    "start": 2020.12.25,
    "maturity": 2031.12.25,
    "coupon": 0.0149,
    "frequency": "Annual",
    "dayCountConvention": "ActualActualISDA"
}
// 构造债券远期
bondForwardDict = {
    "productType": "Forward",
    "forwardType": "BondForward",
    "nominal": 100.0,
    "instrumentId": "BFD3M",
    "maturity": 2025.09.16,
    "settlement": 2025.09.16,
    "strike": 0.0181,
    "underlying": bondDict
}
bondForward = parseInstrument(bondForwardDict)
// 构造折现曲线
pricingDate = 2025.08.18
curveDict = {
    "mktDataType": "Curve",
    "curveType": "IrYieldCurve",
    "curveName": "CNY_TREASURY_BOND",
    "referenceDate": pricingDate,
    "currency": "CNY",
    "dayCountConvention": "ActualActualISDA",
    "compounding": "Compounded",
    "interpMethod": "Linear",
    "extrapMethod": "Flat",
    "frequency": "Annual",
    "dates": [2025.09.18, 2025.12.18, 2026.06.18, 2027.06.18, 2028.06.18, 2030.06.18, 2032.06.18],
    "values": [1.30, 1.36, 1.40, 1.46, 1.52, 1.68, 1.78] / 100.0
}
discountCurve = parseMktData(curveDict)
// 定价
npv = bondForwardPricer(bondForward, pricingDate, discountCurve)
npv
// output: 0.3156

相关函数:parseInstrument, parseMktData, instrumentPricer

债券远期产品字段要求

字段名 类型 描述 是否必填
productType STRING 固定填 "Forward"。
forwardType STRING 固定填 "BondForward"。
nominal DOUBLE 名义金额,默认值 100。
instrumentId STRING 债券远期代码,如 "BFD3M"。
maturity DATE 到期日。
settlement DATE 交割日(必须与 maturity 一致,且不晚于基础债券到期日)。
strike DOUBLE 执行价,约定的到期收益率 YTM,使用小数表示。
underlying 字典或 INSTRUMENT 标的可交割债券(固定利率债券或零息债券)。