bondOutrightRepoPricer

首发版本:3.00.6

语法

bondOutrightRepoPricer(instrument, pricingDate, discountCurve)

参数

instrument INSTRUMENT 类型标量或向量,指定需要定价的债券回购。字段要求参考产品字段说明。

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

discountCurve MKTDATA 类型标量或向量,指定用于计算折现因子的即期曲线(IrYieldCurve)。

返回值

DOUBLE 类型标量或向量,表示回购的净现值(NPV)。

例子

本示例基于一只固定利率债券构建回购合约,并在给定利率曲线下对回购现金流进行贴现定价,最终得到该回购交易在估值日的理论价值。

// =====================================================
// 一、构造标的债券
// =====================================================
bond = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "FixedRateBond",
    "instrumentId": "220010.IB",
    // 债券起息日
    "start": 2022.06.16,
    // 债券到期日
    "maturity": 2032.06.16,
    "issuePrice": 100.0,
    "coupon": 0.0276,
    "frequency": "Semiannual",
    "dayCountConvention": "Actual360"
}
// =====================================================
// 二、构造债券买断式回购产品
// =====================================================
bondOutrightRepo =  {
    "productType": "Cash",
    "assetType": "Repo",
    "repoType":"BondOutrightRepo",
    "notionalCurrency": "CNY",
    "notionalAmount": 1E6,
    "start": 2025.05.15,
    "maturity": 2025.08.15,
    "rate": 0.02,
    "dayCountConvention": "Actual360",
    "payReceive": "Receive",
    "underlying":bond
}
// =====================================================
// 三、解析为买断式回购 Instrument
// =====================================================
instrument = parseInstrument(bondOutrightRepo)
// =====================================================
// 四、设置定价日
// =====================================================
pricingDate = 2025.06.10
// =====================================================
// 五、构造贴现零息收益率曲线
// =====================================================
curve_dict = {
    "mktDataType": "Curve",
    "curveType": "IrYieldCurve",
    "referenceDate": pricingDate,
    "currency": "CNY",
    "dayCountConvention": "Actual365",
    "compounding": "Continuous", 
    "interpMethod": "Linear",
    "extrapMethod": "Flat",
    "frequency": "Annual",
    // 曲线期限节点日期
    "dates":[
        2025.06.25,
        2025.07.25,
        2025.09.25,
        2025.12.25,
        2026.06.25,
        2027.06.25,
        2030.06.25
    ],
    // 曲线各期限节点上的连续复利零息利率
    "values":[
        0.0136,
        0.0138,
        0.0142,
        0.0148,
        0.0154,
        0.0167,
        0.0182
    ]
}
// =====================================================
// 六、解析为贴现曲线
// =====================================================
discountCurve = parseMktData(curve_dict)
// =====================================================
// 七、调用债券买断式回购定价器
// =====================================================
price = bondOutrightRepoPricer(
    instrument,
    2025.06.10,
    discountCurve
)
// =====================================================
// 八、输出定价结果
// =====================================================
print(price)

相关函数:parseInstrument、parseMktData

产品字段说明

字段名 类型 描述 是否必填
productType STRING 产品名称,固定值为 "Cash" 是
assetType STRING 资产类型,固定值为 "Repo" 是
repoType STRING 回购类型,固定值为 "BondOutrightRepo" 是
notionalAmount DOUBLE 名义本金额 是
notionalCurrency STRING 名义本金货币,默认为 "CNY" 否
instrumentId STRING 自定义唯一标识,如 "repo000002" 否
start DATE 起息日 是
maturity DATE 到期日 是
rate DOUBLE 回购利率 是
payReceive STRING 收付标识,"Pay" 表示正回购方,"Receive" 表示逆回购方 是
underlying DICT/INSTRUMENT 抵押债券的基础信息 是
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360" 是
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007" 否