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

这篇具有很好参考价值的文章主要介绍了掘金量化—Python SDK文档—4.数据结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

掘金量化—Python SDK文档—4.数据结构,python,开发语言,掘金量化

目录

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文章来源地址https://www.toymoban.com/news/detail-596251.html

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

到了这里,关于掘金量化—Python SDK文档—4.数据结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python数据结构与算法】线性结构小结

    🌈个人主页: Aileen_0v0 🔥系列专栏:PYTHON学习系列专栏 💫\\\"没有罗马,那就自己创造罗马~\\\"   目录 线性数据结构Linear DS 1.栈Stack 栈的两种实现 1.左为栈顶,时间复杂度为O(n) 2.右为栈顶,时间复杂度O(1)   2.队列Queue 3.双端队列Deque 4.列表List 5.链表 a.无序链表的实现 b.有序链表的实

    2024年02月04日
    浏览(42)
  • 数据结构之基本数据类型(Python)

    接下来我们将会先学习Python 的基本数据类型,以及堆、栈、链表、树和图等数据结构,这是学习算法的基础。套用行业内的一句话: 数据结构是算法的骨骼。 数据结构是一门庞大的学科,远不是一本书就可以讲清楚的。如果想更深入地学习,可以参考类似《数据结构教程》

    2024年01月19日
    浏览(52)
  • python 定义数据结构

    class LogEvent:     bus_seq = None     line_number = None     event_received_time = None     app_name = None     source_module_name = None     source = None     filename = None     message = None     serial_id = None     thread_id = None log_event=LogEvent() print(dir(log_event)) log_event.bus_seq=\\\'1111\\\' print(log_event.bus_seq) [root@mas

    2024年02月07日
    浏览(43)
  • 【Python---六大数据结构】

    🚀 作者 :“码上有前” 🚀 文章简介 :Python 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 【Python–vscode常用快捷键,必收藏!】 【Python–代码规范 】 【Python --优雅代码写法】 【Python–Python2.x与Python3.x的区别】 【Python–Web应用框架大比较】 【Python—内置函数】 【Python—

    2024年02月21日
    浏览(39)
  • python数据结构堆栈

    堆是一种树形结构:满足两个主要性质 堆是一种完全二叉树:堆中所有层级除了最后一层都是完全填满的,且最后一层的节点都是向左排列 堆中的任意节点都不大于(或不小于)其子节点的值,这也是堆的属性 栈是一种线性结构,特点是后进先出。栈主要有两个操作,分别

    2024年02月03日
    浏览(48)
  • 【头歌】 Python数据结构 Python案例 实验一python初探(1)

    任务描述 本关任务:编写一个程序,依次输入用户的学号,姓名和手机号码 再依次输出相关信息 为了完成本关任务,你需要掌握: 1.如何输入数据 2.如何输出 输入语句 变量 = input( 提示性文字 ) 语句功能:系统显示提示性文字,等待用户输入。 将用户输入的信息存储在指定

    2024年04月11日
    浏览(92)
  • Python数据结构与算法

    栈、队列、双端队列和列表都是有序的数据集合, 其元素的顺序取决于添加顺序或移除顺序。一旦某个元素被添加进来,它与前后元素的相对位置将保持不变。这样的数据集合经常被称为线性数据结构。 栈的添加操作和移除操作总发生在同一端。栈中的元素离底端越近,代

    2024年02月02日
    浏览(56)
  • Python数据结构:哈希表

    散列(哈希)是电脑科学中一种对资料的处理方法,通过某种特定的函数/算法(称为散列函数/算法)将要检索的项与用来检索的索引(称为散列,或者散列值)关联起来,生成一种便于搜索的数据结构(称为散列表)。 哈希表是什么 哈希表(散列表)是根据键(Key)直接访

    2024年02月12日
    浏览(36)
  • Python数据结构详解(一)

    学习一门语言,了解其数据结构是基础。由于Python是动态编程语言,所以在定义变量时并不需要事先指定变量的数据类型,变量的声明和初始化是同时进行的。 Python有如下五大数据结构类型: 1、Number类型 2、字符串类型 3、列表,元组 4、字典 5、集合 下面我们逐一来了解一

    2024年02月09日
    浏览(34)
  • python数据结构和算法

    参考 python图解算法 选择/快速排序 哈希表 广度优先搜索算法 迪杰斯特拉算法 贪婪算法 动态规划 K-邻近算法 算法计时 time模块,与算法复杂度 O() [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EIwk2Zdi-1691788469064)(https://facert.gitbooks.io/python-data-str

    2024年02月13日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包