INSTRUMENT 类型

多资产是指投资组合中同时包含的多种金融工具类别,如债券、期货、期权、利率互换、外汇远期、信用违约互换等。这些工具的合约条款、数据结构和定价逻辑各异,传统方案需为每类资产单独建表。DolphinDB 的 INSTRUMENT 类型(首发版本 3.00.4)将它们抽象为同一种对象,实现跨资产类别的统一存储、查询与定价。

INSTRUMENT 的核心价值体现在

  • 统一存储:所有金融工具均可通过 parseInstrument 函数解析为 INSTRUMENT 对象,存入同一字段。

  • 高效关联:通过 instrumentId 字段,金融工具表可与交易表、持仓表等高效关联。

  • 标准化定价:为 instrumentPricer 等定价函数提供标准化的输入格式。

  • 市场数据集成:与 Curve、Surface 等市场数据类型协同,构建完整的定价分析体系。

本文作为 INSTRUMENT 数据类型介绍文档,重点说明该类型在 DolphinDB 类型系统中的位置、声明与存储方式、对象结构、字段访问方式以及使用限制。各金融工具的完整字段定义由 parseInstrument 函数统一维护;定价函数的详细用法请参考 instrumentPricer 及各 Pricer 函数文档。

1. INSTRUMENT 类型对象

INSTRUMENT 是 DolphinDB 用于表示金融工具合约条款的扩展对象类型。单个 INSTRUMENT 对象由 parseInstrument 根据字典或表解析生成,可作为变量、表字段或函数参数使用。

1.1 声明与赋值

创建 INSTRUMENT 对象通常先定义金融工具字典,再调用 parseInstrument 解析:

bond = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "FixedRateBond",
    "instrumentId": "240021.IB",
    "start": 2024.10.25,
    "maturity": 2025.10.25,
    "coupon": 0.0133,
    "frequency": "Annual",
    "dayCountConvention": "ActualActualISDA"
}
inst = parseInstrument(bond)

在表中存储 INSTRUMENT 对象时,可将列类型声明为 INSTRUMENT:

t = table(100:0, `id`inst, [STRING, INSTRUMENT])
insert into t values("240021.IB", inst)

1.2 类型识别

可使用 typestr 查看对象类型,使用 type 查看对应的类型 ID:

typestr(inst)
type(inst)

其中 typestr(inst) 返回 INSTRUMENT。若需要在脚本中判断对象类型,建议优先使用 typestr 与字符串 "INSTRUMENT" 比较。

1.3 存储与序列化

INSTRUMENT 对象可作为内存表字段存储,也可作为定价函数、字段提取函数等接口的输入。对于分布式表持久化、文本/Parquet 等外部格式导入导出以及 API 跨语言读写支持情况,请以对应版本的函数文档和发布说明为准;在生产环境使用前,建议用目标版本进行建表、写入、读取和重启恢复验证。

1.4 保留字段与约束

  • version 为系统保留字段,用于内部版本管理。自定义金融工具字段中请勿使用该名称,以免与系统字段冲突。

  • 不同金融工具支持的字段、必填项和默认值由 parseInstrument 统一校验。

  • INSTRUMENT 对象主要用于合约信息的统一表示、存储和传递,不建议直接对对象本身进行算术运算;应通过字段访问函数提取字段后再参与查询或计算。

2. INSTRUMENT分类与结构

DolphinDB 将市场上的金融工具抽象为标准的继承体系,主要分为标准型和非标准型,以及不同的资产大类。

2.1 按标准化程度分类

类型 特征 示例
标准型 条款清晰、有固定交易代码、可流通 期货、期权、债券等
非标准型 条款由双方定制、无交易代码、持有至到期 利率互换、外汇远期等

2.2 支持的资产类型

  • 现金类 (Cash):包含债券、存款、债券买断式回购等。

  • 期货类 (Futures):包含国债期货、利率期货等。

  • 互换类 (Swap):包含利率互换、外汇掉期等。

  • 期权类 (Option):包含欧式期权、美式期权、数字期权、区间累计期权等。

  • 远期类 (Forward):包含债券远期、外汇远期、远期利率协议、标准债券远期等。

  • 用户自定义 (UserDefined):支持存储任意结构的字典,适合 DolphinDB 目前还未定义的金融工具。

3. 金融工具字段参考

在描述金融工具时,需要提供若干关键字段,parseInstrument 将依据这些字段生成对应的金融工具对象。需要注意的是,version 为系统保留字段,为避免冲突,请勿将其用作自定义字段名称。

本章将列出当前已支持的各类金融工具及其对应字段。

3.1 现金类

贴现债

字段名 类型 描述 是否必填
productType STRING 固定填 "Cash"
assetType STRING 固定填 "Bond"
bondType STRING 固定填 "DiscountBond"
nominal DOUBLE 名义金额,默认值 100
instrumentId STRING 债券代码,如 "259926.IB"
start DATE 起息日
maturity DATE 到期日
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
issuePrice DOUBLE 发行价格
currency STRING 货币,默认为 "CNY"
discountCurve STRING 定价时参考的贴现曲线名称,如 "CNY_TRASURY_BOND"
spreadCurve STRING 定价时参考的利差曲线名称
subType STRING

债券子类型,中国债券可选值为:

  • "TREASURY_BOND":国债

  • "CENTRAL_BANK_BILL":央行票据

  • "CDB_BOND":政策性金融债(国开)

  • "EIBC_BOND":政策性金融债(进出口行)

  • "ADBC_BOND":政策性金融债(农发行)。

  • "MTN":中期票据

  • "CORP_BOND":企业债。

  • "UNSECURED_CORP_BOND":无担保企业债

  • "SHORT_FIN_BOND":短期融资券

  • "NCD":同业存单

  • "LOC_GOV_BOND":地方政府债

  • "COMM_BANK_FIN_BOND":商业银行普通金融债

  • "BANK_SUB_CAP_BOND":商业银行二级资本债

  • "ABS":资产支持证券

  • "PPN":非公开发行债

