期权
快照
引擎配置说明
接口 createBacktester
的参数 config 和接口
createBacktestEngine
的参数 userConfig 的配置可参考下表:
key | 说明 | 备注 |
---|---|---|
"startDate" | 开始日期 |
必须配置,DATE 类型 例如 “2020.01.01” |
"endDate" | 结束日期 |
必须配置,DATE 类型 例如 “2020.01.01” |
"strategyGroup" | 策略类型 | 必须配置,“option” |
"cash" | 初始资金 | 必须配置,DOUBLE 类型 |
"commission" | 手续费 | 必须配置,DOUBLE 类型 |
"tax" | 印花税 | 必须配置,DOUBLE 类型 |
"dataType" | 行情类型 | 必须配置,1 |
“frequency” | 快照数据以指定频率合成bar |
必须配置,INT 类型 当 frequency = 0 时,该参数无效。 当 frequency > 0 时,引擎内部合成 frequency 频率的 bar 行情触发
|
"msgAsTable" | 行情的数据格式 |
必须配置,BOOL 类型 false:字典 true:表(只能在旧版本中使用,引擎创建接口不同) |
”callbackForSnapshot “ | 快照行情触发回调模式 |
INT 类型,可选值为: 0:表示只触发 1 :表示既触发 2 :表示只触发 默认为 0,当 frequency > 0 时,必须触发 |
“matchingMode“ | 订单撮合模式 | INT 类型,设置为 3 时,订单以委托价格成交(默认按模拟撮合引擎撮合订单) |
“orderBookMatchingRatio” | 与行情订单薄的成交百分比 | DOUBLE 类型,默认 1.0,取值 0~1.0 之间 |
“matchingRatio” | 区间撮合比例 | DOUBLE 类型,默认 1.0,取值0~1.0 之间。默认和成交百分比 orderBookMatchingRatio 相等 |
“benchmark” | 基准标的 |
STRING 或 SYMBOL 类型 例如 ”A2305“ ,在接口 |
"latency" | 订单延时 | INT 类型,单位为毫秒,用来模拟用户订单从发出到被处理的时延。 |
“maintenanceMargin” | 维保比例 | DOUBLE 类型,默认 1.0,取值0~1.0 之间 |
“enableIndicatorOptimize” | 是否开启指标优化 |
BOOL 类型 true:开启 false:不开启 |
“isBacktestMode“ | 是否为回测模式 |
BOOL 类型,默认为 true true:回测模式 false:模拟交易模式 |
dataRetentionWindow | 开始指标优化时数据保留的窗口 |
STRING 类型或 INT 类型。 当 enableIndicatorOptimize = true 时,该参数生效。
|
”addTimeColumnInIndicator“ | 指标订阅时是否给指标数表增加时间列 |
BOOL 类型 true:增加 false:不增加 |
"context" | 策略逻辑上下文类结构 |
DICT 类型,策略全局变量构成的字典,如: context = dict(STRING, ANY) context["buySignalRSI"] = 70. context["buySignalRSI"] = 30. userConfig["context"] = context |
行情数据结构说明
通过接口 appendQuotationMsg
向引擎中插入数据时,msg 结构:
执行回测时输入表 messageTable 结构:
Backtest::appendQuotationMsg(engine,messamessageTable)
快照行情(frequency = 0,callbackForSnapshot = 0)时的表结构:
colName = ["symbol", "symbolSource", "timestamp", "tradingDay", "lastPrice", "upLimitPrice", "downLimitPrice", "totalBidQty", "totalOfferQty", "bidPrice", "bidQty", "offerPrice", "offerQty", "highPrice", "lowPrice", "signal", "prevClosePrice", "settlementPrice", "prevSettlementPrice", "underlyingPrice", "Theta", "Vega", "Gamma", "Delta", "IV"] colType = ["STRING", "STRING", "TIMESTAMP", "DATE", "DOUBLE", "DOUBLE", "DOUBLE", "LONG", "LONG", "DOUBLE[]", "LONG[]", "DOUBLE[]", "LONG[]", "DOUBLE", "DOUBLE", "DOUBLE[]", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE"] messageTable = table(10000000:0, colName, colType)
上述为快照行情(callbackForSnapshot = 0),即非快照合成 bar 行情的输入表结构。
快照行情数据表结构:
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL | 期权代码 |
symbolSource | STRING | 交易所 |
timestamp | TIMESTAMP | 时间戳 |
tradingDay | DATE | 交易日/结算日期 |
lastPrice | DOUBLE | 最新成交价 |
upLimitPrice | DOUBLE | 涨停价 |
downLimitPrice | DOUBLE | 跌停价 |
totalBidQty | LONG | 区间成交买数量 |
totalOfferQty | LONG | 区间成交卖数量 |
bidPrice | DOUBLE[] | 委托买价 |
bidQty | LONG[] | 委托买量 |
offerPrice | DOUBLE[] | 委托卖价 |
offerQty | LONG[] | 委托卖价 |
highPrice | DOUBLE | 最高价 |
lowPrice | DOUBLE | 最低价 |
signal | DOUBLE[] | 其他字段列表 |
prevClosePrice | DOUBLE | 前收盘价 |
settlementPrice | DOUBLE | 结算价 |
prevSettlementPrice | DOUBLE | 前结算价 |
underlyingPrice | DOUBLE | 标的价格 |
Theta | DOUBLE | / |
Vega | DOUBLE | / |
Gamma | DOUBLE | / |
Delta | DOUBLE | / |
IV | DOUBLE | / |
快照行情(frequency > 0,callbackForSnapshot = 1 或者 2)时的表结构:
colName = ["symbol", "symbolSource", "timestamp", "tradingDay", "lastPrice", "upLimitPrice", "downLimitPrice", "totalBidQty", "totalOfferQty", "bidPrice", "bidQty", "offerPrice", "offerQty", "highPrice", "lowPrice", "signal", "prevClosePrice", "settlementPrice", "prevSettlementPrice", "underlyingPrice", "Theta", "Vega", "Gamma", "Delta", "IV", "open", "close", "low", "high", "volume"] colType = ["STRING", "STRING", "TIMESTAMP", "DATE", "DOUBLE", "DOUBLE", "DOUBLE", "LONG", "LONG", "DOUBLE[]", "LONG[]", "DOUBLE[]", "LONG[]", "DOUBLE", "DOUBLE", "DOUBLE[]", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "LONG"] messageTable = table(10000000:0, colName, colType)
快照合成 bar 行情时(frequency > 0且 callbackForSnapshot = 1 或者 2 ), 还需要增加五个字段:"open", "close","low","high","volume"。
快照行情数据表结构(使用快照合成 bar 行情):
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL | 期权代码 |
symbolSource | STRING | 交易所 |
timestamp | TIMESTAMP | 时间戳 |
tradingDay | DATE | 交易日/结算日期 |
lastPrice | DOUBLE | 最新成交价 |
upLimitPrice | DOUBLE | 涨停价 |
downLimitPrice | DOUBLE | 跌停价 |
totalBidQty | LONG | 区间成交买数量 |
totalOfferQty | LONG | 区间成交卖数量 |
bidPrice | DOUBLE[] | 委托买价 |
bidQty | LONG[] | 委托买量 |
offerPrice | DOUBLE[] | 委托卖价 |
offerQty | LONG[] | 委托卖价 |
highPrice | DOUBLE | 最高价 |
lowPrice | DOUBLE | 最低价 |
signal | DOUBLE[] | 其他字段列表 |
prevClosePrice | DOUBLE | 前收盘价 |
settlementPrice | DOUBLE | 结算价 |
prevSettlementPrice | DOUBLE | 前结算价 |
underlyingPrice | DOUBLE | 标的价格 |
Theta | DOUBLE | / |
Vega | DOUBLE | / |
Gamma | DOUBLE | / |
Delta | DOUBLE | / |
IV | DOUBLE | / |
open | DOUBLE | 合成 bar 行情的开盘价 |
close | DOUBLE | 合成 bar 行情的收盘价 |
low | DOUBLE | 合成 bar 行情的最低价 |
high | DOUBLE | 合成 bar 行情的最高价 |
volume | LONG | 合成 bar 行情的成交量 |
回测行情回放结束时,发送一条 symbol 为 “END” 的消息:
//signal字段生成demo //update tb set signal =fixedLengthArrayVector([close]) //或者在 select中通过 fixedLengthArrayVector([close])生成 messageTable=select top 1* from messageTable where timestamp=max(timestamp) update messageTable set symbol="END" Backtest::appendQuotationMsg(engine,messageTable)
策略回调函数说明
-
快照行情回调函数
onSnapshot
:输入参数 msgmsg 为字典时,是以 symbol为 key 的 snapShot 数据字典。每个 snapShot 对象包含字段如下:
字段 类型 备注 symbol SYMBOL 期权代码
symbolSource STRING 交易所 timestamp TIMESTAMP 时间戳 tradingDay DATE 交易日/结算日期 lastPrice DOUBLE 最新成交价 upLimitPrice DOUBLE 涨停价 downLimitPrice DOUBLE 跌停价 totalBidQty LONG 区间成交买数量 totalOfferQty LONG 区间成交卖数量 bidPrice DOUBLE[] 委托买价 bidQty LONG[] 委托买量 offerPrice DOUBLE[] 委托卖价 offerQty LONG[] 委托卖价 highPrice DOUBLE 最高价 lowPrice DOUBLE 最低价 signal DOUBLE[] 其他字段列表 prevClosePrice DOUBLE 前收盘价 settlementPrice DOUBLE 结算价 prevSettlementPrice DOUBLE 前结算价 underlyingPrice DOUBLE 标的价格 Theta DOUBLE / Vega DOUBLE / Gamma DOUBLE / Delta DOUBLE / IV DOUBLE / open DOUBLE 合成 bar 行情的开盘价
(dataType = 1 或者 2,callbackForSnapshot = 1 或者 2 时才有)
close DOUBLE 合成 bar 行情的收盘价
(dataType = 1 或者 2,callbackForSnapshot = 1 或者 2 时才有)
low DOUBLE 合成 bar 行情的最低价
(dataType = 1 或者 2,callbackForSnapshot = 1 或者 2 时才有)
high DOUBLE 合成 bar 行情的最高价
(dataType = 1 或者 2 ,callbackForSnapshot = 1 或者 2 时才有)
volume LONG 合成 bar 行情的成交量
(dataType = 1 或者 2 ,callbackForSnapshot = 1 或者 2 时才有)
-
快照合成 bar 行情时(frequency > 0且 callbackForSnapshot = 1 或者 2), 输入参数 msg 还需要增加五个字段:"open", "close","low","high","volume"。
-
当 callbackForSnapshot = 1 或 2 时,还需回调 onBar 函数,输入参数 msg 的数据结构如下。
-
-
k 线行情回调函数
onBar
:输入参数 msgmsg 为字典时,是以 symbol 为 key 的 分钟频率的 k 线数据字典。每个 K 线包含字段如下:
字段 类型 备注 symbol SYMBOL 期权代码
symbolSource STRING 交易所 tradeTime TIMESTAMP 时间戳 tradingDay DATE 交易日/结算日期 open DOUBLE 开盘价 low DOUBLE 最低价 high DOUBLE 最高价 close DOUBLE 收盘价 volume LONG 成交量 amount DOUBLE 成交金额 upLimitPrice DOUBLE 涨停价 downLimitPrice DOUBLE 跌停价 signal DOUBLE[] 其他字段列表 prevClosePrice DOUBLE 前收盘价 settlementPrice DOUBLE 结算价 prevSettlementPrice DOUBLE 前结算价 underlyingPrice DOUBLE 标的价格 Theta DOUBLE / Vega DOUBLE / Gamma DOUBLE / Delta DOUBLE / IV DOUBLE / -
委托回报通知函数
onOrder
:输入参数 ordersorders 为订单信息的字典,每个订单信息包含字段如下:
字段 类型 备注 orderId LONG 委托订单 id symbol STRING 期权代码 timestamp TIMESTAMP 委托时间 qty LONG 委托数量 price DOUBLE 委托价格 status INT 委托状态
4:已报
0:部成
1:已成
2:撤单成功
-1:审批拒绝
-2:撤单拒绝
direction INT 委托方向
1 :买开
2: 卖开
3: 卖平
4 :买平
tradeQty LONG 成交数量 tradeValue DOUBLE 成交金额 label STRING 标签,可对该订单增加备注信息 updateTime TIMESTAMP 更新时间 -
成交回报通知函数
onTrade
:输入参数 tradestrades 为订单信息的字典,每个订单信息包含的具体字段如下:
字段 类型 备注 orderId LONG 委托订单 id symbol STRING 期权代码 tradePrice DOUBLE 成交价格 tradeQty LONG 成交数量 tradeValue DOUBLE 成交金额 totalFee DOUBLE 总费用 totalVolume LONG 累计成交量 totalValue DOUBLE 累计成交金额 direction INT 委托方向
1 :买开
2: 卖开
3: 卖平
4 :买平
tradeTime TIMESTAMP 成交时间 orderPrice DOUBLE 委托价格 label STRING 标签,可对该订单增加备注信息
分钟频率
引擎配置说明
接口 createBacktester
的参数 config 和接口
createBacktestEngine
的参数 userConfig 的配置可参考下表:
key | 说明 | 备注 |
---|---|---|
"startDate" | 开始日期 |
必须配置,DATE 类型 例如 “2020.01.01” |
"endDate" | 结束日期 |
必须配置,DATE 类型 例如 “2020.01.01” |
"strategyGroup" | 策略类型 | 必须配置,“option” |
"cash" | 初始资金 | 必须配置,DOUBLE 类型 |
"commission" | 手续费 | 必须配置,DOUBLE 类型 |
"tax" | 印花税 | 必须配置,DOUBLE 类型 |
"dataType" | 行情类型 | 必须配置,3 |
“frequency” | 以指定频率合成 | 必须配置,INT 类型, 该参数无效 |
"msgAsTable" | 行情的数据格式 |
必须配置,BOOL 类型 false:字典 true:表(只能在旧版本中使用,引擎创建接口不同) |
“matchingMode“ | 订单撮合模式 |
INT 类型,可选值为: 1:行情时间大于订单时间时撮合订单(模式一) 2:行情时间等于订单时间时以当前行情的收盘价撮合订单,后续未完成的订单按照模式一撮合订单 3:以委托价格成交 |
“benchmark” | 基准标的 |
STRING 或 SYMBOL 类型 例如 ”A2305“ ,在接口 |
"latency" | 订单延时 | INT 类型,单位为毫秒,用来模拟用户订单从发出到被处理的时延。 |
“maintenanceMargin” | 维保比例 | DOUBLE 类型,默认 1.0,取值0~1.0 之间 |
“enableIndicatorOptimize” | 是否开启指标优化 |
BOOL 类型 true:开启 false:不开启 |
“isBacktestMode“ | 是否为回测模式 |
BOOL 类型,默认为 true true:回测模式 false:模拟交易模式 |
dataRetentionWindow | 开始指标优化时数据保留的窗口 |
STRING 类型或 INT 类型。 当 enableIndicatorOptimize = true 时,该参数生效。
|
”addTimeColumnInIndicator“ | 指标订阅时是否给指标数表增加时间列 |
BOOL 类型 true:增加 false:不增加 |
"context" | 策略逻辑上下文类结构 |
DICT 类型,策略全局变量构成的字典,如: context=dict(STRING,ANY) context["buySignalRSI"]=70. context["buySignalRSI"]=30. userConfig["context"]=context |
行情数据结构说明
通过接口 appendQuotationMsg
向引擎中插入数据时,msg 结构:
执行回测时输入表 messageTable 结构:
Backtest::appendQuotationMsg(engine,messamessageTable)
colName=`symbol`symbolSource`tradeTime`tradingDay`open`low`high`close`volume`amount`upLimitPrice`downLimitPrice`signal`prevClosePrice`settlementPrice`prevSettlementPrice`underlyingPrice`Theta`Vega`Gamma`Delta`IV colType=[SYMBOL,SYMBOL,TIMESTAMP,DATE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,LONG,DOUBLE,DOUBLE,DOUBLE, DOUBLE[],DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE] messageTable=table(10000000:0, colName, colType)
分钟频行情数据表结构:
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL | 期权代码 |
symbolSource | STRING | 交易所 |
tradeTime | TIMESTAMP | 时间戳 |
tradingDay | DATE | 交易日/结算日期 |
open | DOUBLE | 开盘价 |
low | DOUBLE | 最低价 |
high | DOUBLE | 最高价 |
close | DOUBLE | 收盘价 |
volume | LONG | 成交量 |
amount | DOUBLE | 成交金额 |
upLimitPrice | DOUBLE | 涨停价 |
downLimitPrice | DOUBLE | 跌停价 |
signal | DOUBLE[] | 其他字段列表 |
prevClosePrice | DOUBLE | 前收盘价 |
settlementPrice | DOUBLE | 结算价 |
prevSettlementPrice | DOUBLE | 前结算价 |
underlyingPrice | DOUBLE | 标的价格 |
Theta | DOUBLE | / |
Vega | DOUBLE | / |
Gamma | DOUBLE | / |
Delta | DOUBLE | / |
IV | DOUBLE | / |
回测行情回放结束时,发送一条 symbol 为 “END” 的消息:
//signal字段生成demo //update tb set signal =fixedLengthArrayVector([close]) messageTable=select top 1* from messageTable where timestamp=max(timestamp) update messageTable set symbol="END" Backtest::appendQuotationMsg(engine,messageTable)
策略回调函数说明
k 线行情回调函数 onBar
:输入参数 msg
msg 为字典时,是以 symbol 为 key 的 分钟频率的 K 线数据字典。每个 K 线包含字段如下:
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL |
期权代码
|
symbolSource | STRING | 交易所 |
tradeTime | TIMESTAMP | 时间戳 |
tradingDay | DATE | 交易日/结算日期 |
open | DOUBLE | 开盘价 |
low | DOUBLE | 最低价 |
high | DOUBLE | 最高价 |
close | DOUBLE | 收盘价 |
volume | LONG | 成交量 |
amount | DOUBLE | 成交金额 |
upLimitPrice | DOUBLE | 涨停价 |
downLimitPrice | DOUBLE | 跌停价 |
signal | DOUBLE[] | 其他字段列表 |
prevClosePrice | DOUBLE | 前收盘价 |
settlementPrice | DOUBLE | 结算价 |
prevSettlementPrice | DOUBLE | 前结算价 |
underlyingPrice | DOUBLE | 标的价格 |
Theta | DOUBLE | / |
Vega | DOUBLE | / |
Gamma | DOUBLE | / |
Delta | DOUBLE | / |
IV | DOUBLE | / |
委托回报通知函数 onOrder
:输入参数 orders
orders 为订单信息的字典,每个订单信息包含字段如下:
字段 | 类型 | 备注 |
---|---|---|
orderId | LONG | 委托订单 id |
symbol | STRING | 期权代码 |
timestamp | TIMESTAMP | 委托时间 |
qty | LONG | 委托数量 |
price | DOUBLE | 委托价格 |
status | INT |
委托状态 4:已报 0:部成 1:已成 2:撤单成功 -1:审批拒绝 -2:撤单拒绝 |
direction | INT |
委托方向 1 :买开 2: 卖开 3: 卖平 4 :买平 |
tradeQty | LONG | 成交数量 |
tradeValue | DOUBLE | 成交金额 |
label | STRING | 标签,可对该订单增加备注信息 |
updateTime | TIMESTAMP | 更新时间 |
成交回报通知函数 onTrade
:输入参数 trades
trades 为订单信息的字典,每个订单信息包含的具体字段如下:
字段 | 类型 | 备注 |
---|---|---|
orderId | LONG | 委托订单 id |
symbol | STRING | 期权代码 |
tradePrice | DOUBLE | 成交价格 |
tradeQty | LONG | 成交数量 |
tradeValue | DOUBLE | 成交金额 |
totalFee | DOUBLE | 总费用 |
totalVolume | LONG | 累计成交量 |
totalValue | DOUBLE | 累计成交金额 |
direction | INT |
委托方向 1 :买开 2: 卖开 3: 卖平 4 :买平 |
tradeTime | TIMESTAMP | 成交时间 |
orderPrice | DOUBLE | 委托价格 |
label | STRING | 标签,可对该订单增加备注信息 |
日频
引擎配置说明
接口 createBacktester
的参数 config 和接口
createBacktestEngine
的参数 userConfig 的配置可参考下表:
key | 说明 | 备注 |
---|---|---|
"startDate" | 开始日期 |
必须配置,DATE 类型 例如 “2020.01.01” |
"endDate" | 结束日期 |
必须配置,DATE 类型 例如 “2020.01.01” |
"strategyGroup" | 策略类型 | 必须配置,“option” |
"cash" | 初始资金 | 必须配置,DOUBLE 类型 |
"commission" | 手续费 | 必须配置,DOUBLE 类型 |
"tax" | 印花税 | 必须配置,DOUBLE 类型 |
"dataType" | 行情类型 | 必须配置,4 |
“frequency” | 以指定频率合成 | 必须配置,INT 类型,该参数无效 |
"msgAsTable" | 行情的数据格式 |
必须配置,BOOL 类型 false:字典 true:表(只能在旧版本中使用,引擎创建接口不同) |
“matchingMode“ | 订单撮合模式 |
INT 类型,可选值为: 1:以收盘价撮合订单 2:以开盘价撮合订单 3:以委托价格成交 |
“benchmark” | 基准标的 |
STRING 或 SYMBOL 类型 例如 ”A2305“ ,在接口 |
"latency" | 订单延时 | INT 类型,单位为毫秒,用来模拟用户订单从发出到被处理的时延。 |
“maintenanceMargin” | 维保比例 | DOUBLE 类型,默认1.0,取值0~1.0之间 |
“enableIndicatorOptimize” | 是否开启指标优化 |
BOOL 类型 true:开启 false:不开启 |
“isBacktestMode“ | 是否为回测模式 |
BOOL 类型,默认为 true true:回测模式 false:模拟交易模式 |
dataRetentionWindow | 开始指标优化时数据保留的窗口 |
STRING 类型或 INT 类型。 当 enableIndicatorOptimize = true 时,该参数生效。
|
”addTimeColumnInIndicator“ | 指标订阅时是否给指标数表增加时间列 |
BOOL 类型 true:增加 false:不增加 |
"context" | 策略逻辑上下文类结构 |
DICT 类型,策略全局变量构成的字典,如: context = dict(STRING, ANY) context["buySignalRSI"] = 70. context["buySignalRSI"] = 30. userConfig["context"] = context |
行情数据结构说明
通过接口 appendQuotationMsg
向引擎中插入数据时,msg 结构:
执行回测时输入表 messageTable 结构:
Backtest::appendQuotationMsg(engine,messamessageTable)
colName=`symbol`symbolSource`tradeTime`tradingDay`open`low`high`close`volume`amount`upLimitPrice`downLimitPrice`signal`prevClosePrice`settlementPrice`prevSettlementPrice`underlyingPrice`Theta`Vega`Gamma`Delta`IV colType=[SYMBOL,SYMBOL,TIMESTAMP,DATE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,LONG,DOUBLE,DOUBLE,DOUBLE, DOUBLE[],DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE] messageTable=table(10000000:0, colName, colType)
日频行情数据表结构:
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL | 期权代码 |
symbolSource | STRING | 交易所 |
tradeTime | TIMESTAMP | 时间戳 |
tradingDay | DATE | 交易日/结算日期 |
open | DOUBLE | 开盘价 |
low | DOUBLE | 最低价 |
high | DOUBLE | 最高价 |
close | DOUBLE | 收盘价 |
volume | LONG | 成交量 |
amount | DOUBLE | 成交金额 |
upLimitPrice | DOUBLE | 涨停价 |
downLimitPrice | DOUBLE | 跌停价 |
signal | DOUBLE[] | 其他字段列表 |
prevClosePrice | DOUBLE | 前收盘价 |
settlementPrice | DOUBLE | 结算价 |
prevSettlementPrice | DOUBLE | 前结算价 |
underlyingPrice | DOUBLE | 标的价格 |
Theta | DOUBLE | / |
Vega | DOUBLE | / |
Gamma | DOUBLE | / |
Delta | DOUBLE | / |
IV | DOUBLE |
回测行情回放结束时,发送一条 symbol 为 “END” 的消息:
messageTable=select top 1* from messageTable where msgTime=max(msgTime) update messageTable set msgType="END" update messageTable set msgTime=concatDateTime(msgTime.date(),16:00:00) Backtest::appendQuotationMsg(engine,messageTable)
策略回调函数说明
k 线行情回调函数 onBar
:输入参数 msg
msg 是字典时,是以 symbol 为 key 值的日频的 K 线数据字典,每个 K 线包含字段如下:
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL | 期权代码 |
symbolSource | STRING | 交易所 |
tradeTime | TIMESTAMP | 时间戳 |
tradingDay | DATE | 交易日/结算日期 |
open | DOUBLE | 开盘价 |
low | DOUBLE | 最低价 |
high | DOUBLE | 最高价 |
close | DOUBLE | 收盘价 |
volume | LONG | 成交量 |
amount | DOUBLE | 成交金额 |
upLimitPrice | DOUBLE | 涨停价 |
downLimitPrice | DOUBLE | 跌停价 |
signal | DOUBLE[] | 其他字段列表 |
prevClosePrice | DOUBLE | 前收盘价 |
settlementPrice | DOUBLE | 结算价 |
prevSettlementPrice | DOUBLE | 前结算价 |
underlyingPrice | DOUBLE | 标的价格 |
Theta | DOUBLE | / |
Vega | DOUBLE | / |
Gamma | DOUBLE | / |
Delta | DOUBLE | / |
IV | DOUBLE | / |
委托回报通知函数 onOrder
:输入参数 orders
orders 为订单信息的字典,每个订单信息包含字段如下:
字段 | 类型 | 备注 |
---|---|---|
orderId | LONG | 委托订单 id |
symbol | STRING | 期权代码 |
timestamp | TIMESTAMP | 委托时间 |
qty | LONG | 委托数量 |
price | DOUBLE | 委托价格 |
status | INT |
委托状态 4:已报 0:部成 1:已成 2:撤单成功 -1:审批拒绝 -2:撤单拒绝 |
direction | INT |
委托方向 1 :买开 2: 卖开 3: 卖平 4 :买平 |
tradeQty | LONG | 成交数量 |
tradeValue | DOUBLE | 成交金额 |
label | STRING | 标签,可对该订单增加备注信息 |
updateTime | TIMESTAMP | 更新时间 |
成交回报通知函数 onTrade
:输入参数 trades
trades 为订单信息的字典,每个订单信息包含的具体字段如下:
字段 | 类型 | 备注 |
---|---|---|
orderId | LONG | 委托订单 id |
symbol | STRING | 期权代码 |
tradePrice | DOUBLE | 成交价格 |
tradeQty | LONG | 成交数量 |
tradeValue | DOUBLE | 成交金额 |
totalFee | DOUBLE | 总费用 |
totalVolume | LONG | 累计成交量 |
totalValue | DOUBLE | 累计成交金额 |
direction | INT |
委托方向 1 :买开 2: 卖开 3: 卖平 4 :买平 |
tradeTime | TIMESTAMP | 成交时间 |
orderPrice | DOUBLE | 委托价格 |
label | STRING | 标签,可对该订单增加备注信息 |
合约基本信息表
接口 createBacktester
的参数 config 和接口
createBacktestEngine
的参数 userConfig 的配置可参考下表:
期权合约基本信息表字段说明如下:
字段 | 类型 | 备注 |
---|---|---|
symbol | SYMBOL 或 STRING | 合约代码 |
underlyingAssetType | INT |
期权品种: 1:商品期权 2:股指期权 3:etf期权 |
multiplier | DOUBLE | 合约乘数 |
type | INT |
期权类型 1:看涨(call) 2:看跌(put) |
strikePrice | DOUBLE | 行权价 |
marginRatio | DOUBLE | 保证金比率 |
tradeUnit | DOUBLE | 合约单位 |
priceUnit | DOUBLE | 报价单位 |
priceTick | DOUBLE | 价格最小变动单位 |
commission | DOUBLE | 手续费 |
deliveryCommissionMode | INT |
1:commission / 手 2:成交额 * commission |
lastTradingDay | DATE | 合约最后交易日 |
exerciseDate | DATE | 期权行权日 |
exerciseSettlementDate | DATE | 行权交收日 |