数据结构
策略中通过 C(即 ContextInfo 实例)访问以下属性。
| 属性 | 类型 | 说明 |
|---|
C.stock_code | str | 主品种完整代码,如 '600000.SH' |
C.stockcode | str | 品种代码,如 '600000' |
C.market | str | 市场,如 'SH' |
C.period | str | K 线周期 |
C.dividend_type | str | 复权方式 |
| 属性 | 类型 | 说明 |
|---|
C.barpos | int | 当前 K 线索引(从 0 开始) |
C.lastrunbarpos | int | 上一根 K 线索引 |
C.timelist | list | K 线时间戳列表(毫秒) |
C.is_backtest | bool | 是否回测模式 |
| 属性 | 类型 | 说明 |
|---|
C.asset | float | 初始资金(也可用 C.capital) |
C.portfolio | Portfolio | 账户组合对象(由引擎注入) |
| 方法 | 返回 | 说明 |
|---|
C.is_last_bar() | bool | 当前是否为最后一根 K 线 |
C.is_new_bar() | bool | 当前是否为新 K 线的第一个 tick |
C.get_bar_timetag(index) | int | 获取指定 K 线的毫秒时间戳(index 传 C.barpos 取当前 bar) |
账户组合对象,通过 C.portfolio 访问。
| 属性 | 说明 |
|---|
C.portfolio.available_cash | 可用现金 |
C.portfolio.positions | 持仓字典 {code: Position} |
C.portfolio.total_value | 总资产(现金 + 持仓市值) |
C.portfolio.positions_value | 持仓总市值 |
C.portfolio.returns | 收益率 |
| 别名 | 等同于 |
|---|
C.start | C.start_time |
C.end | C.end_time |
C.capital | C.asset |
C.do_back_test | C.is_backtest |
get_full_tick 接口返回当日最新的实时盘口数据,非历史数据。如需历史 K 线请使用 get_market_data_ex。
| 字段 | 类型 | 说明 |
|---|
timetag | str | 时间戳 |
lastPrice | float | 最新价 |
open | float | 开盘价 |
low | float | 最低价 |
lastClose | float | 前收盘价 |
lastSettlementPrice | float | 前结算价 |
settlementPrice | float | 今结算价 |
| 字段 | 类型 | 说明 |
|---|
amount | float | 成交额 |
volume | int | 成交总量(单位:手) |
pvolume | int | 原始成交总量(券商 QMT 端与 volume 一致;投研端单位:股) |
openInt | int | 持仓量(期货) |
| 字段 | 类型 | 说明 |
|---|
stockStatus | str | 证券状态 |
askPrice | list | 多档委卖价 |
bidPrice | list | 多档委买价 |
askVol | list | 多档委卖量 |
bidVol | list | 多档委买量 |
提示
本文档中所有 lastPrice 均来自 get_full_tick,detail 均来自 get_instrument_detail,不再逐一注释。
当 period 为 1m / 5m / 1d / 1w / 1mon / 2h / 1h 等 K 线周期时,field 字段如下:
| 字段 | 类型 | 说明 |
|---|
time | int | 时间戳 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
close | float | 收盘价 |
volume | float | 成交量(单位:手) |
amount | float | 成交额 |
settelementPrice | float | 今结算价 |
openInterest | float | 持仓量 |
preClose | float | 前收盘价 |
suspendFlag | int | 停牌标记(1=停牌,0=正常) |
提示
返回值为 dict,即 {股票代码: DataFrame},DataFrame 行索引为日期/时间。
当 period 为 tick 时,field 字段如下:
| 字段 | 类型 | 说明 |
|---|
time | int | 时间戳 |
stime | string | 时间戳字符串形式 |
lastPrice | float | 最新价 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
lastClose | float | 前收盘价 |
amount | float | 成交总额 |
volume | int | 成交总量(单位:手) |
pvolume | int | 原始成交总量(未经过股手转换的成交总量)【不推荐使用】 |
stockStatus | int | 证券状态 |
openInterest | int | 若是股票,则 openInt 含义为股票状态,非股票则是持仓量 |
transactionNum | float | 成交笔数(期货没有,单独计算) |
lastSettlementPrice | float | 前结算(股票为0) |
settlementPrice | float | 今结算(股票为0) |
askPrice | list[float] | 多档委卖价 |
askVol | list[int] | 多档委卖量 |
bidPrice | list[float] | 多档委买价 |
bidVol | list[int] | 多档委买量 |
提示
Tick 字段与 get_full_tick 基本一致。
get_instrument_detail 用于获取合约详细信息,返回 dict。股票与期货返回字段不同,以下标注适用品种。
| 字段 | 类型 | 适用 | 说明 |
|---|
PreClose | float | 全部 | 前收盘价格 |
SettlementPrice | float | 全部 | 前结算价格 |
UpStopPrice | float | 股票 | 当日涨停价 |
DownStopPrice | float | 股票 | 当日跌停价 |
PriceTick | float | 全部 | 最小价格变动单位 |
| 字段 | 类型 | 适用 | 说明 |
|---|
ExchangeID | str | 全部 | 合约市场代码 |
InstrumentID | str | 全部 | 合约代码 |
InstrumentName | str | 全部 | 合约名称 |
ProductID | str | 期货 | 合约的品种 ID |
ProductName | str | 期货 | 合约的品种名称 |
| 字段 | 类型 | 适用 | 说明 |
|---|
CreateDate | str | 期货 | 上市日期 |
OpenDate | str | 股票 | IPO 日期 |
ExpireDate | int | 全部 | 退市日 / 到期日 |
| 字段 | 类型 | 适用 | 说明 |
|---|
FloatVolume | float | 股票 | 流通股本(单位:股) |
TotalVolume | float | 股票 | 总股本(单位:股) |
LastVolume | int | 期货 | 昨日持仓量 |
| 字段 | 类型 | 适用 | 说明 |
|---|
LongMarginRatio | float | 期货 | 多头保证金率 |
ShortMarginRatio | float | 期货 | 空头保证金率 |
VolumeMultiple | int | 全部 | 合约乘数(非期货默认 1) |
MainContract | int | 期货 | 主力合约标记(1/2/3 = 第一/二/三主力) |
InstrumentStatus | int | 股票 | 停牌天数(第1天=0,第2天=1…正常交易也为0) |
IsTrading | bool | 全部 | 合约是否可交易 |
IsRecent | bool | 期货 | 是否近月合约 |
get_trade_detail_data 用于查询交易明细数据,返回 list[object],通过 obj.属性 方式访问。
| 属性 | 说明 |
|---|
m_strExchangeID | 证券市场 |
m_strInstrumentID | 证券代码 |
m_nDirection | 买卖方向 |
m_nVolume | 当前拥股/持仓量 |
m_dOpenPrice | 开仓日期 |
m_dOpenCost | 开仓成本 |
m_dPositionCost | 持仓成本 |
m_dLastPrice | 最新价/当前价 |
m_dSettlementPrice | 最新结算价/当前价 |
m_dMarketValue | 市值 |
m_dInstrumentValue | 总市值 |
m_dFloatProfit | 浮动盈亏 |
m_dPositionProfit | 持仓盈亏 |
m_dProfitRate | 盈亏比例 |
m_nCanUseVolume | 可用数量 |
m_nFrozenVolume | 冻结数量 |
m_nOnRoadVolume | 在途股份 |
m_nYesterdayVolume | 昨夜拥股 |
m_bIsToday | 是否今仓 |
| 属性 | 说明 |
|---|
m_dLimitPrice | 委托价格 |
m_dTradedPrice | 成交均价 |
m_nAccountType | 账号类型 |
m_nDirection | 买卖方向 |
m_nOffsetFlag | 操作类型(买/卖) |
m_nRef | 订单编号 |
m_nOrderStatus | 委托状态 |
m_strInsertDate | 委托日期 |
m_strInsertTime | 委托时间 |
m_nVolumeTotalOriginal | 委托量 |
m_nOrderPriceType | 价格类型 |
m_nVolumeTraded | 成交数量 |
m_strAccountID | 资金账号 |
m_strRemark | 投资备注 |
m_strOrderSysID | 合同编号/委托号 |
m_strCancelInfo | 废单原因 |
m_strExchangeID | 证券市场 |
m_strInstrumentID | 证券代码 |
| 属性 | 说明 |
|---|
m_dComssion | 手续费 |
m_dTradedAmount | 成交额 |
m_dPrice | 成交价格 |
m_nAccountType | 账号类型 |
m_nDirection | 买卖方向 |
m_nOffsetFlag | 操作类型 |
m_nRef | 订单编号 |
m_strTradeDate | 成交日期 |
m_strTradeTime | 成交时间 |
m_nVolume | 成交量 |
m_strAccountID | 资金账号 |
m_strRemark | 投资备注 |
m_strOrderSysID | 合同编号/委托号 |
m_strExchangeID | 证券市场 |
m_strInstrumentID | 证券代码 |
m_strTradeID | 成交编号 |
| 属性 | 说明 |
|---|
m_dAvailable | 可用金额 |
m_dFundBalance | 资金余额 |
m_dFetchBalance | 可取金额 |
m_dFrozenCash | 冻结金额 |
m_dInstrumentValue | 总市值 |
m_dBalance | 总资产 |
m_nAccountType | 账号类型 |
m_strAccountID | 资金账号 |