
目录
Python SDK文档
4.数据结构
4.1数据类
Tick - Tick 对象
报价quote - (dict 类型)
Bar - Bar 对象
L2Order - Level2 逐笔委托
L2Transaction - Level2 逐笔成交
4.2交易类
Account - 账户对象
Order - 委托对象
ExecRpt - 回报对象
Cash - 资金对象
Position - 持仓对象
Indicator - 绩效指标对象
Python SDK文档
4.数据结构
4.1数据类
Tick - Tick 对象
行情快照数据
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | str | 标的代码 | 
| open | float | 日线开盘价 | 
| high | float | 日线最高价 | 
| low | float | 日线最低价 | 
| price | float | 最新价 | 
| cum_volume | long | 最新总成交量,累计值(日线成交量) | 
| cum_amount | float | 最新总成交额,累计值 (日线成交金额) | 
| cum_position | int | 合约持仓量(只适用于期货),累计值(股票此值为 0) | 
| trade_type | int | 交易类型(只适用于期货) 1: '双开', 2: '双平', 3: '多开', 4: '空开', 5: '空平', 6: '多平', 7: '多换', 8: '空换' | 
| last_volume | int | 最新瞬时成交量 | 
| last_amount | float | 最新瞬时成交额(郑商所 last_amount 为 0) | 
| created_at | datetime.datetime | 创建时间 | 
| quotes | [] (list of dict) | 股票提供买卖 5 档数据, list[0]~list[4]分别对应买卖一档到五档, 期货提供买卖 1 档数据, list[0]表示买卖一档;, level2 行情对应的是 list[0]~list[9]买卖一档到十档,注意:可能会有买档或卖档报价缺失,比如跌停时无买档报价(bid_p 和 bid_v 为 0),涨停时无卖档报价(ask_p 和 ask_v 为 0); 其中每档报价 quote结构如下: | 
报价quote - (dict 类型)
 
