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 标的可交割债券(固定利率债券或零息债券)。 是