creditRating STRING 信用等级类型,可选值为:"B", "BB", "BBB", "BBB+", "A-", "A", "A+", "AA-", "AA", "AA+", "AAA-", "AAA", "AAA+"

下例定义了一个贴现债券的 INSTRUMENT 对象。

bond = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "DiscountBond",
    "instrumentId": "259924.IB",
    "start": 2025.04.17,
    "maturity": 2025.07.17,
    "issuePrice": 99.664,
    "dayCountConvention": "ActualActualISDA"
}
instrument = parseInstrument(bond)

零息债

字段名 类型 描述 是否必填
productType STRING 固定填 "Cash"
assetType STRING 固定填 "Bond"
bondType STRING 固定填 "ZeroCouponBond"
nominal DOUBLE 名义金额,默认值 100
instrumentId STRING 债券代码,如 "250401.IB"
start DATE 起息日
maturity DATE 到期日
coupon DOUBLE 票面利率,如 0.03 表示 3%
frequency STRING 付息频率
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
currency STRING 货币,默认为 "CNY"
discountCurve STRING 定价时参考的贴现曲线名称,如 "CNY_TRASURY_BOND"
spreadCurve STRING 定价时参考的利差曲线名称
subType STRING

债券子类型,中国债券可选值为:

  • "TREASURY_BOND":国债

  • "CENTRAL_BANK_BILL":央行票据

  • "CDB_BOND":政策性金融债(国开)

  • "EIBC_BOND":政策性金融债(进出口行)

  • "ADBC_BOND":政策性金融债(农发行)。

  • "MTN":中期票据

  • "CORP_BOND":企业债。

  • "UNSECURED_CORP_BOND":无担保企业债

  • "SHORT_FIN_BOND":短期融资券

  • "NCD":同业存单

  • "LOC_GOV_BOND":地方政府债

  • "COMM_BANK_FIN_BOND":商业银行普通金融债

  • "BANK_SUB_CAP_BOND":商业银行二级资本债

  • "ABS":资产支持证券

  • "PPN":非公开发行债

creditRating STRING 信用等级类型,可选值为:"B", "BB", "BBB", "BBB+", "A-", "A", "A+", "AA-", "AA", "AA+", "AAA-", "AAA", "AAA+"

下例定义了一个零息债的 INSTRUMENT 对象。

bond = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "ZeroCouponBond",
    "instrumentId": "250401.IB",
    "start": 2025.01.09,
    "maturity": 2026.02.05,
    "coupon": 0.0119,
    "dayCountConvention": "ActualActualISDA"
}
instrument = parseInstrument(bond)

固定利率债

字段名 类型 描述 是否必填
productType STRING 固定填 "Cash"
assetType STRING 固定填 "Bond"
bondType STRING 固定填 "FixedRateBond"
nominal DOUBLE 名义金额,默认值 100
instrumentId STRING 债券代码,如 "250401.IB"
start DATE 起息日
maturity DATE 到期日
coupon DOUBLE 票面利率,如0.03表示3%
frequency STRING 付息频率
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
currency STRING 货币,默认为 "CNY"
discountCurve STRING 定价时参考的贴现曲线名称,如 "CNY_TRASURY_BOND"
spreadCurve STRING 定价时参考的利差曲线名称
subType STRING

债券子类型,中国债券可选值为:

  • "TREASURY_BOND":国债

  • "CENTRAL_BANK_BILL":央行票据

  • "CDB_BOND":政策性金融债(国开)

  • "EIBC_BOND":政策性金融债(进出口行)

  • "ADBC_BOND":政策性金融债(农发行)。

  • "MTN":中期票据

  • "CORP_BOND":企业债。

  • "UNSECURED_CORP_BOND":无担保企业债

  • "SHORT_FIN_BOND":短期融资券

  • "NCD":同业存单

  • "LOC_GOV_BOND":地方政府债

  • "COMM_BANK_FIN_BOND":商业银行普通金融债

  • "BANK_SUB_CAP_BOND":商业银行二级资本债

  • "ABS":资产支持证券

  • "PPN":非公开发行债

creditRating STRING 信用等级类型,可选值为:"B", "BB", "BBB", "BBB+", "A-", "A", "A+", "AA-", "AA", "AA+", "AAA-", "AAA", "AAA+"

下例定义了一个固定利率债的 INSTRUMENT 对象。

bond = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "FixedRateBond",
    "instrumentId": "240021.IB",
    "start": 2024.10.25,
    "maturity": 2025.10.25,
    "issuePrice": 100,
    "coupon": 0.0133,
    "frequency": "Annual",
    "dayCountConvention": "ActualActualISDA"
}
instrument = parseInstrument(bond)

浮动利率债

字段名 类型 描述 是否必填
productType STRING 固定填 "Cash"
assetType STRING 固定填 "Bond"
bondType STRING 固定填 "FloatingRateBond"
nominal DOUBLE 名义金额,默认值为 100
instrumentId STRING 债券代码,如 "1680437.IB"
start DATE 起息日
maturity DATE 到期日
iborIndex STRING 参考利率,如 "LPR_1Y"
lastFixing DOUBLE 上一次定息日的参考利率值
spread DOUBLE 利差,默认值为 0.0
frequency STRING 付息频率
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"
fixingOffsetDays INT 下一起息日与定息日之间的天数,默认值为 1
currency STRING 货币,默认值为 "CNY"
cashFlow TABLE 债券现金流表
discountCurve STRING 定价时参考的贴现曲线名称,如 "CNY_TREASURY_BOND"
spreadCurve STRING 定价时参考的利差曲线名称
forwardCurve STRING 定价时参考的远期曲线名称
subType STRING

