掘金量化—Python SDK文档—4.数据结构

目录

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

猜你喜欢

转载自blog.csdn.net/weixin_42219751/article/details/131783331