fxForwardPricer
语法
fxForwardPricer(instrument, pricingDate, spot,
domesticCurve, foreignCurve)
详情
基于给定的即期汇率、本币与外币的贴现曲线,以及定价日期,计算外汇远期合约的净现值(NPV)。
参数
instrument 一个 INSTRUMENT 类型对象(FxForward)。表示需要定价的外汇远期。外汇远期所需的关键字段见 FxForward 字段要求。
pricingDate DATE 类型标量,表示定价日期。
spot DOUBLE 类型标量,表示即期汇率。
domesticCurve MKTDATA 类型对象(IrYieldCurve),表示本币贴现曲线。曲线所需包含的关键字段见曲线字段要求。
foreignCurve MKTDATA 类型对象(IrYieldCurve),表示外币贴现曲线。曲线所需包含的关键字段见曲线字段要求。
返回值
DOUBLE 类型标量。
例子
pricingDate = 2025.08.18
fxForward = {
"productType": "Forward",
"forwardType": "FxForward",
"version": 0,
"expiry": 2025.12.16,
"delivery": 2025.12.18,
"currencyPair": "USDCNY",
"direction": "Buy",
"notional": ["USD", 1E6],
"strike": 7.1
}
curveDates = [2025.08.21,
2025.08.27,
2025.09.03,
2025.09.10,
2025.09.22,
2025.10.20,
2025.11.20,
2026.02.24,
2026.05.20,
2026.08.20,
2027.02.22,
2027.08.20,
2028.08.21]
domesticCurveInfo = {
"mktDataType": "Curve",
"curveType": "IrYieldCurve",
"referenceDate": pricingDate,
"currency": "CNY",
"dayCountConvention": "Actual365",
"compounding": "Continuous",
"interpMethod": "Linear",
"extrapMethod": "Flat",
"frequency": "Annual",
"dates": curveDates,
"values":[1.5113,
1.5402,
1.5660,
1.5574,
1.5556,
1.5655,
1.5703,
1.5934,
1.6040,
1.6020,
1.5928,
1.5842,
1.6068]/100
}
foreignCurveInfo = {
"mktDataType": "Curve",
"curveType": "IrYieldCurve",
"referenceDate": pricingDate,
"currency": "USD",
"dayCountConvention": "Actual365",
"compounding": "Continuous",
"interpMethod": "Linear",
"extrapMethod": "Flat",
"frequency": "Annual",
"dates": curveDates,
"values":[4.3345,
4.3801,
4.3119,
4.3065,
4.2922,
4.2196,
4.1599,
4.0443,
4.0244,
3.9698,
3.7740,
3.6289,
3.5003]/100
}
instrument = parseInstrument(fxForward)
domesticCurve = parseMktData(domesticCurveInfo)
foreignCurve = parseMktData(foreignCurveInfo)
spot = 7.1627
npv = fxForwardPricer(instrument, pricingDate, spot, domesticCurve, foreignCurve)
print(npv)
// output: 1919.8118
相关函数:parseInstrument, parseMktData
远期字段要求
字段名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
productType | STRING | 产品名称,固定值为 "Forward" | 是 |
forwardType | STRING | 远期类型,固定值为 "FxForward" | 是 |
version | INT | 版本号,默认值 0 | 否 |
notional | ANY 向量 | 名义本金,格式如 ["USD", 1.0] | 是 |
instrumentId | STRING | 金融工具 ID | 否 |
expiry | DATE | 到期日 | 是 |
delivery | DATE | 交割日 | 是 |
currencyPair | STRING |
货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。支持如下货币对:
|
是 |
direction | STRING | 交易方向。可选:"Buy"、"Sell" | 是 |
strike | DOUBLE | 执行价格 | 是 |
domesticCurve | STRING | 定价时参考的本币贴现曲线名称 | 否 |
foreignCurve | STRING | 定价时参考的外币贴现曲线名称 | 否 |
曲线字段要求
字段名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
mktDataType | STRING | 固定填 "Curve" | 是 |
referenceDate | DATE | 参考日期 | 是 |
version | INT | 版本号,默认值 0 | 否 |
curveType | STRING | 固定填 "IrYieldCurve" | 是 |
dayCountConvention | STRING |
曲线的日期计数惯例,可选值为:
|
是 |
interpMethod | STRING |
内插方法,可选值为:
|
是 |
extrapMethod | STRING |
外插方法,可选值为:
|
是 |
dates | DATE 向量 | 数据点的日期 | 是 |
values | DOUBLE 向量 | 数据点的值,与 dates 中的元素一一对应 | 是 |
curveName | STRING | 曲线名称 | 否 |
currency | STRING | 货币,可选值为"CNY", "USD", "EUR", "GBP", "JPY", "HKD" | 是 |
compounding | STRING |
复利类型,可选值为:
|
是 |
settlement | DATE | 结算日,如果指定了结算日,则后续期限间隔的计算都将从 settlement 开始,而不是 referenceDate | 否 |
frequency | INTEGRAL或 STRING |
计息频率,可选值为:
|
否 |
curveModel | STRING | 曲线构建模型,目前仅支持 "Bootstrap"。 | 否 |
curveParams | DICT | 模型的参数。 | 否 |