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)
产品字段说明
| 字段名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| 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" | 否 |