债券子类型,中国债券可选值为:

  • "TREASURY_BOND":国债

  • "CENTRAL_BANK_BILL":央行票据

  • "CDB_BOND":政策性金融债(国开)

  • "EIBC_BOND":政策性金融债(进出口行)

  • "ADBC_BOND":政策性金融债(农发行)

  • "MTN":中期票据

  • "CORP_BOND":企业债

  • "UNSECURED_CORP_BOND":无担保企业债

  • "SHORT_FIN_BOND":短期融资券

  • "NCD":同业存单

  • "LOC_GOV_BOND":地方政府债

  • "COMM_BANK_FIN_BOND":商业银行普通金融债

  • "BANK_SUB_CAP_BOND":商业银行二级资本债

  • "ABS":资产支持证券

  • "PPN":非公开发行债

creditRating STRING 信用等级,可选 "B"、"BB"、"BBB"、"BBB+"、"A-"、"A"、"A+"、"AA-"、"AA"、"AA+"、"AAA-"、"AAA"、"AAA+"

含权债

字段名 类型 描述 是否必填
productType STRING 固定填 "Cash"
assetType STRING 固定填 "Bond"
bondType STRING 固定填 "OptionBond"
nominal DOUBLE 名义金额,默认值100
instrumentId STRING 债券代码,如 "242659.SH"
start DATE 起息日
maturity DATE 到期日
coupon DOUBLE 票面利率,如0.03表示3%
frequency DOUBLE 付息频率,如1表示每年付息1次
principalRatio DOUBLE 类型向量

提前偿还型债券的本金摊还比例向量。

向量长度等于债券期限,各元素表示对应期间偿还的本金占初始本金的比例,且所有元素之和为1。默认为空。

exerciseDates DATE 类型向量 含权债为行权时间的向量。默认为空。
hasCallOption BOOL 该债券发行人是否有赎回权
hasPutOption BOOL 该债券投资者是否有回售权
hasCouponAdjust BOOL 该债券发行人是否有票面利率调整权
newCoupon DOUBLE 票面利率调整后的新利率。当 hasCouponAdjust = true 且已到调整时点时生效。若 newCoupon 为空(默认值),则仍使用原票面利率。
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360",国债默认为 "Actual365",其他默认为 "ActualActualISMA"
subType STRING

债券子类型,中国债券可选值为:

  • "TREASURY_BOND":国债

  • "CENTRAL_BANK_BILL":央行票据

  • "CDB_BOND":政策性金融债(国开)

  • "EIBC_BOND":政策性金融债(进出口行)

  • "ADBC_BOND":政策性金融债(农发行)。

  • "MTN":中期票据

  • "CORP_BOND":企业债。

  • "UNSECURED_CORP_BOND":无担保企业债

  • "SHORT_FIN_BOND":短期融资券

  • "NCD":同业存单

  • "LOC_GOV_BOND":地方政府债

  • "COMM_BANK_FIN_BOND":商业银行普通金融债

  • "BANK_SUB_CAP_BOND":商业银行二级资本债

  • "ABS":资产支持证券

  • "PPN":非公开发行债

默认值为空。

creditRating STRING 信用等级类型,可选值为:"B", "BB", "BBB", "BBB+", "A-", "A", "A+", "AA-", "AA", "AA+", "AAA-", "AAA", "AAA+"。默认值为空。

下例定义了一个含权债的 INSTRUMENT 对象。

optionBond = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "OptionBond",
    "instrumentId": "242659.SH",
    "nominal": 100.0,
    "start": 2025.03.26,
    "maturity": 2030.03.26,
    "coupon": 0.0207,
    "frequency": "Annual",
    "exerciseDates": [2028.03.26],
    "hasCallOption": true,
    "hasPutOption": true,
    "hasCouponAdjust": true,
    "dayCountConvention": "ActualActualISMA"
}
instrument = parseInstrument(optionBond)

存款

字段名 类型 描述 是否必填
productType STRING 固定填 "Cash"
assetType STRING 固定填 "Deposit"
notionalAmount DOUBLE 名义本金金额
notionalCurrency STRING 名义本金币种
instrumentId STRING 存款参考利率指数,如 "SHIBOR_3M"
start DATE 起息日
maturity DATE 到期日
rate DOUBLE 存款利率
dayCountConvention STRING 日期计数惯例, 可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
payReceive STRING 收付标识,"Pay" 表示支付,"Receive" 表示收取
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007"
calendar STRING 交易日历

下例定义了一个存款的 INSTRUMENT 对象。

deposit =  {
    "productType": "Cash",
    "assetType": "Deposit",
    "start": 2025.05.15,
    "maturity": 2025.08.15,
    "rate": 0.02,
    "dayCountConvention": "Actual360",
    "notionalAmount":1E6,
    "notionalCurrency": "CNY",
    "payReceive": "Receive"
}
instrument = parseInstrument(deposit)

债券买断式回购

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

债券质押式回购合约

字段名 类型 描述 是否必填
productType STRING 固定值为 "Cash"
assetType STRING 固定值为 "Repo"
repoType STRING 固定值为 "BondPledgedRepo"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认值为 "CNY"
instrumentId STRING 自定义唯一标识,如 "repo000001"
start DATE 起息日
maturity DATE 到期日
rate DOUBLE 回购利率
payReceive STRING 收付标识,"Pay" 表示正回购方,"Receive" 表示逆回购方
dayCountConvention STRING 日期计数惯例,可选值为 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"
discountCurve STRING 定价时参考的贴现曲线名称;人民币场景默认值为 "CNY_FR_007"

3.2 期货类

国债期货

字段名 类型 描述 是否必填
productType STRING 固定值为 "Futures"
futuresType STRING 固定值为 "BondFutures"
nominal DOUBLE 名义金额,默认值 100
instrumentId STRING 国债期货代码,如 "T2509"
maturity DATE 到期日
settlement DATE 结算日
underlying 字典 固定利率债券结构,表示标的可交割债券
nominalCouponRate DOUBLE 名义票面利率

下例定义了一个国债期货的 INSTRUMENT 对象。

bond ={
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "FixedRateBond",
    "instrumentId": "220010.IB",
    "start": 2020.12.25,
    "maturity": 2031.12.25,
    "issuePrice": 100.0,
    "coupon": 0.0149,
    "frequency": "Annual",
    "dayCountConvention": "ActualActualISDA"
}

