qmt量化教程4----订阅全推数据

文章链接 qmt量化教程4----订阅全推数据 (qq.com)

上次写了订阅单股数据的教程 量化教程3---miniqmt当作第三方库设置,提供源代码

全推就主动推送,当行情有变化就会触发回调函数,推送实时数据,可以理解为数据驱动类型,当数据没有变化不推送数据,函数保持一样的数据,可以全推市场数据比如SH,SZ,期货市场等

1打开qmt,登录选择极简模式

图片

原始的qmt全推送函数代码

图片

# coding:utf-8import timefrom xtquant import xtdatacode='600031.SH'#订阅最新行情def callback_func(data):    print('回调触发')    stock_code=list(data.keys())    df=xtdata.get_full_tick(code_list=stock_code)    print(df)    xtdata.subscribe_quote(stock_code=code,start_time='20240101',end_time='20240525',period='1m')    hist=xtdata.get_market_data(stock_list=[code],start_time='20240101',end_time='20240525',period='1m')    print(hist)xtdata.subscribe_whole_quote(code_list=[code],callback=callback_func)#死循环 阻塞主线程退出xtdata.run()

运行的效果

图片

推送一分钟的数据先订阅

图片

小果框架利用类开发使用非常方便

图片

小果框架订阅全推数据的代码​​​​

# coding:utf-8import timefrom qmt_trader.qmt_data import qmt_datadata=qmt_data()code='600031.SH'#订阅最新行情def callback_func(datas):    print('回调触发')    stock_code=list(datas.keys())    df=data.get_full_tick(code_list=stock_code)    print(df)    data.subscribe_quote(stock_code=code,start_time='20240101',end_time='20240525',period='1m')    hist=data.get_market_data(stock_list=[code],start_time='20240101',end_time='20240525',period='1m')    print(hist)data.subscribe_whole_quote(code_list=[code],callback=callback_func)#死循环 阻塞主线程退出data.run()#函数的具体代码"""def get_full_tick(self,code_list=['600031.SH','600111.SH']):        '''        例子        models=qmt_data()        stock_list=['600031.SH','600111.SH']        df=models.get_full_tick()        print(df)        释义        获取全推数据        参数        code_list - 代码列表,支持传入市场代码或合约代码两种方式        传入市场代码代表订阅全市场,示例:['SH', 'SZ']        传入合约代码代表订阅指定的合约,示例:['600000.SH', '000001.SZ']        返回        dict 数据集 { stock1 : data1, stock2 : data2, ... }        备注        获取除权数据        '''        df=self.xtdata.get_full_tick(code_list=code_list)        return df""""""def get_market_data(self,field_list=[], stock_list=['600031.SH','600111.SH'],                         period='1d', start_time='20210101', end_time='20240419',                        count=-100, dividend_type='none', fill_data=True):        '''        数据需要先订阅        #启动模型        models=qmt_data()        models.subscribe_quote(stock_code='600031.SH')        df=models.get_market_data(field_list=[], stock_list=['600031.SH','600111.SH'],                             period='1d', start_time='20210101', end_time='20240419',                            count=-100, dividend_type='none', fill_data=True)        print(df)        释义        从缓存获取行情数据,是主动获取行情的主要接口        参数        field_list - list 数据字段列表,传空则为全部字段        stock_list - list 合约代码列表        period - string 周期        start_time - string 起始时间        end_time - string 结束时间        count - int 数据个数        默认参数,大于等于0时,若指定了start_time,end_time,此时以end_time为基准向前取count条;若start_time,end_time缺省,默认取本地数据最新的count条数据;若start_time,end_time,count都缺省时,默认取本地全部数据        dividend_type - string 除权方式        fill_data - bool 是否向后填充空缺数据        返回        period为1m 5m 1d等K线周期时        返回dict { field1 : value1, field2 : value2, ... }        field1, field2, ... :数据字段        value1, value2, ... :pd.DataFrame 数据集,index为stock_list,columns为time_list        各字段对应的DataFrame维度相同、索引相同        period为tick分笔周期时        返回dict { stock1 : value1, stock2 : value2, ... }        stock1, stock2, ... :合约代码        value1, value2, ... :np.ndarray 数据集,按数据时间戳time增序排列        备注        获取lv2数据时需要数据终端有lv2数据权限        时间范围为闭区间        '''        df=self.xtdata.get_market_data(field_list, stock_list, period,                                        start_time, end_time, count, dividend_type, fill_data)        return df    def get_marke""""""def subscribe_whole_quote(self,code_list=['600031.SH'], callback=None):        '''        models=qmt_data()        func=models.on_data_subscribe_quote        models.subscribe_whole_quote(code_list=['600031.SH','600111.SH'],callback=func)        models.run()        释义        订阅全推行情数据,返回订阅号        数据推送从callback返回,数据类型为分笔数据        参数        code_list - 代码列表,支持传入市场代码或合约代码两种方式        传入市场代码代表订阅全市场,示例:['SH', 'SZ']        传入合约代码代表订阅指定的合约,示例:['600000.SH', '000001.SZ']        callback - 数据推送回调        回调定义形式为on_data(datas),回调参数datas格式为 { stock1 : data1, stock2 : data2, ... }        '''        stats=self.xtdata.subscribe_whole_quote(code_list=code_list,callback=callback)        if stats !=-1:            print('{}订阅成功'.format(code_list))        else:            print('{}订阅失败'.format(code_list))        return stats"""

