目录
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 |
指标变更时间 |