futures =  {
    "productType": "Futures",
    "futuresType": "BondFutures",
    "instrumentId": "T2509",  //期货代码
    "nominal": 100.0,
    "maturity": 2022.09.09,
    "settlement": 2022.09.11,
    "underlying": bond,
    "nominalCouponRate": 0.03  //与国债期货品种匹配的名义利率,可从中金所获取
}
instrument = parseInstrument(futures)

3.3 互换类

外汇掉期

字段名 类型 描述 是否必填
productType STRING 产品名称,固定值为 "Swap"
swapType STRING 远期类型,固定值为 "FxSwap"
notionalAmount DOUBLE 名义本金数量
notionalCurrency STRING 名义本金货币
currencyPair STRING

货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。支持如下货币对:

  • EURUSD:欧元兑美元

  • USDCNY:美元兑人民币

  • EURCNY:欧元兑人民币

  • GBPCNY:英镑兑人民币

  • JPYCNY:日元兑人民币

  • HKDCNY:港币兑人民币

nearExpiry DATE 近端到期日。
nearDelivery DATE 近端交割日,实际资金交割发生的日期。
direction STRING

交易方向,可选值:

  • "Buy":在近端买入外币(买 near),在远端卖出外币(卖 far)。

  • "Sell":在近端卖出外币(卖 near),在远端买回外币(买 far)。

nearStrike DOUBLE 近端行权价格
farExpiry DATE 远端到期日
farDelivery DATE 远端交割日,实际发生第二次资金交换的日期
farStrike DOUBLE 远端行权价格
domesticCurve STRING 定价时参考的本币贴现曲线名称
foreignCurve STRING 定价时参考的外币贴现曲线名称

下例定义了一个外汇掉期的 INSTRUMENT 对象。

swap = {
    "productType": "Swap",
    "swapType": "FxSwap",
    "currencyPair": "EURUSD",
    "direction": "Buy",
    "notionalCurrency": "EUR",
    "notionalAmount": 1E6,
    "nearStrike": 1.1,
    "nearExpiry": 2025.12.08,
    "nearDelivery": 2025.12.10,
    "farStrike": 1.2,
    "farExpiry": 2026.06.08,
    "farDelivery": 2026.06.10
}
instrument = parseInstrument(swap)

利率互换

字段名 类型 描述 是否必填
productType STRING 固定填 "Swap"
swapType STRING 固定填 "IrSwap"
irSwapType STRING 固定填 "IrFixedFloatingSwap"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币
instrumentId STRING 利率互换名称,可填 "CNY_FR_007 , "CNY_SHIBOR_3M"
start DATE 起息日
maturity DATE 到期日
fixedRate DOUBLE 固定端利率
calendar STRING 交易日历
fixedDayCountConvention STRING 固定端日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
floatingDayCountConvention STRING 浮动端日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
spread DOUBLE 利差
iborIndex STRING 浮动端参考利率,可选FR_007和SHIBOR_3M
frequency STRING 付息频率
payReceive STRING

收付标识,可选:

  • "Pay":本方支付固定利率、接收浮动利率(pay fixed / receive floating)

  • "Receive":本方接收固定利率、支付浮动利率(receive fixed / pay floating)

discountCurve STRING 用于折现的曲线名称
forwardCurve STRING 用于预测浮动利率的曲线名称

下例定义了一个利率互换的 INSTRUMENT 对象。

swap =  {
    "productType": "Swap",
    "swapType": "IrSwap",
    "irSwapType": "IrFixedFloatingSwap",
    "start": 2021.05.15,
    "maturity": 2023.05.15,
    "frequency": "Quarterly",
    "fixedRate": 0.02,
    "calendar": "CFET", 
    "fixedDayCountConvention": "Actual365",
    "floatingDayCountConvention": "Actual360",
    "payReceive": "Pay",
    "iborIndex": "SHIBOR_3M",
    "spread": 0.0005,
    "notionalCurrency": "CNY",
    "notionalAmount": 1E8
}
instrument = parseInstrument(swap)

信用违约互换

字段名 类型 描述 是否必填
productType STRING 固定填 "Swap"
swapType STRING 固定填 "CreditDefaultSwap"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认为 "CNY"
instrumentId STRING 金融工具 ID
start DATE 起息日
maturity DATE 到期日
payReceive STRING 收付标识,"Pay" 表示支付,"Receive" 表示收取
frequency STRING 付息频率,默认为 "Quarterly"
protectionLegRefPrice DOUBLE 保护腿参考价格
protectionLegLeverage DOUBLE 保护腿杠杆率
protectionLegRecoveryRate DOUBLE 保护腿回收率
creditProtectionType STRING

信用保护类型,可选值为:

  • "PayProtectionAtDefault": 在违约时支付保护

  • "PayProtectionAtMaturity": 在合约到期时支付保护

creditPremiumType STRING

信用保费类型

  • "PayPremiumAtDefault":在违约时支付保费

  • "PayPremiumUptoCurrentPeriod":在当期期限支付保费

  • "PayPremiumUptoMaturity":在到期时支付保费

  • "PayNothingAfterDefault":违约后不支付保费

premiumRate DOUBLE 保费利率
calendar STRING 交易日历
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"
businessDayConvention STRING

工作日惯例,可选值为:

  • "Following":延顺

  • "ModifiedFollowing":修正延顺

  • "Preceding":提前

  • "ModifiedPreceding":修正提前

  • "Unadjusted":不调整

upfrontRate DOUBLE 前端费率
rebateAccrual BOOL 是否计算返利计提

3.4 远期类

外汇远期

字段名 类型 描述 是否必填
productType STRING 产品名称,固定值为 "Forward"
forwardType STRING 远期类型,固定值为 "FxForward"
notionalAmount DOUBLE 名义本金
notionalCurrency STRING 名义本金货币
instrumentId STRING 金融工具 ID
expiry DATE 到期日
delivery DATE 交割日
currencyPair STRING