推送ticck数据

图片

推送一分钟数据

图片

源代码全部上传了知识星球可以直接下载

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

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

相关文章

vs2019 c++ 函数的返回值是对象的值传递时候,将调用对象的移动构造函数

以前倒没有注意过这个问题。但编译器这么处理也符合移动构造的语义。因为本来函数体内的变量也要离开作用域被销毁回收了。测试如下: 谢谢

[SCTF2019]babyre

打开看看还是有花指令 解除后首先pass1是解maze,好像又是三维的 x是25,也就是向下跳五层,注意是立体的 得到 passwd1: ddwwxxssxaxwwaasasyywwdd 接着往下看 有一个加密函数IDA逆向常用宏定义_lodword-CSDN博客 unsigned __int64 __fastca…

primeflex样式库笔记 Display相关的案例

回顾 宽度设置的基本总结 w-full:表示widtdh:100%;占满父容器的宽度。 w-screen:表示占满整个屏幕的宽度。 w-1到w-12,是按百分比划分宽度,数字越大,占据的比例就越大。 w-1rem到w-30rem&…

Oracle的安装以及一些相关问题

系列文章目录 Oracle的安装以及一些相关问题 文章目录 系列文章目录前言一、Oracle的安装二、常用命令三、误删dbf四、PLSQL乱码五、oracle更换数据库字符集总结 前言 一段时间没更新,主要最近一直在找工作,最终还是顺着春招找到工作了,现在…

七大经典排序算法——冒泡排序

文章目录 📑冒泡排序介绍🌤️代码实现🌤️做个简单的优化🌤️复杂度和稳定性分析☁️结语 📑冒泡排序介绍 冒泡排序是一种简单但效率较低的排序算法。它重复地比较相邻的两个元素,如果顺序不对则交换它们&…

Leetcode | 5-21| 每日一题

