股票
回测平台支持的股票资产行情数据类型包括:逐笔或逐笔+快照,快照,快照+逐笔成交明细,分钟频率,日频,逐笔(宽表),逐笔+快照(宽表),快照+分钟频率等。
引擎配置说明
接口 createBacktester 的参数 config 和接口
createBacktestEngine 的参数 userConfig
的配置可参考下表(注意股票回测的策略类型需要设置为“stock”):
| key | 说明 | 备注 |
|---|---|---|
| "startDate" | 开始日期 | 必须配置,DATE 类型 例如 “2020.01.01” |
| "endDate" | 结束日期 | 必须配置,DATE 类型 例如 “2020.01.01” |
| "strategyGroup" | 策略类型 | 必须配置,“stock” |
| "cash" | 初始资金 | 必须配置,DOUBLE 类型 |
| "commission" | 手续费 | DOUBLE 类型,默认为 0.0 |
| "tax" | 印花税 | DOUBLE 类型,默认为 0.0 |
| "dataType" | 行情类型 | 必须配置,INT 类型,可选值为: 0:股票逐笔(逐笔委托和逐笔成交明细)+快照 1:快照 2:快照+逐笔成交明细 3:分钟频率 4:日频 5:股票逐笔(逐笔委托和逐笔成交明细合并为宽表) 6:股票逐笔+快照(逐笔委托、逐笔成交明细和快照合并为宽表) 7:快照+分钟频率(该模式仅由接口
|
| “frequency” |
逐笔数据以指定频率合成快照 或快照数据以指定频率合成 bar |
INT 类型,默认为 0
|
| "msgAsTable" | 行情的数据格式 | BOOL 类型,默认 false false:字典 true:表 (只能通过接口createBacktestEngine 创建引擎) |
| “matchingMode“ | 订单撮合模式 | INT 类型,可选值为: 1:
2:
3:以委托价格成交。 注:
|
| “benchmark” | 基准标的 | STRING 或 SYMBOL 类型 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 例如 ”000300.XSHG“ |
| "latency" | 订单延时 | INT 类型,单位为毫秒,用来模拟用户订单从发出到被处理的时延。默认为0,表示无延迟。 |
| “stockDividend” | 分红除权基本信息表 | TABLE 类型,字段说明见下文 |
| ”enableAlgoOrder” | 是否开启算法订单 | BOOL 类型: true:开启 false:不开启 |
| “enableIndicatorOptimize” | 是否开启指标优化 | BOOL 类型,默认为 false true:开启 false:不开启 |
| “isBacktestMode“ | 是否为回测模式 | BOOL 类型,默认为 true true:回测模式 false:模拟交易模式 |
| ”dataRetentionWindow“ | 开始指标优化时数据保留的窗口 | STRING 类型或 INT 类型。 当 enableIndicatorOptimize = true 时,该参数生效。
|
| ”addTimeColumnInIndicator“ | 指标订阅时是否给指标数表增加时间列 | BOOL 类型,默认为 false true:增加 false:不增加 |
| "context" | 行情逻辑上下文类结构 | DICT 类型,行情全局变量构成的字典,如:context=dict(STRING,ANY) context["buySignalRSI"]=70. userConfig["context"]=context |
| ”callbackForSnapshot “ | 快照行情触发回调模式 | dataType = 1 时仅有。 INT 类型,默认为 0 ,可选值为: 0:表示只触发 onSnapshot 1 :表示既触发 onSnpshot 又触发 onBar 2 :表示只触发 onBar 当 frequency >0 时,必须触发 onBar 回调函数,即 callbackForSnapshot =1 或者 2 |
| “enableSubscriptionToTickQuotes” | 是否订阅逐笔行情 | dataType = 0 、5、6 时仅有。 BOOL 类型,默认为 false。当 dataType = 0 或 5,并且使用行情回调函数 onTick 时,必须配置为 true true:订阅 false:不订阅 |
| “outputQueuePosition” |
是否需要获取订单在行情中的位置 如果输出该信息,则在成交明细和未成交订单接口中会增加以下 5 个指标:
|
dataType = 0 、5、6 且enableSubscriptionToTickQuotes = true
时仅有。 INT 类型,可选值为: 0:默认值,表示不输出 1:表示订单撮合成交计算上述指标的时候,把最新的一条行情纳入订单薄 2:表示订单撮合成交计算上述指标的时候,把最新的一条行情不纳入订单薄,即统计的是撮合计算前的位置信息 |
| “prevClosePrice” | 前收盘价数据表 | dataType = 0 、5、6 时仅有。 TABLE 类型,为以下三列的表: [symbol, tradeDate, prevClose] 在深交所的逐笔行情时,创业板股票的前收盘价必须设置,否则订单撮合结果可能不符合预期 |
| “orderBookMatchingRatio” | 与行情订单薄的成交百分比 | dataType = 0 、1、2、 5、6 时仅有 DOUBLE 类型,默认 1.0,取值 0~1.0 之间 |
| “matchingRatio” | 区间撮合比例 | dataType = 0 、1、2、 5、6 时仅有 DOUBLE 类型,默认 1.0,取值 0~1.0 之间。默认和成交百分比 orderBookMatchingRatio 相等 |
| “setLastDayPosition” | 设置底仓 | TABLE 类型,对于每一支选池内的股票进行底仓设置 |
| "enableMinimumPerTransactionFee" | 是否开启设置股票每笔交易的最低交易费用 | DOUBLE 类型。当单笔交易费用低于配置值时,系统会自动按该值计费。 |
| "msgAsPiecesOnSnapshot" | 回测时,是每条数据依次触发 onSnapshot
回调函数,还是同一时间戳的所有数据同时触发。 |
BOOL 类型,默认值为 false,此时每条数据依次触发onSnapshot |
| "mutualTrigger" | 设置委托确认和撤单触发方式 |
仅支持 dataType = 1,2,5,6 |
| 字段名称 | 类型 | 名称 |
|---|---|---|
| symbol | SYMBOL | 股票代码 |
| longPosition | LONG | 买入持仓量 |
| costPrice | DOUBLE | 持仓均价 |
| closePrice | DOUBLE | 昨日收盘价 |
不同的股票行情类型(dataType)的引擎配置参数有所差异:
-
快照行情触发回调模式“callbackForSnapshot” 参数只有在快照行情时设置;
-
是否订阅逐笔行情 “enableSubscriptionToTickQuotes” 、是否需要获取订单在行情中的位置 “outputQueuePosition” 以及前收盘价数据表 “prevClosePrice” 只有在含逐笔的行情类型中可以设置,即 dataType = 0 、5、6;
-
与行情订单薄的成交百分比 “orderBookMatchingRatio” 以及区间撮合比例 “matchingRatio” 只有在含快照的行情类型中可以设置,即 dataType = 0 、1、2、 5、6。
分红除权基本信息表说明
股票分红除权基本信息表“stockDividend”字段说明如下:
| 字段 | 名称 |
|---|---|
| symbol | 股票代码 |
| endDate | 分红年度 |
| annDate | 预案公告日 |
| recordDate | 股权登记日 |
| exDate | 除权除息日 |
| payDate | 派息日 |
| divListDate | 红股上市日 |
| bonusRatio | 每股送股比例 |
| capitalConversion | 每股转增比例 |
| afterTaxCashDiv | 每股分红(税后) |
| allotPrice | 配股价格 |
| allotRatio | 每股配股比例 |
融资融券
引擎配置说明
关于接口 createBacktester 的参数 config 和接口
createBacktestEngine 的参数 userConfig
的配置,除上述所需的基本参数配置,用户可以根据下表添加两融行情所需的参数配置,其中策略类型需要更改为“securityCreditAccount”,行情类型仅支持快照、分钟频以及日频。此外,融资融券策略的行情数据以及行情回调函数说明与股票的保持一致,融资融券策略支持分红除权的设置,具体的结构请参考股票中分红除权表的说明。
| key | 说明 | 备注 |
|---|---|---|
| "strategyGroup" | 策略类型 | 必须配置,“securityCreditAccount” |
| "dataType" | 行情类型 | 必须配置,INT
类型,可选值为: 1:快照 3:分钟频率 4:日频 7:快照+分钟频率(该模式仅由接口
|
| “lineOfCredit” | 授信额度 | 必须配置,DOUBLE 类型,最大可融额度(融资+融券) |
| “marginTradingInterestRate” | 融资利率 | 必须配置,DOUBLE 类型,如 0.15 |
| “secuLendingInterestRate” | 融券利率 | 必须配置,DOUBLE 类型,可设置与融资利率不同的值,如 0.15 |
| “maintenanceMargin” | 维持担保比例 | 必须配置,DOUBLE 数组类型,如[1.45,1.3,1.2],三个元素分别为警戒线、追保线、最低线 |
| “longConcentration” |
净多头集中度 集中度计算公式为: stock_i 持仓市值/总持仓市值 |
可选配置,DOUBLE 数组类型,控制多头买入金额,如 [1.0, 0.85, 0.6], 三个元素分别控制三条警戒线。注意,最后一个元素是最高线,第一个元素是底线。 |
| “shortConcentration“ |
净空头负债集中度 集中度计算公式为: stock_i 持仓市值/总持仓市值 |
可选配置,DOUBLE 数组类型,控制融券卖出金额,如 [1.0, 0.85, 0.6]。集中度越小,说明风险被组合降低。 |
| “outputOrderInfo” | 是否输出风控日志(在订单明细表中) | BOOL 类型 true:输出 false(默认):不输出 |
| “repayWithoutMarginBuy“ | 控制是否可以用融资买入的券抵消融券卖出的券 | BOOL 类型 true:可以抵消 false(默认):不允许抵消 |
| “setLastDayPosition” | 设置底仓 | TABLE 类型,对于每一支选池内的股票进行底仓设置 |
-
设置底仓 ”setLastDayPosition”,引擎配置中 “setLastDayPosition” 的具体字段说明如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 标的代码 |
| marginSecuPosition | LONG | 担保品买入持仓量 |
| marginSecuAvgPrice | DOUBLE | 买成交均价 |
| marginPosition | LONG | 融资买入持仓量 |
| marginBuyValue | DOUBLE | 融资买入金额 |
| secuLendingPosition | LONG | 融券卖出持仓量 |
| secuLendingSellValue | DOUBLE | 融券卖出金额 |
| closePrice | DOUBLE | 收盘价 |
| conversionRatio | DOUBLE | 保证金折算率 |
| tradingMargin | DOUBLE | 融资保证金比例 |
| lendingMargin | DOUBLE | 融券保证金比例 |
基本信息表说明
接口 createBacktester 的参数 securityReference
和接口 createBacktestEngine 的参数
securityReference 基本信息表:每日可买入卖出标的基本信息表字段说明如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 标的代码 |
| tradeDate | DATE | 交易日 |
| symbolSource | SYMBOL | 交易所 |
| securityRating | SYMBOL | 标的分类 |
| marginable | BOOL | 是否是可充抵保证金证券 true:可以担保品买入 false:无法担保品买入 |
| conversionRatio | DOUBLE | 保证金折算率 (影响可用保证金可用余额) |
| tradingMargin | DOUBLE | 融资保证金比例 (影响可用保证金可用余额) |
| lendingMargin | DOUBLE | 融券保证金比例 (影响可用保证金可用余额) |
| eligibleForMarginTrading | BOOL | 是否是可融资状态 true:可以融资买入 false:无法融资买入 |
| eligibleForLending | BOOL | 是否是可融券状态 true:可以融券卖出 false:无法融券卖出 |
逐笔或逐笔+快照
行情数据结构说明
通过接口 appendQuotationMsg 向引擎中插入数据时,msg 结构
colName=`msgTime`msgType`msgBody`symbol`channelNo`seqNum colType= [TIMESTAMP, SYMBOL, BLOB,STRING,INT,LONG] messageTable=streamTable(10000000:0, colName, colType)
带有逐笔行情时,msgType 有 "entrust", "trade", "snapshot", "END"
四种类型,当使用逐笔数据合成指定频率的快照数据时,可以不使用 msgType 为 "snapshot"
的行情数据。在这种情况下,系统将根据逐笔交易数据和委托单数据生成对应频率的快照数据。不同 msgType 类型的逐笔数据表通过回放函数
replayDS 以及
replay输出得到回测所需的表messageTable。下面为各类逐笔数据表的结构说明:
逐笔数据 entrust 和 trade 表结构:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 |
| symbolSource | STRING | "XSHG"(上交所)或者 "XSHE" (深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0 代表委托数据 entrust;1 代表成交数据 trade |
| orderType | INT | entrust:1 市价;2 限价;3 本方最优;10 撤单(仅上交所,即上交所撤单记录在 entrust
中) trade:0 成交;1 撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据; entrust 中的委托单号填充 |
| sellNo | LONG | trade 对应其原始数据; entrust 中的委托单号填充 |
| direction | INT | 1(买 )or 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
snapshot 表结构:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 |
| symbolSource | STRING | "XSHG"(上交所)或者 "XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间成交买数量 |
| totalOfferQty | LONG | 区间成交卖数量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| signal | DOUBLE[] | 指标列表 |
| seqNum | LONG | 逐笔数据序号 |
| prevClosePrice | DOUBLE | 前收盘价 |
回测行情回放结束时,增加一条 msgType 为”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)
行情回调函数说明
逐笔行情回调函数 onTick :输入参数 msg
msg 为字典时,是以 symbol 为 key 的 tick 数据字典。其中 value 为这支股票对应的行情信息以及 initialize 中定义的指标计算结果。每个 tick 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0 代表委托数据entrust;1 代表成交表 trade |
| orderType | INT | entrust:1 市价;2 限价;3 本方最优;10 撤单(仅上交所,即上交所撤单记录在 entrust
中) trade:0 成交;1 撤单(仅深交所,即深交所撤单记录在 trade 中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据,entrust 中的委托单号填充。 |
| sellNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充。 |
| direction | INT | 1 (买 )or 2 (卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
快照行情回调函数 onSnapshot :输入参数 msg
msg 为字典时,是以 symbol 为 key 的 snapShot 数据字典。其中 value 为这支股票对应的行情信息以及initialize 中定义的指标计算结果。每个 snapShot 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | SYMBOL | 股票市场 ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停板价 |
| downLimitPrice | DOUBLE | 跌停板价 |
| totalBidQty | LONG | 买单成交数量总和 |
| totalOfferQty | LONG | 卖单成交数量总和 |
| bidPrice | DOUBLE[] | 买单价格列表 |
| bidQty | LONG[] | 买单数量列表 |
| offerPrice | DOUBLE[] | 卖单价格列表 |
| offerQty | LONG[] | 卖单数量列表 |
| signal | DOUBLE[] | 指标列表 |
快照
行情数据结构说明
colName=["symbol","symbolSource","timestamp","lastPrice","upLimitPrice","downLimitPrice","totalBidQty","totalOfferQty","bidPrice","bidQty",
"offerPrice","offerQty","prevClosePrice"]
colType= ["SYMBOL","SYMBOL","TIMESTAMP","DOUBLE","DOUBLE","DOUBLE","LONG",
"LONG","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]", "DOUBLE"]
messageTable=table(10000:0, colName, colType)-
标的代码 symbol 必须带有交易所标识(".XSHG",".XSHE")结尾,如 600000.XSHG,不然报错。
-
上述为快照行情(frequency=0,callbackForSnapshot=0),即非快照合成 bar 行情的输入表结构。
-
字段名须严格与下表一致,字段顺序除首列必须为 symbol 列外,无其它要求,此外还支持 INT,DOUBLE,STRING 类型的列,或名为 signal 的 DOUBLE ARRAY VECTOR 类型的列作为扩展字段。
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | "XSHG"(上交所)或者"XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| signal | DOUBLE[] | 指标列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
快照行情(frequency>0,callbackForSnapshot=1或者2)表结构:
colName=["symbol","symbolSource","timestamp","lastPrice","upLimitPrice", "downLimitPrice","totalBidQty","totalOfferQty","bidPrice","bidQty", "offerPrice","offerQty","prevClosePrice","open", "close","low","high","volume"] colType= ["STRING","STRING","TIMESTAMP","DOUBLE","DOUBLE","DOUBLE","LONG", "LONG","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]","DOUBLE",DOUBLE, DOUBLE,DOUBLE,DOUBLE,LONG] messageTable=table(10000000:0, colName, colType)
-
快照合成 bar 行情时(frequency>0 且 callbackForSnapshot=1 或者 2), 还需要增加五个字段:"open", "close", "low", "high", "volume"。
-
字段名须严格与下表一致,字段顺序除首列必须为 symbol 列外,无其它要求,此外还支持 INT,DOUBLE,STRING 类型的列,或名为 signal 的 DOUBLE ARRAY VECTOR 类型的列作为扩展字段。
快照行情数据表(使用快照合成 bar 行情)必需字段如下所示:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 |
| symbolSource | STRING | "XSHG"(上交所)或者 "XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| signal | DOUBLE[] | 指标列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
| open | DOUBLE | 合成 bar 行情的开盘价 |
| close | DOUBLE | 合成 bar 行情的收盘价 |
| low | DOUBLE | 合成 bar 行情的最低价 |
| high | DOUBLE | 合成 bar 行情的最高价 |
| volume | LONG | 合成 bar 行情的成交量 |
回测行情回放结束时,发送一条 symbol 为 “END” 的消息:
messageTable=select top 1 * from messageTable update messageTable set symbol="END" Backtest::appendQuotationMsg(engine,messageTable)
行情回调函数说明
快照行情回调函数 onSnapshot :输入参数 msg
msg 为字典时,是以 symbol为 key 的 snapShot 数据字典。其中 value 为这支股票对应的行情信息。每个 snapShot 对象包含字段如下:
| 名称 | 类型 | 含义 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停板价 |
| downLimitPrice | DOUBLE | 跌停板价 |
| totalBidQty | LONG | 买单成交数量总和 |
| totalOfferQty | LONG | 卖单成交数量总和 |
| bidPrice | DOUBLE[] | 买单价格列表 |
| bidQty | LONG[] | 买单数量列表 |
| offerPrice | DOUBLE[] | 卖单价格列表 |
| offerQty | LONG[] | 卖单数量列表 |
| signal | 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:输入参数 msg
msg 为字典时,是以 symbol 为 key 的分钟频率的 K 线数据字典。每个 K 线包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| tradeTime | TIMESTAMP | 交易日 |
| open | DOUBLE | 开盘价 |
| low | DOUBLE | 最低价 |
| high | DOUBLE | 最高价 |
| close | DOUBLE | 收盘价 |
| volume | LONG | 成交量 |
| amount | DOUBLE | 成交额 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| prevClosePrice | DOUBLE | 前收盘价 |
| signal | DOUBLE[] | 其他 |
快照+逐笔成交明细
行情数据结构说明
快照+逐笔成交明细行情(frequency=0,callbackForSnapshot=0)时的表结构:
colName=["symbol","symbolSource","timestamp","lastPrice","upLimitPrice",
"downLimitPrice","totalBidQty","totalOfferQty","bidPrice","bidQty",
"offerPrice","offerQty","tradePrice","tradeQty","prevClosePrice"]
colType= ["STRING","STRING","TIMESTAMP","DOUBLE","DOUBLE","DOUBLE","LONG",
"LONG","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]","DOUBLE"]
messageTable=table(10000000:0, colName, colType)
-
标的代码symbol必须带有交易所标识(".XSHG",".XSHE")结尾,如 600000.XSHG,不然报错。
-
上述为快照+逐笔成交明细行情(frequency=0,callbackForSnapshot=0),即非快照合成bar行情的输入表结构。
具体字段说明如下:(与快照行情比增加tradePrice 和 tradeQty 两个字段)
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 |
| symbolSource | STRING | "XSHG"(上交所)或者"XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| tradePrice | DOUBLE[] | 成交价格 |
| tradeQty | LONG[] | 成交数量 |
| signal | DOUBLE[] | 指标列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
快照+逐笔成交明细行情(frequency>0,callbackForSnapshot=1或者2)时的表结构:
colName=["symbol","symbolSource","timestamp","lastPrice","upLimitPrice",
"downLimitPrice","totalBidQty","totalOfferQty","bidPrice","bidQty",
"offerPrice","offerQty","tradePrice","tradeQty","prevClosePrice","open", "close","low","high","volume"]
colType= ["STRING","STRING","TIMESTAMP","DOUBLE","DOUBLE","DOUBLE","LONG",
"LONG","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]","DOUBLE","DOUBLE", "DOUBLE","DOUBLE","DOUBLE","LONG"]
messageTable=table(10000000:0, colName, colType)
快照合成bar行情时(frequency>0且callbackForSnapshot=1或者2), 还需要增加五个字段:"open", "close","low","high","volume"。
具体字段说明如下:(与快照行情比增加tradePrice 和 tradeQty 两个字段)
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 |
| symbolSource | STRING | "XSHG"(上交所)或者 "XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| tradePrice | DOUBLE[] | 成交价格 |
| tradeQty | LONG[] | 成交数量 |
| signal | DOUBLE[] | 指标列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
| open | DOUBLE | 合成bar行情的开盘价 |
| close | DOUBLE | 合成bar行情的收盘价 |
| low | DOUBLE | 合成bar行情的最低价 |
| high | DOUBLE | 合成bar行情的最高价 |
| volume | LONG | 合成bar行情的成交量 |
回测行情回放结束时,发送一条symbol为“END”的消息:
messageTable=select top 1 * from messageTable update messageTable set symbol="END" Backtest::appendQuotationMsg(engine, messageTable)
行情回调函数说明
快照行情回调函数 onSnapshot:输入参数 msg
msg 为字典时,是以 symbol 为 key 的 snapShot数据字典。其中 value 为这支股票对应的行情信息。每个 snapShot 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停板价 |
| downLimitPrice | DOUBLE | 跌停板价 |
| totalBidQty | LONG | 买单成交数量总和 |
| totalOfferQty | LONG | 卖单成交数量总和 |
| bidPrice | DOUBLE[] | 买单价格列表 |
| bidQty | LONG[] | 买单数量列表 |
| offerPrice | DOUBLE[] | 卖单价格列表 |
| offerQty | LONG[] | 卖单数量列表 |
| signal | 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:输入参数 msg
msg 为字典时,是以 symbol 为 key 的分钟频率的 K 线数据字典。每个 K 线包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| tradeTime | TIMESTAMP | 交易日 |
| open | DOUBLE | 开盘价 |
| low | DOUBLE | 最低价 |
| high | DOUBLE | 最高价 |
| close | DOUBLE | 收盘价 |
| volume | LONG | 成交量 |
| amount | DOUBLE | 成交额 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| prevClosePrice | DOUBLE | 前收盘价 |
| signal | DOUBLE[] | 其他 |
分钟频或日频
行情数据结构说明
colName=`symbol`tradeTime`open`low`high`close`volume`amount`upLimitPrice`downLimitPrice`prevClosePrice
colType=[SYMBOL,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE,DOUBLE,LONG,DOUBLE,DOUBLE,DOUBLE,DOUBLE]
messageTable=table(10000000:0, colName, colType)字段名须严格与下表一致,字段顺序除首列必须为 symbol 列外,无其它要求,此外还支持 INT,DOUBLE,STRING 类型的列,或名为 signal 的 DOUBLE ARRAY VECTOR 类型的列作为扩展字段。
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 |
| tradeTime | TIMESTAMP | 时间戳 |
| open | DOUBLE | 开盘价 |
| low | DOUBLE | 最低价 |
| high | DOUBLE | 最高价 |
| close | DOUBLE | 收盘价 |
| volume | LONG | 成交量 |
| amount | DOUBLE | 成交金额 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| prevClosePrice | DOUBLE | 前收盘价 |
| signal | DOUBLE[] | 其他字段列表 |
回测行情回放结束时,发送一条 symbol 为“END”的消息:
messageTable=select top 1 * from messageTable update messageTable set symbol="END" Backtest::appendQuotationMsg(engine,messageTable)
行情回调函数说明
K 线行情回调函数 onBar:输入参数 msg
msg 为字典时,是以 symbol 为 key 的分钟频率的 K 线数据字典。每个 K 线包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| tradeTime | TIMESTAMP | 交易日 |
| open | DOUBLE | 开盘价 |
| low | DOUBLE | 最低价 |
| high | DOUBLE | 最高价 |
| close | DOUBLE | 收盘价 |
| volume | LONG | 成交量 |
| amount | DOUBLE | 成交额 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| prevClosePrice | DOUBLE | 前收盘价 |
| signal | DOUBLE[] | 其他 |
逐笔(宽表)
行情数据结构说明
执行回测时输入表 messageTable 结构:
Backtest::appendQuotationMsg(engine,messageTable)
colName=[`symbol,`symbolSource,`timestamp,`sourceType,`orderType,`price,`qty,`buyNo,
`sellNo,`direction,`channelNo,`seqNum,`reserve1]
colType=["SYMBOL","INT","TIMESTAMP","INT","INT","DOUBLE","LONG","LONG",
"LONG","INT","INT","LONG","DOUBLE"]
messageTable=table(1000:0,colName,colType)
逐笔(宽表)行情数据表结构:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以 ".XSHG" 结尾 深交所以 ".XSHE" 结尾 |
| symbolSource | INT | 0(上交所)或者1(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0 代表委托数据entrust;1 代表成交表 trade |
| orderType | INT |
trade:0 成交;1 撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| sellNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| direction | INT | 1(买 )or 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
| reserve1 | DOUBLE | 预留字段1(宽表) |
与逐笔数据相比,逐笔(宽表)增加了”reserve1“ 这个预留字段。
回测行情回放结束时,增加一条 symbol 为”END“的消息。如下示例:
messageTable=select top 1 * from messageTable update messageTable set symbol="END" Backtest::appendQuotationMsg(engine,messageTable)
行情回调函数说明
逐笔行情回调函数 onTick :输入参数 msg
msg 为字典时,是以 symbol 为 key 的 tick 数据字典。其中 value 为这支股票对应的行情信息以及initialize 中定义的指标计算结果。每个 tick 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0代表委托数据entrust;1代表成交表 trade |
| orderType | INT | entrust:1市价;2限价;3本方最优;10撤单(仅上交所,即上交所撤单记录在entrust中)trade:0成交;1撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| sellNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| direction | INT | 1(买 )or 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
| reserve1 | DOUBLE | 预留字段1(宽表) |
快照行情回调函数 onSnapshot :输入参数 msg
msg 为字典时,是以 symbol 为 key 的 snapShot 数据字典。其中 value 为这支股票对应的行情信息以及initialize 中定义的指标计算结果。每个 snapShot 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0代表委托数据entrust;1代表成交表 trade |
| orderType | INT | entrust:1市价;2限价;3本方最优;10撤单(仅上交所,即上交所撤单记录在entrust中)trade:0成交;1撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| sellNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| direction | INT | 1(买 )or 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
| reserve1 | DOUBLE | 预留字段1(宽表) |
逐笔+快照(宽表)
行情数据结构说明
执行回测时输入表messageTable的数据结构:Backtest::appendQuotationMsg(engine,messageTable)
colName=[`symbol,`symbolSource,`timestamp,`sourceType,`orderType,`price,`qty,`buyNo, `sellNo,`direction,`channelNo,`seqNum,"lastPrice","upLimitPrice", "downLimitPrice","totalBidQty","totalOfferQty","bidPrice","bidQty", "offerPrice","offerQty","prevClosePrice"] colType=["SYMBOL","STRING","TIMESTAMP","INT","INT","DOUBLE","LONG","LONG", "LONG","INT","INT","LONG","DOUBLE","DOUBLE","DOUBLE","LONG", "LONG","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]","DOUBLE"] messageTable=table(1000:0,colName,colType)
逐笔+快照(宽表)行情数据表结构:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | INT | 0(上交所)或者1(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0 代表委托数据 entrust;1 代表成交数据 trade;2 代表快照数据snapshot |
| orderType | INT | entrust:1 市价;2 限价;3 本方最优;10 撤单(仅上交所,即上交所撤单记录在 entrust
中) trade:0 成交;1 撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据; entrust 中的委托单号填充 |
| sellNo | LONG | trade 对应其原始数据; entrust 中的委托单号填充 |
| direction | INT | 1(买 )或者 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
| reserve1 | DOUBLE | 预留字段1(宽表) |
| reserve2 | DOUBLE | 预留字段2(宽表) |
回测行情回放结束时,发送一条 symbol 为 “END” 的消息:
messageTable=select top 1* from messageTable update messageTable set symbol="END" Backtest::appendQuotationMsg(engine,messageTable)
行情回调函数说明
逐笔行情回调函数 onTick :输入参数 msg
msg 为字典时,是以 symbol 为 key 的 tick 数据字典。其中 value 为这支股票对应的行情信息以及initialize 中定义的指标计算结果。每个 tick 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0代表委托数据entrust;1代表成交表
trade,2代码snapshot |
| orderType | INT | entrust:1 市价;2 限价;3 本方最优;10
撤单(仅上交所,即上交所撤单记录在entrust中)trade:0 成交;1 撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| sellNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| direction | INT | 1(买 )or 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
| reserve1 | DOUBLE | 预留字段 1(宽表) |
| reserve2 | DOUBLE | 预留字段 2(宽表) |
快照行情回调函数 onSnapshot :输入参数 msg
msg 为字典时,是以 symbol 为 key 的 snapShot 数据字典。其中 value 为这支股票对应的行情信息以及initialize 中定义的指标计算结果。每个 snapShot 对象包含字段如下:
| 字段 | 类型 | 备注 |
|---|---|---|
| symbol | SYMBOL | 股票代码 上交所以".XSHG"结尾 深交所以".XSHE"结尾 |
| symbolSource | STRING | ".XSHG"(上交所)或者".XSHE"(深交所) |
| timestamp | TIMESTAMP | 时间戳 |
| sourceType | INT | 0代表委托数据entrust;1代表成交表
trade,2代码snapshot |
| orderType | INT | entrust:1 市价;2 限价;3 本方最优;10
撤单(仅上交所,即上交所撤单记录在entrust中)trade:0 成交;1 撤单(仅深交所,即深交所撤单记录在 trade中) |
| price | DOUBLE | 订单价格 |
| qty | LONG | 订单数量 |
| buyNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| sellNo | LONG | trade 对应其原始数据;entrust 中的委托单号填充, |
| direction | INT | 1(买 )or 2(卖) |
| channelNo | INT | 通道号 |
| seqNum | LONG | 逐笔数据序号 |
| lastPrice | DOUBLE | 最新成交价 |
| upLimitPrice | DOUBLE | 涨停价 |
| downLimitPrice | DOUBLE | 跌停价 |
| totalBidQty | LONG | 区间买量 |
| totalOfferQty | LONG | 区间卖量 |
| bidPrice | DOUBLE[] | 委买价格列表 |
| bidQty | LONG[] | 委买量列表 |
| offerPrice | DOUBLE[] | 委卖价格列表 |
| offerQty | LONG[] | 委卖量列表 |
| prevClosePrice | DOUBLE | 前收盘价 |
| reserve1 | DOUBLE | 预留字段 1(宽表) |
| reserve2 | DOUBLE | 预留字段 2(宽表) |
快照+分钟频率
行情数据结构说明
通过接口 appendQuotationMsg 向引擎中插入数据时,msg 为一个字典,key 支持
'ohlc','snapshot' 或 'indicator' 三种:
-
'ohlc' 为分钟频行情表,结构如下:
colName=`symbol`tradeTime`open`low`high`close`volume`amount`upLimitPrice`downLimitPrice`prevClosePrice colType=[SYMBOL,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE,DOUBLE,LONG,DOUBLE,DOUBLE,DOUBLE,DOUBLE] messageTable=table(10000000:0, colName, colType)注:字段名须严格与下表一致,字段顺序除首列必须为 symbol 列外,无其它要求,此外还支持 INT,DOUBLE,STRING 类型的列,或名为 signal 的 DOUBLE ARRAY VECTOR 类型的列作为扩展字段。
-
'snapshot' 为快照行情表,结构如下:
colName=["symbol","symbolSource","timestamp","lastPrice","upLimitPrice","downLimitPrice","totalBidQty","totalOfferQty","bidPrice","bidQty", "offerPrice","offerQty","prevClosePrice"] colType= ["SYMBOL","SYMBOL","TIMESTAMP","DOUBLE","DOUBLE","DOUBLE","LONG", "LONG","DOUBLE[]","LONG[]","DOUBLE[]","LONG[]", "DOUBLE"] messageTable=table(10000:0, colName, colType)注:-
标的代码 symbol 必须带有交易所标识(".XSHG",".XSHE")结尾,如 600000.XSHG,不然报错。
-
上述为快照行情(frequency=0,callbackForSnapshot=0),即非快照合成 bar 行情的输入表结构。
-
字段名须严格与下表一致,字段顺序除首列必须为 symbol 列外,无其它要求,此外还支持 INT,DOUBLE,STRING 类型的列,或名为 signal 的 DOUBLE ARRAY VECTOR 类型的列作为扩展字段。
快照行情数据表必需字段如下所示:字段 类型 备注 symbol SYMBOL 股票代码 上交所以".XSHG"结尾
深交所以".XSHE"结尾
symbolSource STRING "XSHG"(上交所)或者"XSHE"(深交所) timestamp TIMESTAMP 时间戳 lastPrice DOUBLE 最新成交价 upLimitPrice DOUBLE 涨停价 downLimitPrice DOUBLE 跌停价 totalBidQty LONG 区间买量 totalOfferQty LONG 区间卖量 bidPrice DOUBLE[] 委买价格列表 bidQty LONG[] 委买量列表 offerPrice DOUBLE[] 委卖价格列表 offerQty LONG[] 委卖量列表 signal DOUBLE[] 指标列表 prevClosePrice DOUBLE 前收盘价 分钟频行情数据表必需字段如下所示:字段 类型 备注 symbol SYMBOL 股票代码 tradeTime TIMESTAMP 时间戳 open DOUBLE 开盘价 low DOUBLE 最低价 high DOUBLE 最高价 close DOUBLE 收盘价 volume LONG 成交量 amount DOUBLE 成交金额 upLimitPrice DOUBLE 涨停价 downLimitPrice DOUBLE 跌停价 prevClosePrice DOUBLE 前收盘价 signal DOUBLE[] 其他字段列表 -
-
'indicator' 为对应 onBar 回调的历史指标数据表。设置该表时,不能同时使用
subscribeIndicator订阅 ohlc/kline 类型的指标。该表的字段必须包含 symbol 和 timestamp,其后可以是 INT、DOUBLE 或 STRING 类型的扩展字段。