货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。支持如下货币对:

  • EURUSD:欧元兑美元

  • USDCNY:美元兑人民币

  • EURCNY:欧元兑人民币

  • GBPCNY:英镑兑人民币

  • JPYCNY:日元兑人民币

  • HKDCNY:港币兑人民币

direction STRING 交易方向。可选:"Buy"、"Sell"
strike DOUBLE 执行价格
domesticCurve STRING 定价时参考的本币贴现曲线名称
foreignCurve STRING 定价时参考的外币贴现曲线名称

下例定义了一个外汇远期的 INSTRUMENT 对象。

forward =  {
   "productType": "Forward",
    "forwardType": "FxForward",
    "expiry": 2025.09.24,
    "delivery": 2025.09.26,
    "currencyPair": "USDCNY",
    "direction": "Buy",
    "notionalCurrency": "USD",
    "notionalAmount": 1E8,
    "strike": 7.2
}
instrument = parseInstrument(forward)

外汇无本金交割远期

字段名 类型 描述 是否必填
productType STRING 产品名称,固定值为 "Forward"
forwardType STRING 远期类型,固定值为 "FxNonDeliverableForward"
notionalAmount DOUBLE 名义本金金额,例如 1E7
notionalCurrency STRING 名义本金货币,例如 "USD"
instrumentId STRING 金融工具 ID
expiry DATE 到期日
delivery DATE 交割日
currencyPair STRING

货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。支持如下货币对:

  • EURUSD:欧元兑美元

  • USDCNY:美元兑人民币

  • EURCNY:欧元兑人民币

  • GBPCNY:英镑兑人民币

  • JPYCNY:日元兑人民币

  • HKDCNY:港币兑人民币

direction STRING 交易方向。可选:"Buy"、"Sell"
strike DOUBLE 执行价格
settlementCurrency STRING 结算货币
domesticCurve STRING 定价时参考的本币贴现曲线名称
foreignCurve STRING 定价时参考的外币贴现曲线名称

债券远期

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

标准债券远期

字段名 类型 是否必填 描述
productType STRING 固定填 "Forward"。
forwardType STRING 固定填 "StdBondForward"。
nominal DOUBLE 名义金额,默认值 100。
instrumentId STRING 标准债券远期代码,如 "CDB3"。
yearLength INT 虚拟券年限,一般为 3 年期、5 年期或 10 年期。
maturity DATE 到期日(T-1 日,需调整为交易日)。
settlement DATE 交割日(T 日),合约月份的第三个星期三。
underlying 字典或由 INSTRUMENT 组成的元组 固定利率债券,表示标的一篮子可交割债券。可通过 parseInstrument 解析债券字典生成。
settlementType STRING
  • 交割类型。支持以下取值:

    "PhysicalSettlement":实物交割

    "CashSettlement":现金交割

nominalCouponRate DOUBLE 虚拟券名义票面利率,默认值为 0.03,表示 3%。

远期利率协议

字段名 类型 描述 是否必填
productType STRING 固定填 "Forward"
forwardType STRING 固定填 "IrForwardRateAgreement"
notionalAmount DOUBLE 名义本金数量,如 1E8
notionalCurrency STRING 名义本金货币,默认为 "CNY"
instrumentId STRING FRA 合约期限标识,采用"远期期限X(远期期限+合约期限)"的表达方式,如 "3Mx6M" 表示该 FRA 在 3 个月后开始,于 6 个月后到期。
start DATE 起息日
maturity DATE 到期日,到期日=起息日+合约期限
fixedRate DOUBLE 固定端利率
calendar STRING 交易日历
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
iborIndex STRING 浮动端参考利率,可选 "FR_007" 和 "SHIBOR_3M"
payReceive STRING

收付标识,可选:

  • "Pay":本方支付固定利率、接收浮动利率(pay fixed / receive floating)

  • "Receive":本方接收固定利率、支付浮动利率(receive fixed / pay floating)

discountCurve STRING 定价时参考的贴现曲线名称
forwardCurve STRING 定价时参考的远期曲线名称

3.5 期权类

外汇欧式期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "EuropeanOption"
assetType STRING 固定填 "FxEuropeanOption"
notionalAmount DOUBLE 名义本金数量
notionalCurrency STRING 名义本金货币
instrumentId STRING 金融工具 ID
maturity DATE 到期日
underlying STRING

货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。支持如下货币对:

  • EURUSD:欧元兑美元

  • USDCNY:美元兑人民币

  • EURCNY:欧元兑人民币

  • GBPCNY:英镑兑人民币

  • JPYCNY:日元兑人民币

  • HKDCNY:港币兑人民币

direction STRING 交易方向。可选值为:"Buy"、"Sell"。
strike DOUBLE 执行价格。
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
payoffType STRING 收益类型,可选值为 "Call"、 "Put"
domesticCurve STRING 定价时参考的本币贴现曲线名称
foreignCurve STRING 定价时参考的外币贴现曲线名称
delivery DATE 交割日

下例定义了一个 外汇欧式期权的 INSTRUMENT 对象。

option =  {
    "productType": "Option",
    "optionType": "EuropeanOption",
    "assetType": "FxEuropeanOption",
    "notionalCurrency": "EUR",
    "notionalAmount": 1000000.0,
    "strike": 1.2,
    "maturity": 2025.10.08,
    "payoffType": "Call",
    "dayCountConvention": "Actual365",
    "underlying": "EURUSD"
}
instrument = parseInstrument(option)

外汇区间累计期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "RangeAccrualOption"
assetType STRING 固定填 "FxRangeAccrualOption"
notionalAmount DOUBLE 名义本金金额,例如,1E7
notionalCurrency STRING 名义本金货币,例如,"USD"
instrumentId STRING 金融工具 ID
start DATE 起息日
maturity DATE 到期日
underlying STRING

货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。 支持如下货币对:

  • "EURUSD":欧元兑美元

  • "USDJPY":美元兑日元

  • "USDCNY":美元兑人民币

  • "EURCNY":欧元兑人民币

  • "GBPCNY":英镑兑人民币

  • "JPYCNY":日元兑人民币

  • "HKDCNY":港币兑人民币