2769. 找出最大的可达成数字 考点: 暴力 数学式子计算 思维 题解 通过式子推导: 第一想法是二分确定区间在区间内进行查找是否符合条件的, 本题最关键的便是 条件确定 , 第二种方法: 一般是通过数学公式推导的,这种题目我称为数学式编程题 代码 条件判断式 class Solution { …

MacBook 怎么玩Windows游戏 苹果笔记本怎么玩游戏?mac上如何玩windows游戏

传统上,Mac 不被认为是好的游戏机。然而,苹果已经开始在 Mac 上的游戏上投入更多精力,特别是自从转向苹果芯片以来。这使得 Mac 游戏的本机移植数量和模拟 Windows 游戏的能力都得到了显著提高。 方法一:Boot Camp 1、Boot Camp是…

SpirngMVC框架学习笔记(一):SpringMVC基本介绍

1 SpringMVC 特点&概述 SpringMVC 从易用性,效率上 比曾经流行的 Struts2 更好 SpringMVC 是 WEB 层框架,接管了 Web 层组件, 比如控制器, 视图, 视图解析, 返回给用户的数据格式, 同时支持 MVC 的开发模式/开发架构SpringMVC 通过注解,…

MATLAB:插值函数之interp与griddata

MATLAB 提供了多种插值函数来处理不同维度的数据。其中,interp1、interp2 和 griddata 是常用的插值函数,分别用于一维、二维和多维(不规则)数据的插值。 之前有对interp1进行过详细介绍,如需详细了解,请查…

会声会影调速怎么用 会声会影如何调整音频速度

会声会影是一款功能强大的视频编辑软件,可以帮助我们轻松的实现剪辑。 会声会影的操作简单易懂,界面简洁明快。适合家庭使用, 我们使用会声会影可以在家就能将视频剪辑成好莱坞大片。但是在使用的过程中,仍然会遇到一些操作上的问…

2024年上半年软件系统架构师论文【回忆版】

文章目录 考试时间考试地点案例分析1、微服务架构的优点和缺点2、质量属性的6个元素3、分布式锁 Redis的缺点4、MongoDB 存储矢量图的优势 论文回忆版论文一、论单元测试的设计与应用论文二、论大数据模型的设计与应用论文三、论模型驱动的架构设计及应用论文四、论云原生运维的…

探索LangGraph:如何创建一个既智能又可控的航空客服AI

这种设计既保持了用户控制权,又确保了对话流程的顺畅。但随着工具数量的增加,单一的图结构可能会变得过于复杂。我们将在下一节中解决这个问题。 第三部分的图将类似于下面的示意图: 状态定义 首先,定义图的状态。我们的状态和L…

C++:List的使用和模拟实现

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers …

网络空间安全数学基础·整除与同余

主要内容: 整除的基本概念(掌握) 素数(掌握) 同余的概念(掌握) 1.1整除 定义:设a,b是任意两个整数,其中b≠0,如果存在一个整数q,使 …

12306技术内幕

公司内部做的一次技术分享 文章目录 12306的成就12306系统特点12306系统难点解决思路产品角度技术角度余票库存的表如何设计? 抢票软件推荐巨人的肩膀 对于未公开的技术部分,只能结合已公开的信息,去做大胆的猜想。 本文提到的一些解决方案&…

测试基础05:软件测试的分类

课程大纲 1、两种架构(Architecture) 1.1、B/S(Browser/Server) 浏览器服务器架构(大体3步):用户通过浏览器向服务器发出请求,服务器处理请求,将结果通过网络返回到用户…

使用Webcam实现摄像头的开启和关闭,并保存和复制图片

实现思路 0,将webcam的jar文件传入项目中 1,显示摄像头的地方:创建一个画板,在画板上添加开启和关闭按钮 2,设置开启和关闭功能:创建一个类实现动作监听器,进而实现监听动作按钮 3&#xff…

【数据结构与算法篇】二叉树链式结构及实现

【数据结构与算法篇】二叉树链式结构及实现 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 4. 二叉树链式结构的实现 4.1 前置说明 4.2 二叉树的遍历 4.2.1 前序、中序以及…

OceanBase的存储架构与传统LSM-Tree架构的异同|OceanBase数据转储合并技术解读(二)

前篇博文将OceanBase的存储架构巧妙地与自然界中的“水生态”进行了类比,今日我们转变视角,聚焦在与拥有相同LSM-Tree架构的其他产品的比较,深入探讨OceanBase相较于它们所展现出的独特性能。 众所周知,OceanBase数据库的存储引擎…

element-ui 前端ui框架用法开发指南(2024-05-22)

Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 1、npm安装 // npm安装:npm install element-ui --save 能更好地和 webpack 打包工具配合使用 2、cdn在线引入 访问最新版本的资源地址 - element-uiThe CDN for element-u…