| 参数名 | 类型 | 说明 | 
|---|---|---|
| bid_p | float | 买价 | 
| bid_v | int | 买量 | 
| ask_p | float | 卖价 | 
| ask_v | int | 卖量 | 
| bid_q | dict | 委买队列 包含(total_orders (int)委托总个数, queue_volumes (list) 委托量队列),仅 level2 行情支持 | 
| ask_q | dict | 委卖队列 包含(total_orders (int)委托总个数, queue_volumes (list) 委托量队列),仅 level2 行情支持 | 
注意: 1、tick 是分笔成交数据,股票频率为 3s, 期货为 0.5s, 指数 5s, 包含集合竞价数据,股票早盘集合竞价数为 09:15:00-09:25:00 的 tick 数据 2、涨停时, 没有卖价和卖量, ask_p 和 ask_v 用 0 填充,跌停时,没有买价和买量,bid_p 和 bid_v 用 0 填充 3、queue_volumes 委托量队列,只能获取到最优第一档的前 50 个委托量(不活跃标的可能会不足 50 个)
Bar - Bar 对象
bar 数据是指各种频率的行情数据
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | str | 标的代码 | 
| frequency | str | 频率, 支持 'tick', '60s', '300s', '900s' 等, 默认'1d', 详情见股票行情数据和期货行情数据, 实时行情支持的频率 | 
| open | float | 开盘价 | 
| close | float | 收盘价 | 
| high | float | 最高价 | 
| low | float | 最低价 | 
| amount | float | 成交额 | 
| volume | long | 成交量 | 
| position | long | 持仓量(仅期货) | 
| bob | datetime.datetime | bar 开始时间 | 
| eob | datetime.datetime | bar 结束时间 | 
注意: 不活跃标的,没有成交量是不生成 bar
L2Order - Level2 逐笔委托
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | str | 标的代码 | 
| side | str | 委托方向 深市:'1'买, '2'卖, 'F'借入, 'G'出借, 沪市:'B'买,'S'卖 | 
| price | float | 委托价 | 
| volume | int | 委托量 | 
| order_type | str | 委托类型 深市:'1'市价, '2'限价, 'U'本方最优,沪市:'A'新增委托订单,'D'删除委托订单 | 
| order_index | int | 委托编号 | 
| created_at | datetime.datetime | 创建时间 | 
L2Transaction - Level2 逐笔成交
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | str | 标的代码 | 
| side | str | 委托方向 沪市:B – 外盘,主动买, S – 内盘,主动卖, N – 集合竞价,深市无此字段 | 
| price | float | 成交价 | 
| volume | int | 成交量 | 
| exec_type | str | 成交类型 深市:'4'撤单,'F'成交, 沪市无此字段 | 
| exec_index | int | 成交编号 | 
| ask_order_index | int | 叫卖委托编号 | 
| bid_order_index | int | 叫买委托编号 | 
| created_at | datetime.datetime | 创建时间 | 
4.2交易类
Account - 账户对象
| 属性 | 类型 | 说明 | 
|---|---|---|
| id | str | 账户 id,实盘时用于指定交易账户 | 
| cash | dict | 资金字典 | 
| positions(symbol='', side=None) | list | 持仓情况 列表, 默认全部持仓, 可根据单一 symbol(类型 str), [side](/sdk/python/枚举常量.html#PositionSide - 持仓方向 "PositionSide - 持仓方向") 参数可缩小查询范围 | 
| position(symbol, side) | dict | 持仓情况 查询指定单一 symbol(类型 str)及持仓方向的持仓情况 | 
| status | dict | 交易账户状态 查询交易账户连接状态 | 
Order - 委托对象
| 属性 | 类型 | 说明 | 
|---|---|---|
| strategy_id | str | 策略 ID | 
| account_id | str | 账号 ID | 
| account_name | str | 账户登录名 | 
| cl_ord_id | str | 委托客户端 ID,下单生成,固定不变(掘金维护,下单唯一标识) | 
| order_id | str | 委托柜台 ID(系统字段,下单不会立刻生成,委托报到柜台才会生成) | 
| ex_ord_id | str | 委托交易所 ID(系统字段,下单不会立刻生成,委托报到柜台才会生成) | 
| algo_order_id | str | 算法单 ID | 
| symbol | str | 标的代码 | 
| status | int | 委托状态 取值参考 OrderStatus | 
| side | int | 买卖方向 取值参考 OrderSide | 
| position_effect | int | 开平标志 取值参考 PositionEffect | 
| position_side | int | 持仓方向 取值参考 PositionSide | 
| order_type | int | 委托类型 取值参考 OrderType | 
| order_duration | int | 委托时间属性 取值参考 OrderDuration | 
| order_qualifier | int | 委托成交属性 取值参考 OrderQualifier | 
| order_business | int | 委托业务属性 取值参考 OrderBusiness | 
| ord_rej_reason | int | 委托拒绝原因 取值参考 OrderRejegectReason | 
| ord_rej_reason_detail | str | 委托拒绝原因描述 | 
| position_src | int | 头寸来源(系统字段) | 
| volume | int | 委托量 | 
| price | float | 委托价格 | 
| value | int | 委托额 | 
| percent | float | 委托百分比 | 
| target_volume | int | 委托目标量 | 
| target_value | int | 委托目标额 | 
| target_percent | float | 委托目标百分比 | 
| filled_volume | int | 已成量 (一笔委托对应多笔成交为累计值) | 
| filled_vwap | float | 已成均价,公式为 (price*(1+backtest_slippage_ratio))(仅股票实盘支持,期货实盘不支持) | 
| filled_amount | float | 已成金额,公式为 (filled_volume*filled_vwap)(仅股票实盘支持,期货实盘不支持) | 
| filled_commission | float | 已成手续费,(实盘不支持) | 
| created_at | datetime.datetime | 委托创建时间 | 
| updated_at | datetime.datetime | 委托更新时间 | 
ExecRpt - 回报对象
| 属性 | 类型 | 说明 | 
|---|---|---|
| strategy_id | str | 策略 ID | 
| account_id | str | 账号 ID | 
| account_name | str | 账户登录名 | 
| cl_ord_id | str | 委托客户端 ID | 
| order_id | str | 柜台委托 ID | 
| exec_id | str | 交易所成交 ID | 
| symbol | str | 委托标的 | 
| side | int | 买卖方向 取值参考 OrderSide | 
| position_effect | int | 开平标志 取值参考 PositionEffect | 
| order_business | int | 委托业务属性 OrderBusiness | 
| order_style | int | 委托风格 OrderStyle | 
| ord_rej_reason | int | 委托拒绝原因 取值参考 OrderRejectReason | 
| ord_rej_reason_detail | str | 委托拒绝原因描述 | 
| exec_type | int | 执行回报类型 取值参考 ExecType | 
| price | float | 成交价格 | 
| volume | int | 成交量 | 
| amount | float | 成交金额 | 
| cost | float | 成交成本金额(仅期货实盘支持,股票实盘不支持) | 
| created_at | datetime.datetime | 回报创建时间 | 
Cash - 资金对象
| 属性 | 类型 | 说明 | 
|---|---|---|
| account_id | str | 账号 ID | 
| account_name | str | 账户登录名 | 
| currency | int | 币种 | 
| nav | float | 总资产 | 
| fpnl | float | 浮动盈亏 | 
| frozen | float | 持仓占用资金 (仅期货实盘支持,股票实盘不支持) | 
| order_frozen | float | 冻结资金 | 
| available | float | 可用资金 | 
| market_value | float | 市值 | 
| balance | float | 资金余额 | 
| created_at | datetime.datetime | 资金初始时间 | 
| updated_at | datetime.datetime | 资金变更时间 | 
Position - 持仓对象
| 属性 | 类型 | 说明 | 
|---|---|---|
| account_id | str | 账号 ID | 
| account_name | str | 账户登录名 | 
| symbol | str | 标的代码 | 
| side | int | 持仓方向 取值参考 PositionSide | 
| volume | int | 总持仓量; 如果要得到昨持仓量,公式为 (volume - volume_today) | 
| volume_today | int | 今日买入量 | 
| market_value | float | 持仓市值 | 
| vwap | float | 持仓均价 new_vwap=((position.vwap * position.volume)+(trade.volume*trade.price))/(position.volume+trade.volume)(实盘时,期货跨天持仓,会自动变成昨结价,仿真是开仓均价) | 
| vwap_open | float | 开仓均价(期货适用,实盘适用) | 
| vwap_diluted | float | 摊薄成本(股票适用,实盘适用) | 
| amount | float | 持仓额 (volume*vwap*multiplier) | 
| price | float | 当前行情价格(回测时值为 0) | 
| fpnl | float | 持仓浮动盈亏 ((price - vwap) * volume * multiplier)(基于效率的考虑,回测模式 fpnl 只有仓位变化时或者一天更新一次,仿真模式 3s 更新一次, 回测的 price 为当天的收盘价) (根据持仓均价计算) | 
| fpnl_open | float | 浮动盈亏(期货适用, 根据开仓均价计算) | 
| cost | float | 持仓成本 (vwap * volume * multiplier * margin_ratio) | 
| order_frozen | int | 挂单冻结仓位 | 
| order_frozen_today | int | 挂单冻结今仓仓位(仅上期所和上海能源交易所标的支持) | 
| available | int | 非挂单冻结仓位 ,公式为 (volume - order_frozen); 如果要得到可平昨仓位,公式为(available - available_today) | 
| available_today | int | 非挂单冻结今仓位,公式为 (volume_today - order_frozen_today)(仅上期所和上海能源交易所标的支持) | 
| available_now | int | 当前可用仓位 | 
| credit_position_sellable_volume | int | 可卖担保品数 | 
| created_at | datetime.datetime | 建仓时间 (实盘不支持) | 
| updated_at | datetime.datetime | 仓位变更时间 (实盘不支持) | 
 Indicator - 绩效指标对象
 
| 属性 | 类型 | 说明 | 
|---|---|---|
| account_id | str | 账号 ID | 
| pnl_ratio | float | 累计收益率 (pnl/cum_inout) | 
| pnl_ratio_annual | float | 年化收益率 (pnl_ratio/自然天数*365) | 
| sharp_ratio | float | 夏普比率 ([E(Rp)-Rf]/δp*sqrt(250),E(Rp) = mean(pnl_ratio),Rf = 0,δp = std(pnl_ratio) ) | 
| max_drawdown | float | 最大回撤 max_drawdown=max(Di-Dj)/Di;D 为某一天的净值(j>i) | 
| risk_ratio | float | 风险比率 (持仓市值/nav) | 
| calmar_ratio | float | 卡玛比率 年化收益率/最大回撤 | 
| open_count | int | 开仓次数 | 
| close_count | int | 平仓次数 | 
| win_count | int | 盈利次数(平仓价格大于持仓均价 vwap 的次数) | 
| lose_count | int | 亏损次数 (平仓价格小于或者等于持仓均价 vwap 的次数) | 
| win_ratio | float | 胜率 (win_count / (win_count + lose_count)) | 
| created_at | datetime.datetime | 指标创建时间 | 
| updated_at | datetime.datetime | 指标变更时间 | 



