direction STRING 交易方向。 可选值为:"Buy"、"Sell"。
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
lowerBarrier DOUBLE 区间下限
upperBarrier DOUBLE 区间上限
payoffType STRING 收益类型,可选值为 "Call"、 "Put"。
reportCurrency STRING 报告货币

外汇数字期权

字段名 类型 是否必填 描述
productType STRING 固定填 "Option"。
optionType STRING 固定填 "DigitalOption"。
assetType STRING 固定填 "FxDigitalOption"。
notionalAmount DOUBLE 名义本金金额。
notionalCurrency STRING 名义本金货币,如 "USD"。必须与货币对中的 base currency(ccy1)一致,即只能填写货币对的第一个币种。
instrumentId STRING 金融工具 ID。
maturity DATE 到期日。
underlying STRING

货币对,格式如:"EURUSD","EUR.USD" 或 "EUR/USD"。支持以下货币对:

  • "EURUSD":欧元兑美元

  • "USDJPY":美元对日元

  • "USDCNY":美元兑人民币

  • "EURCNY":欧元兑人民币

  • "GBPCNY":英镑兑人民币

  • "JPYCNY":日元兑人民币

  • "HKDCNY":港币兑人民币

direction STRING 交易方向,可选值为 "Buy" 或 "Sell"。
strike DOUBLE 执行价格。
dayCountConvention STRING 日期计数惯例,可选值为 "ActualActualISDA"、"ActualActualISMA"、"Actual365" 或 "Actual360"。
payoffType STRING 收益类型,可选值为 "Call" 或 "Put"。
reportCurrency STRING 最终输出(NPV / Greeks)使用的货币。
domesticCurve STRING 定价时参考的本币贴现曲线名称。
foreignCurve STRING 定价时参考的外币贴现曲线名称。

商品期货美式期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "AmericanOption"
assetType STRING 固定填 "CmFutAmericanOption"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认值为 "CNY"
instrumentId STRING 合约代码,标准格式为:标的期货合约代码+合约到期月份+期权类型代码+行权价格,如白糖期权为 SR2509P6300 = SR+2509+P+6300
direction STRING 买卖方向,可选值为 Buy,Sell。默认值为 Buy。
maturity DATE 到期日
strike DOUBLE 执行价格
payoffType STRING 收益类型,可选 Call 和 Put
underlying STRING 标的期货合约代码,如 SR2509
dayCountConvention STRING 日期计数惯例, 可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007"

商品期货欧式期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "EuropeanOption"
assetType STRING 固定填 "CmFutEuropeanOption"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认值为 "CNY"
instrumentId STRING

合约代码,标准格式为:标的期货合约代码+合约到期月份+期权类型代码+行权价格,如白糖期权

SR2509P6300 = SR+2509+P+6300

direction STRING 买卖方向 Buy Sell,默认为 Buy
maturity DATE 到期日
strike DOUBLE 执行价格
payoffType STRING 枚举,可选 Call 和 Put
underlying STRING 标的期货合约代码,如 SR2509
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007"

权益类美式期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "AmericanOption"
assetType STRING 固定填 "EqAmericanOption"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认为 "CNY"
instrumentId STRING

合约代码,如代码 TCH250328C0040000的解读如下:

  • TCH:标的为腾讯控股

  • 250328: 到期日为2025年3月28日。

  • C: 期权类型为认购(Call)

  • 0040000: 行权价为400.00港元。

direction STRING 买卖方向 "Buy"、"Sell",默认为 "Buy"
maturity DATE 到期日
strike DOUBLE 执行价格
payoffType STRING 枚举,可选Call和Put
underlying STRING 标的期货合约代码,如 "TCH"
dayCountConvention STRING 日期计数惯例, 可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007"
dividendCurve STRING 定价时参考的股息曲线名称

权益类欧式期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "EuropeanOption"
assetType STRING 固定填 "EqEuropeanOption"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认为 “CNY”
instrumentId STRING

合约代码,如中证 500ETF 期权

510500C2512M04800

direction STRING 买卖方向 "Buy", "Sell",默认为 "Buy"
maturity DATE 到期日
strike DOUBLE 执行价格
payoffType STRING 枚举,可选 "Call" 或和 "Put"
underlying STRING 标的期货合约代码,如 510050
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007"
dividendCurve STRING 定价时参考的股息曲线名称

权益类区间累计期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"。
optionType STRING 固定填 "RangeAccrualOption"。
assetType STRING 固定填 "EqRangeAccrualOption"。
instrumentId STRING 合约代码,场外期权可自定义。
maturity DATE 到期日。
delivery DATE 交割日。默认值等于 maturity
coupon DOUBLE 票息。
lowerBarrier DOUBLE 区间下限。
upperBarrier DOUBLE 区间上限。
fixingDates DATE 向量 观察日序列,要求递增。
direction STRING 买卖方向,可选 "Buy" 和 "Sell"。默认值为 "Buy"。
dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"。
underlying STRING 标的名称,例如 "50ETF"。
notionalAmount DOUBLE 名义本金额。
notionalCurrency STRING 名义本金货币。默认值为 "CNY"。
discountCurve STRING 定价时参考的贴现曲线名称。默认值为空字符串。
dividendCurve STRING 定价时参考的股息曲线名称。默认值为空字符串。

权益类数字期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "DigitalOption"
assetType STRING 固定填 "EqDigitalOption"
instrumentId STRING 合约代码,场外期权可自定义
maturity DATE 到期日
strike DOUBLE 执行价格
dayCountConvention STRING 日期计数惯例,可选值为 "ActualActualISDA"、"ActualActualISMA"、"Actual365"、"Actual360"
direction STRING 买卖方向,可选 "Buy"、"Sell",默认值为 "Buy"
payoffType STRING 收益类型,可选 "Call"、"Put"
underlying STRING 标的代码,例如 "510050"
notionalAmount DOUBLE 名义本金额
notionalCurrency STRING 名义本金货币,默认值为 "CNY"
discountCurve STRING 定价时参考的贴现曲线名称,默认值为空
dividendCurve STRING 定价时参考的股息曲线名称,默认值为空

