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

news2024/11/25 7:01:29

目录

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 对象

行情快照数据

参数名类型说明
symbolstr标的代码
openfloat日线开盘价
highfloat日线最高价
lowfloat日线最低价
pricefloat最新价
cum_volumelong最新总成交量,累计值(日线成交量)
cum_amountfloat最新总成交额,累计值 (日线成交金额)
cum_positionint合约持仓量(只适用于期货),累计值(股票此值为 0)
trade_typeint交易类型(只适用于期货) 1: '双开', 2: '双平', 3: '多开', 4: '空开', 5: '空平', 6: '多平', 7: '多换', 8: '空换'
last_volumeint最新瞬时成交量
last_amountfloat最新瞬时成交额(郑商所 last_amount 为 0)
created_atdatetime.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_pfloat买价
bid_vint买量
ask_pfloat卖价
ask_vint卖量
bid_qdict委买队列 包含(total_orders (int)委托总个数, queue_volumes (list) 委托量队列),仅 level2 行情支持
ask_qdict委卖队列 包含(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 数据是指各种频率的行情数据

参数名类型说明
symbolstr标的代码
frequencystr频率, 支持 'tick', '60s', '300s', '900s' 等, 默认'1d', 详情见股票行情数据和期货行情数据, 实时行情支持的频率
openfloat开盘价
closefloat收盘价
highfloat最高价
lowfloat最低价
amountfloat成交额
volumelong成交量
positionlong持仓量(仅期货)
bobdatetime.datetimebar 开始时间
eobdatetime.datetimebar 结束时间

注意: 不活跃标的,没有成交量是不生成 bar

L2Order - Level2 逐笔委托
参数名类型说明
symbolstr标的代码
sidestr委托方向 深市:'1'买, '2'卖, 'F'借入, 'G'出借, 沪市:'B'买,'S'卖
pricefloat委托价
volumeint委托量
order_typestr委托类型 深市:'1'市价, '2'限价, 'U'本方最优,沪市:'A'新增委托订单,'D'删除委托订单
order_indexint委托编号
created_atdatetime.datetime创建时间
L2Transaction - Level2 逐笔成交
参数名类型说明
symbolstr标的代码
sidestr委托方向 沪市:B – 外盘,主动买, S – 内盘,主动卖, N – 集合竞价,深市无此字段
pricefloat成交价
volumeint成交量
exec_typestr成交类型 深市:'4'撤单,'F'成交, 沪市无此字段
exec_indexint成交编号
ask_order_indexint叫卖委托编号
bid_order_indexint叫买委托编号
created_atdatetime.datetime创建时间

4.2交易类
Account - 账户对象
属性类型说明
idstr账户 id,实盘时用于指定交易账户
cashdict资金字典
positions(symbol='', side=None)list持仓情况 列表, 默认全部持仓, 可根据单一 symbol(类型 str), [side](/sdk/python/枚举常量.html#PositionSide - 持仓方向 "PositionSide - 持仓方向") 参数可缩小查询范围
position(symbol, side)dict持仓情况 查询指定单一 symbol(类型 str)及持仓方向的持仓情况
statusdict交易账户状态 查询交易账户连接状态
Order - 委托对象
属性类型说明
strategy_idstr策略 ID
account_idstr账号 ID
account_namestr账户登录名
cl_ord_idstr委托客户端 ID,下单生成,固定不变(掘金维护,下单唯一标识)
order_idstr委托柜台 ID(系统字段,下单不会立刻生成,委托报到柜台才会生成)
ex_ord_idstr委托交易所 ID(系统字段,下单不会立刻生成,委托报到柜台才会生成)
algo_order_idstr算法单 ID
symbolstr标的代码
statusint委托状态 取值参考 OrderStatus
sideint买卖方向 取值参考 OrderSide
position_effectint开平标志 取值参考 PositionEffect
position_sideint持仓方向 取值参考 PositionSide
order_typeint委托类型 取值参考 OrderType
order_durationint委托时间属性 取值参考 OrderDuration
order_qualifierint委托成交属性 取值参考 OrderQualifier
order_businessint委托业务属性 取值参考 OrderBusiness
ord_rej_reasonint委托拒绝原因 取值参考 OrderRejegectReason
ord_rej_reason_detailstr委托拒绝原因描述
position_srcint头寸来源(系统字段)
volumeint委托量
pricefloat委托价格
valueint委托额
percentfloat委托百分比
target_volumeint委托目标量
target_valueint委托目标额
target_percentfloat委托目标百分比
filled_volumeint已成量 (一笔委托对应多笔成交为累计值)
filled_vwapfloat已成均价,公式为(price*(1+backtest_slippage_ratio)) (仅股票实盘支持,期货实盘不支持)
filled_amountfloat已成金额,公式为(filled_volume*filled_vwap) (仅股票实盘支持,期货实盘不支持)
filled_commissionfloat已成手续费,(实盘不支持)
created_atdatetime.datetime委托创建时间
updated_atdatetime.datetime委托更新时间
ExecRpt - 回报对象
属性类型说明
strategy_idstr策略 ID
account_idstr账号 ID
account_namestr账户登录名
cl_ord_idstr委托客户端 ID
order_idstr柜台委托 ID
exec_idstr交易所成交 ID
symbolstr委托标的
sideint买卖方向 取值参考 OrderSide
position_effectint开平标志 取值参考 PositionEffect
order_businessint委托业务属性 OrderBusiness
order_styleint委托风格 OrderStyle
ord_rej_reasonint委托拒绝原因 取值参考 OrderRejectReason
ord_rej_reason_detailstr委托拒绝原因描述
exec_typeint执行回报类型 取值参考 ExecType
pricefloat成交价格
volumeint成交量
amountfloat成交金额
costfloat成交成本金额(仅期货实盘支持,股票实盘不支持)
created_atdatetime.datetime回报创建时间
Cash - 资金对象
属性类型说明
account_idstr账号 ID
account_namestr账户登录名
currencyint币种
navfloat总资产
fpnlfloat浮动盈亏
frozenfloat持仓占用资金 (仅期货实盘支持,股票实盘不支持)
order_frozenfloat冻结资金
availablefloat可用资金
market_valuefloat市值
balancefloat资金余额
created_atdatetime.datetime资金初始时间
updated_atdatetime.datetime资金变更时间
Position - 持仓对象
属性类型说明
account_idstr账号 ID
account_namestr账户登录名
symbolstr标的代码
sideint持仓方向 取值参考 PositionSide
volumeint总持仓量; 如果要得到昨持仓量,公式为 (volume - volume_today)
volume_todayint今日买入量
market_valuefloat持仓市值
vwapfloat持仓均价 new_vwap=((position.vwap * position.volume)+(trade.volume*trade.price))/(position.volume+trade.volume) (实盘时,期货跨天持仓,会自动变成昨结价,仿真是开仓均价)
vwap_openfloat开仓均价(期货适用,实盘适用)
vwap_dilutedfloat摊薄成本(股票适用,实盘适用)
amountfloat持仓额 (volume*vwap*multiplier)
pricefloat当前行情价格(回测时值为 0)
fpnlfloat持仓浮动盈亏 ((price - vwap) * volume * multiplier) (基于效率的考虑,回测模式 fpnl 只有仓位变化时或者一天更新一次,仿真模式 3s 更新一次, 回测的 price 为当天的收盘价) (根据持仓均价计算)
fpnl_openfloat浮动盈亏(期货适用, 根据开仓均价计算)
costfloat持仓成本 (vwap * volume * multiplier * margin_ratio)
order_frozenint挂单冻结仓位
order_frozen_todayint挂单冻结今仓仓位(仅上期所和上海能源交易所标的支持)
availableint非挂单冻结仓位 ,公式为(volume - order_frozen); 如果要得到可平昨仓位,公式为 (available - available_today)
available_todayint非挂单冻结今仓位,公式为 (volume_today - order_frozen_today)(仅上期所和上海能源交易所标的支持)
available_nowint当前可用仓位
credit_position_sellable_volumeint可卖担保品数
created_atdatetime.datetime建仓时间 (实盘不支持)
updated_atdatetime.datetime仓位变更时间 (实盘不支持)

Indicator - 绩效指标对象
属性类型说明
account_idstr账号 ID
pnl_ratiofloat累计收益率 (pnl/cum_inout)
pnl_ratio_annualfloat年化收益率 (pnl_ratio/自然天数*365)
sharp_ratiofloat夏普比率 ([E(Rp)-Rf]/δp*sqrt(250),E(Rp) = mean(pnl_ratio),Rf = 0,δp = std(pnl_ratio) )
max_drawdownfloat最大回撤 max_drawdown=max(Di-Dj)/Di;D 为某一天的净值(j>i)
risk_ratiofloat风险比率 (持仓市值/nav)
calmar_ratiofloat卡玛比率 年化收益率/最大回撤
open_countint开仓次数
close_countint平仓次数
win_countint盈利次数(平仓价格大于持仓均价 vwap 的次数)
lose_countint亏损次数 (平仓价格小于或者等于持仓均价 vwap 的次数)
win_ratiofloat胜率 (win_count / (win_count + lose_count))
created_atdatetime.datetime指标创建时间
updated_atdatetime.datetime指标变更时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/770714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ylb-接口5产品详情

总览: 1、service处理(根据产品id ,查询产品信息) 在api模块下service包,ProductService接口添加新方法(根据产品id ,查询产品信息queryById(Integer id)): package …

微服务——技术栈+概念+远程调用案例

目录 微服务技术栈 认识微服务 微服务架构演变 总结 微服务技术对比 SpringCloud springcloud和springboot的对应版本 ​编辑 服务拆分 注意事项 入门案例 远程调用 步骤一 :注册ResTemplate 步骤二:修改service层代码 微服务技术栈 将一个大的项目拆分出…

GUI-Menu菜单实例(颜色+线型菜单)

运行代码: //GUI-Menu菜单实例(颜色线型菜单) #include"std_lib_facilities.h" #include"GUI/Simple_window.h" #include"GUI/GUI.h" #include"GUI/Graph.h" #include"GUI/Point.h"struc…

2.4G天线(一)

一、概念 1.1、波: 波是指振动的传播。 将某一物理量的扰动或振动在空间逐点传递时形成的运动称为波,波动是物质运动的重要形式。 1.2、电磁波: 电磁波是能量的一种,属于一种波。是由同相振荡且互相垂直的电场与磁场在空间…

pico添加devmem2读写内存模块

devmem2读写内存 自定义msh命令devmem2验证msh命令devmem2读CPUID读写全局变量 devmem2模块可实现对设备寄存器的读写操作。在RT-Thread的命令行组件Fish中添加devmem2模块,用户可在终端输入devmem2相关命令,FinSH根据输入对指定寄存器进行读写&#xff…

springboot整合feign实现RPC调用,并通过Hystrix实现服务降级

目录 一、服务提供者 二、服务消费者 三、测试效果 四、开启Hystrix实现服务降级 feign/openfeign和dubbo是常用的微服务RPC框架,由于feigin内部已经集成ribbon,自带了负载均衡的功能,当有多个同名的服务注册到注册中心时,会根…

Pycharm安装dlib

目录 一、下载dilb 二、使用pip安装dlib库(亲测有效) 三、使用Pycharm安装(未使用) 一、下载dilb 官方网址:德利卜 皮皮 (pypi.org) 二、使用pip安装dlib库(亲测有效) 将下载好的whl文件放入工程文件中 接下来使用Python自带的pip进行安装 1.winR2.输入cmd,回车…

vue3+vite+ts+vant 开发浙里办H5应用流程和注意事项

vue3vitets 开发浙里办H5应用流程和注意事项 最近有个项目是要开发到浙里办的一个H5项目,记录一些问题; 浙里办irs系统内node版本和npm版本如下建议切到他们的版本再进行开发这样问题少一点 1.因为浙里办有自己的irs系统 需要吧前端整体的代码传上去 除了 打包后的dist 和 no…

Vue实现阻止浏览器记住密码功能的三种方法

通常浏览器会主动识别密码表单,在你登录成功之后提示保存密码 , 密码保存到浏览器的 密码管理器中 ( 如下是谷歌浏览器 ) 这种行为是浏览器的行为 ,这种操作也是为了方便用户的使用 现在的一个需求是要阻止这个保存密码的弹窗提示 登录页账…

【AutoGluon_01】安装与示例

文章目录 一、安装二、示例一 AutoGluon预测目标数据1、导入数据2、训练3、预测4、评估5、小结 三、示例二 AutoGluon多模态预测(Multimodal Prediction)1、导入数据2、训练3、预测4、评估 四、示例三 AutoGluon进行时间序列预测1、导入数据2、训练3、预…

适配器模式-不兼容结构的协调

去英语国家旅游时,我们只会说中文,为了与当地人交流,我们需要购买个翻译器,将中文翻译成英文,而这运用了适配器模式。 1 概述 适配器模式(Adapter Pattern),将一个接口转换成客户喜…

golang 日志库logrus和lumberjack 日志切割库实践

package mainimport (log "github.com/Sirupsen/logrus""gopkg.in/natefinch/lumberjack.v2" )func main() {logger : &lumberjack.Logger{// 日志输出文件路径Filename: "/var/log/myapp/foo.log",// 日志文件最大 size, 单位是 MBMaxSiz…

i.MX6Q应用处理器:MCIMX6Q5EYM12AD/MCIMX6Q5EYM10AE/MCIMX6Q5EYM10ADR 4核、32位,624-LFBGA

i.MX6Q 处理器代表了集成多媒体应用处理器的最新成就。这些处理器是不断增长的多媒体产品系列的一部分,这些产品提供高性能处理,并针对最低功耗进行了优化。 i.MX6Quad处理器采用先进的四核ArmCortex-A9内核,运行速度高达1.2 GHz。它们包括2…

什么?微信朋友圈能够一键转发了?

作为「国民级」聊天软件,微信朋友圈功能一直备受关注,毕竟社交 3 大巨头中,QQ 和微博都可以转发动态。那微信朋友圈能不能也像 QQ 空间这样,点击转发能分享到 QQ、微信和朋友圈呢? 那到底朋友圈转发怎么个转法&#xf…

前端Vue自定义弹框、自定义弹框内容 alertView showModel popup 组件

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现…

数据标注的类型有哪些?

构建像人类一样的AI或ML模型需要大量训练数据。要使模型做出决定并采取行动,就必须通过数据标注来训练模型,使其能够理解特定信息。 但是,什么是数据标注呢?数据标注是指对用于人工智能应用的数据进行分类和标注。我们必须针对特定…

SpringBoot教学篇------SpringBoot自动配置原理

一、SpringBoot自动配置的注解AutoWired SpringBoot的自动配置就是当Spring容器启动后,一些自动配置类(只是自动配置类,并不是当前的组件配置到IOC容器中,自动配置类通过Conditional注解来按需配置)就自动装配的IOC容…

微服务: 05-rabbitmq设置重试次数并设置死信队列

目录 1. 上文传送门: 2. 前言简介: 2.1 问: 消费端重复循环异常如何解决? 2.2 为什么要使用死信队列 2.3 案例思路 -> ps: 以下案例经过测试(思路一/二实现原理一样) -> 2.3.1 思路一 -> 2.3.2 思路二 3. 案例代码 3.1 简单介绍案例 3.2 声明交换机 队…

网络知识整合——Web页面请求的历程

Web页面请求的历程 内部涉及知识:一、准备:DHCP、UDP、IP 和以太网二、仍在准备:DNS和ARP三、仍在准备:域内路由选择到DNS服务器四、Web客户-服务器交互:TCP和HTTP五、HTTP请求响应格式Requests部分Responses 部分 下载一个Web页面…

【MySQL】_1.数据库基础

目录 1.数据库介绍 1.1 数据结构与数据库 1.2 常见的数据库软件 1.3 数据库的分类 1.4 MySQL介绍 1.4.1 重要概念 1.4.2 学习内容 1.4.3 数据库服务器在硬盘上组织数据的方式 2. 数据库操作 2.1 显示当前数据库 2.2 创建数据库 2.3 选中数据库 2.4 删除数据库 3…