利率上下限期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "EuropeanOption"
assetType STRING 固定填 "IrCapFloor"
notionalAmount DOUBLE 名义本金数量,如 "1E8"
notionalCurrency STRING 名义本金货币,如 "CNY",默认为 "CNY"
instrumentId STRING

合约代码,标准格式为:

"Cap/Floor_参考利率_期权期限"。

例如:"Cap_LPR1Y_6M" 表示参考利率为 LPR_1Y、期权期限为 6M 的利率上限期权。

iborIndex STRING 参考利率,可选值为 "LPR_1Y" 或 "LPR_5Y"
lastFixing DOUBLE 最近一个已经确定的参考利率的 fixing 值
start DATE 起息日
maturity DATE 到期日
strike DOUBLE 执行利率
capFloorType STRING

标识“利率上限”或“利率下限”,可选:

  • "Cap":利率上限

  • "Floor":利率下限

frequency STRING

支付频率,不填则使用参考利率的惯用频率,对于 "LPR_1Y" 及 "LPR_5Y",默认为 "Quarterly”。

可选值为:

  • "Annual":每年付息一次

  • "Semiannual":每半年付息一次

  • "EveryFourthMonth":每四个月付息一次

  • "Quarterly":每季度付息一次

  • "BiMonthly":每两月付息一次

  • "Monthly":每月付息一次

  • "EveryFourthWeek":每四周付息一次

  • "BiWeekly":每两周付息一次

  • "Weekly":每周付息一次

  • "Daily":每日付息一次

dayCountConvention STRING 日期计数惯例,可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
discountCurve STRING 定价时参考的贴现曲线名称,如 "CNY_FR_007"
forwardCurve STRING 定价时参考的远期曲线名称,如 "CNY_LPR_1Y"

欧式利率互换期权

字段名 类型 描述 是否必填
productType STRING 固定填 "Option"
optionType STRING 固定填 "EuropeanOption"
assetType STRING 固定填 "IrEuropeanSwaption"
instrumentId STRING

合约代码,标准格式为:

“SWPT_参考利率_期权期限x利率互换期限C/P”

比如:“SWPT_LPR1Y_1Y5YC” 表示参考利率为LPR1Y、期权期限为1Y的固定利率支付方利率互换期权,利率互换期限为5Y

start DATE 起息日
maturity DATE 到期日
strike DOUBLE 执行利率
payoffType STRING 枚举,可选 Call 和 Put
underlying DICT/INSTRUMENT 标的资产:可解析成 IrFixedFloatingSwap 对象的字典或者 IrFixedFloatingSwap 对象
dayCountConvention STRING 日期计数惯例, 可选 "ActualActualISDA", "ActualActualISMA", "Actual365", "Actual360"
discountCurve STRING 定价时参考的贴现曲线名称,人民币存款默认为 "CNY_FR_007"
forwardCurve STRING 定价时参考的远期曲线名称,如 "CNY_LPR_1Y"

3.6 用户自定义字段

支持用户自定义金融工具,除 producType 外,所有字段均可自定义。

字段名 类型 描述 是否必填
productType STRING 固定填 "UserDefined"

4. Instrument 的操作与处理

本章介绍 INSTRUMENT 对象创建后的常用操作,包括字段提取、条件查询、表内访问以及定价调用。

字段访问支持以下方式:

  • 专用函数:getInstrumentNominal()getInstrumentMaturity()

  • 通用函数:getInstrumentField(instrument, key)

  • 语法糖(3.00.6 起):instrument.keyinstrument["key"]。该语法也可用于 SQL 查询

结构化提取可使用 extractInstrument 从对象中获取指定字段并返回结构化结果。

定价调用方面,INSTRUMENT 对象作为各类定价函数(Pricer)的标准输入,为定价计算与风险度量提供统一的数据接口。

4.1 创建与解析

parseInstrument 将一个符合字段要求的字典、元组或内存表解析为 INSTRUMENT 对象。

// 通过字典创建
optionDict = {
    "productType": "Option",
    "optionType": "EuropeanOption",
    "assetType": "EqEuropeanOption",
    "notionalCurrency": "CNY",
    "notionalAmount": 1E6,
    "strike": 3.15,
    "maturity": 2025.10.28,
    "payoffType": "Call",
    "dayCountConvention": "Actual365",
    "underlying": "510050"
}
myOption = parseInstrument(optionDict)

// 通过表创建
create table t (
    productType STRING,
    assetType STRING,
    bondType STRING,
    version INT,
    instrumentId STRING,
    start DATE,
    maturity DATE,
    issuePrice DOUBLE,
    coupon DOUBLE,
    calendar STRING,
    frequency STRING,
    dayCountConvention STRING,
    subType STRING,
    issuer STRING
)
go

insert into t values( "Cash", "Bond", "FixedRateBond", 0, "230205.IB", 2023.03.06, 2033.03.06, 100.0, 0.0302, "CFET", "Annual", "ActualActualISDA", "CDB_BOND", "国家开发银行")
insert into t values( "Cash", "Bond", "DiscountBond", 0, "259924.IB", 2025.04.17, 2025.07.17, 99.664, NULL, NULL, NULL, "ActualActualISDA", "TREASURY_BOND", "中华人民共和国财政部")
insert into t values( "Cash", "Bond", "ZeroCouponBond", 0, "250401.IB", 2025.01.09, 2026.02.05, NULL, 0.0119, NULL, NULL, "ActualActualISDA", "CDB_BOND", "国家农业发展银行")

optionList = parseInstrument(t)

4.2 提取与查询

使用 extractInstrument 函数可以提取 INSTRUMENT 内容。

result = extractInstrument(myOption)

如要获取 instrument 中某个字段的值(如计息日规则、付息日、行权日等),可使用以 “getInstrument” 开头的函数,如使用 getInstrumentDayCountConvention 函数获取金融工具的计息日规则。

getInstrumentDayCountConvention(myOption)

// 输出:Actual365

也可使用更通用的 getInstrumentField 函数获取字段:

getInstrumentField(myOption, "dayCountConvention")

// 输出:Actual365

除了使用字段提取函数外,自 3.00.6 版本起,也支持通过语法糖直接获取 INSTRUMENT 对象中的字段值,包括点号语法 instrument.key 和方括号语法 instrument["key"]

// 点号语法
instrument.dayCountConvention
// 输出:ActualActualISDA

// 方括号语法
instrument["strike"]
// 输出:3.15

该语法糖也可用于 SQL 查询中,便于直接查询或筛选 INSTRUMENT 列中的字段:

select id, inst.instrumentId, inst.maturity, inst.strike from t
where inst.productType = "Option"

4.3 定价函数

INSTRUMENT 对象是各类定价函数(Pricer)的标准输入。每个具体的金融工具都有对应的定价函数。

// 权益类欧式期权定价示例
pricingDate = 2024.05.20
spot = 3.0
npv = eqEuropeanOptionPricer(myOption, pricingDate, spot, discountCurve, dividendCurve, volSurface)

// 债券定价示例
bond = parseInstrument(bondDict)
bondPrice = bondPricer(bond, pricingDate, discountCurve)

下表展示了 INSTRUMENT 类型与其对应定价函数之间的映射关系。

定价函数 对应 Instrument 类型 主要市场数据/输入 说明
instrumentPricer 所有支持定价的 INSTRUMENT 类型 根据具体 Instrument 类型传入对应市场数据 统一定价接口
bondPricer DiscountBond, ZeroCouponBond, FixedRateBond, OptionBond, FloatingRateBond pricingDate, discountCurve 债券定价;FloatingRateBond 为 3.00.6 新增支持
bondInstrumentCalculator Bond 类 Instrument pricingDate, yield / price 等 债券收益率、净价、全价等指标计算
irDepositPricer Deposit pricingDate, discountCurve 存款定价
bondOutrightRepoPricer BondOutrightRepo pricingDate, discountCurve 债券买断式回购定价
bondPledgedRepoPricer BondPledgedRepo pricingDate, discountCurve 债券质押式回购定价
bondForwardPricer BondForward pricingDate, discountCurve 债券远期定价
stdBondForwardPricer StdBondForward pricingDate, discountCurve 标准债券远期定价
bondFuturesPricer BondFutures pricingDate, discountCurve 国债期货定价
irSwapPricer IrFixedFloatingSwap pricingDate, discountCurve, forwardCurve 利率互换定价
irForwardRateAgreementPricer IrForwardRateAgreement pricingDate, discountCurve, forwardCurve 远期利率协议定价
irCapFloorPricer IrCapFloor pricingDate, discountCurve, forwardCurve, volSurface 利率上下限期权定价
irEuropeanSwaptionPricer IrEuropeanSwaption pricingDate, discountCurve, forwardCurve, volSurface 欧式利率互换期权定价
fxForwardPricer FxForward pricingDate, spot, domesticCurve, foreignCurve 外汇远期定价
fxNonDeliverableForwardPricer FxNonDeliverableForward pricingDate, spot, domesticCurve, foreignCurve 外汇无本金交割远期定价
fxSwapPricer FxSwap pricingDate, spot, domesticCurve, foreignCurve 外汇掉期定价
fxEuropeanOptionPricer FxEuropeanOption pricingDate, spot, domesticCurve, foreignCurve, volSurface 外汇欧式期权定价
fxDigitalOptionPricer FxDigitalOption pricingDate, spot, domesticCurve, foreignCurve, volSurface 外汇数字期权定价
fxRangeAccrualOptionPricer FxRangeAccrualOption pricingDate, spot, domesticCurve, foreignCurve, volSurface 外汇区间累计期权定价
eqEuropeanOptionPricer EqEuropeanOption pricingDate, spot, discountCurve, dividendCurve, volSurface 权益类欧式期权定价
eqAmericanOptionPricer EqAmericanOption pricingDate, spot, discountCurve, dividendCurve, volSurface 权益类美式期权定价
eqDigitalOptionPricer EqDigitalOption pricingDate, spot, discountCurve, dividendCurve, volSurface 权益类数字期权定价
eqRangeAccrualOptionPricer EqRangeAccrualOption pricingDate, spot, discountCurve, dividendCurve, volSurface 权益类区间累计期权定价
cmFutEuropeanOptionPricer CmFutEuropeanOption pricingDate, futuresPrice, discountCurve, volSurface 商品期货欧式期权定价
cmFutAmericanOptionPricer CmFutAmericanOption pricingDate, futuresPrice, discountCurve, volSurface 商品期货美式期权定价
creditDefaultSwapPricer CreditDefaultSwap pricingDate, discountCurve, creditCurve 信用违约互换定价

为解决这一问题,DolphinDB 将分散的定价流程进行统一封装,提供 instrumentPricer 接口,将 INSTRUMENT 与 MKTDATA 作为标准输入,实现定价函数选择与市场数据匹配的自动化,并支持批量输出 NPV。在此基础上,portfolioPricer 进一步引入头寸信息,使其能够直接对投资组合进行整体估值计算,从而将单笔交易定价扩展到组合层面的统一处理。

5. 总结

在实际应用中,INSTRUMENT 类型广泛用于金融数据建模、统一定价与风险管理等场景,覆盖从单笔交易估值到投资组合分析的完整流程。通过与市场数据(Curve、Surface 等)及定价接口(instrumentPricer、portfolioPricer)的结合,可以构建标准化的定价与分析体系。

由于具体业务场景较为丰富,不同金融工具在参数配置与使用方式上也存在差异,相关的完整示例与应用流程可参考各类金融产品的函数说明与案例教程。

相关教程: DolphinDB 面向金融交易与定价的统一数据模型FICC 与 Equity 定价函数FICC 曲线/曲面构建