qmt教程2----订阅单股行情,提供源代码

链接 qmt教程2----订阅单股行情,提供源代码 (qq.com)

qmt教程1---qmt安装,提供下载链接

今天我重新封装了全部qmt的内容,包括数据,交易

图片

qmt交易

图片

我本来打算全部上次git的,但是考虑到毕竟是实盘的内容,就放弃了

图片

今天外卖学习怎么样订阅单独行情,订阅模式有数据变化qmt会自动推送过来,登录qmt就可以,现在模拟盘登录不了,我用我实盘给大家展示

图片

利用我的封装的类调用的数据,类强大

图片

源代码

#小果封装的交易框架from qmt_trader.qmt_data import qmt_datafrom qmt_trader.qmt_trader import qmt_traderdata=qmt_data()#订阅数据stock_list=['600031.SH','600111.SH']'''        models=qmt_data()        func=models.on_data_subscribe_quote        models.subscribe_quote(stock_code='600031.SH',callback=func)        models.run()        释义        订阅单股的行情数据,返回订阅号        数据推送从callback返回,数据类型和period指定的周期对应        数据范围代表请求的历史部分的数据范围,数据返回后会进入缓存,用于保证数据连续,通常情况仅订阅数据时传count = 0即可        参数        stock_code - string 合约代码        period - string 周期        start_time - string 起始时间        end_time - string 结束时间        count - int 数据个数        callback - 数据推送回调        回调定义形式为on_data(datas),回调参数datas格式为 { stock_code : [data1, data2, ...] }'''def callback(datas):    '''    回调函数    '''    print(datas,'22222222222222222')    code_list = list(datas.keys())    # 获取到本次触发的标的代码    kline_in_callabck = data.get_market_data([],code_list,period = '1m')    # 在回调中获取klines数据    print(kline_in_callabck)for stock  in stock_list:    data.subscribe_quote(stock_code=stock, period='1m',                     start_time='20210101', end_time='20240101', count=100, callback=callable)data.run()

运行的效果

图片

利用qmt原来的源代码调用方式,没有做任何改变

图片

源代码​​​​​​​

from xtquant import xtdataimport time# 设定一个标的列表code_list = ["600031.SH",'600111.SH']# 设定获取数据的周期period = "1m"def f(data):    '''    释义    从缓存获取行情数据,是主动获取行情的主要接口    参数    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数据权限    时间范围为闭区间    '''    print(data)    code_list = list(data.keys())    # 获取到本次触发的标的代码    kline_in_callabck = xtdata.get_market_data_ex([],code_list,period = '1m')    # 在回调中获取klines数据    print(kline_in_callabck)for i in code_list:    '''    订阅股票行情数据    :param stock_code: 股票代码 e.g. "000001.SZ"    :param start_time: 开始时间,格式YYYYMMDD/YYYYMMDDhhmmss/YYYYMMDDhhmmss.milli,e.g."20200427" "20200427093000" "20200427093000.000"        若取某日全量历史数据,时间需要具体到秒,e.g."20200427093000"    :param end_time: 结束时间 同“开始时间”    :param count: 数量 -1全部/n: 从结束时间向前数n个    :param period: 周期 分笔"tick" 分钟线"1m"/"5m" 日线"1d"    :param callback:        订阅回调函数onSubscribe(datas)        :param datas: {stock : [data1, data2, ...]} 数据字典    :return: int 订阅序号    '''    xtdata.subscribe_quote(i,period=period,count=-1,callback=f) # 订阅时设定回调函数# 使用回调时,必须要同时使用xtdata.run()来阻塞程序,否则程序运行到最后一行就直接结束退出了。xtdata.run()

运行的效果,自动推送实时数据

图片

利用小果框架调用原生的qmt源代码获取获取数据的代码,很简答

图片

源代码​​​​​​​

from qmt_trader.xtquant import xtdataimport time# 设定一个标的列表code_list = ["600031.SH",'600111.SH']# 设定获取数据的周期period = "1m"def f(data):    '''    释义    从缓存获取行情数据,是主动获取行情的主要接口    参数    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数据权限    时间范围为闭区间    '''    print(data)    code_list = list(data.keys())    # 获取到本次触发的标的代码    kline_in_callabck = xtdata.get_market_data_ex([],code_list,period = '1m')    # 在回调中获取klines数据    print(kline_in_callabck)for i in code_list:    '''    订阅股票行情数据    :param stock_code: 股票代码 e.g. "000001.SZ"    :param start_time: 开始时间,格式YYYYMMDD/YYYYMMDDhhmmss/YYYYMMDDhhmmss.milli,e.g."20200427" "20200427093000" "20200427093000.000"        若取某日全量历史数据,时间需要具体到秒,e.g."20200427093000"    :param end_time: 结束时间 同“开始时间”    :param count: 数量 -1全部/n: 从结束时间向前数n个    :param period: 周期 分笔"tick" 分钟线"1m"/"5m" 日线"1d"    :param callback:        订阅回调函数onSubscribe(datas)        :param datas: {stock : [data1, data2, ...]} 数据字典    :return: int 订阅序号    '''    xtdata.subscribe_quote(i,period=period,count=-1,callback=f) # 订阅时设定回调函数# 使用回调时,必须要同时使用xtdata.run()来阻塞程序,否则程序运行到最后一行就直接结束退出了。xtdata.run()

小果框架调用qmt原始的代码的效果,一模一样的

图片

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

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

相关文章

决策树学习笔记

一、衡量标准——熵 随机变量不确定性的度量 信息增益:表示特征X使得类Y的不确定性减少的程度。 二、数据集 14天的打球情况 特征:4种环境变化(天气、温度等等) 在上述数据种,14天中打球的天数为9天;不…

如何通过4G DTU实现现场仪表的分布式采集并发布到MQTT服务器

提供一份资料文档以一个具体的工程案例来讲解,如何通过4G DTU实现现场仪表的分布式采集并发布到MQTT服务器。采用的数据采集模块是有人物联的边缘采集4G DTU,采集多个多功能电表和远传水表的数据,通过MQTT通讯的型式传送给MQTT服务器&#xf…

【Vue3+Tres 三维开发】01-HelloWord

预览 什么是TRESJS 简单的说,就是基于THREEJS封装的能在vue3中使用的一个组件,可以像使用组件的方式去创建场景和模型。优势就是可以快速创建场景和要素的添加,并且能很明确知道创景中的要素构成和结构。 项目创建 npx create-vite@latest # 选择 vue typescript安装依赖…

【物联网】手把手完整实现STM32+ESP8266+MQTT+阿里云+APP应用——第1节-阿里云配置+MQTT.fx模拟与使用AT命令发布订阅消息

本节目标:通过MQTT.fx模拟连接或通过串口连接ESP8266发送AT命令,实现阿里云物联网平台发送数据同时接收数据,IOT studio界面显示数据。具体来说:使用ESP8266 ESP-01来连接网络,获取设备数据发送到阿里云物联网平台并显…

ElasticSearch批处理

在刚才的新增当中,我们是一次新增一条数据。那么如果你将来的数据库里有数千上万的数据,你一次新增一个,那得多麻烦。所以我们还要学习一下批量导入功能。 也就是说批量的把数据库的数据写入索引库。那这里的需求是,首先利用mybat…

哈密顿函数和正则方程

9-2 哈密顿函数和正则方程_哔哩哔哩_bilibili 拉格朗日函数是广义坐标和广义速度的函数 哈密顿函数是广义坐标和广义动量的函数 拉格朗日函数经过勒让德变换得到哈密顿函数

【python技术】akshare爬取A股最新业绩预告保存进excel的简单示例

最近A股上市公司陆续在出年报和一季度报了, 心里寻思着要不用python把这些数据爬取下来分析下,说干就干。 数据来源网站东方财富:https://data.eastmoney.com/bbsj/ 我这个人比较懒,直接用akshare封装的方法来搞定 之前用aksha…

通过阿里云OOS实现定时备份redis实例转储到OSS

功能背景 随着企业业务数据的快速增长,Redis 作为高性能的内存数据存储方案,在多种应用场景下承担着重要的角色。为确保数据安全,定时备份成为了不可或缺的一环。Redis 实例定时备份是关键数据库管理任务的一个重要组成部分,它主…

JAVA面试八股文之JVM

JVM JVM由那些部分组成,运行流程是什么?你能详细说一下 JVM 运行时数据区吗?详细介绍一下程序计数器的作用?你能给我详细的介绍Java堆吗?什么是虚拟机栈?栈内存溢出情况?堆栈的区别是什么吗?解…

.NET 检测地址/主机/域名是否正常

&#x1f331;PING 地址/主机名/域名 /// <summary>/// PING/// </summary>/// <param name"ip">ip</param>/// <returns></returns>public static bool PingIp(string ip){System.Net.NetworkInformation.Ping p new System.N…

Quarto Dashboards 教程 1:Overview

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度&#xff0c;分享官方文档的中文教程。软件可能随时更新&#xff0c;建议配合官方文档一起阅读。推荐先按顺序阅读往期内容&#xff1a; 1.quarto 教程 1&#xff1a;Hello, Quarto 2.qu…

游戏新手村21:再谈游戏广告页面设计

前文我们说到了网页游戏的LandingPage页面设计中需要遵循的一些规范和注意事项&#xff0c;本章我们重点谈下网络游戏的广告页面设计。 之前在金山的时候&#xff0c;大家习惯或者喜欢称LandingPage为分流页&#xff0c;这个页面需要加入哪些游戏信息才能在短时间内俘获玩家的…

深入解析Floyd Warshall算法:原理、Java实现与优缺点

Floyd Warshall算法的简介 在我们的日常生活中&#xff0c;常常会遇到需要找出两点之间最短路径的问题。比如&#xff0c;从家到公司的最短路线&#xff0c;或者在旅行时&#xff0c;从一个景点到另一个景点的最快路线。 为了解决这类问题&#xff0c;科学家们设计出了许多算法…

操作系统(Operating System)知识点复习——第十二章 文件管理

目录 0.前言 1.Overview 2.文件的组织方式 ①The Sequential File 顺序文件 ②The Pile堆 ③The Indexed Sequential File 索引顺序文件 ④The Indexed File 索引文件 ⑤The Direct or Hashed File 直接文件或者散列文件 3.文件目录 Structure 1&#xff1a;简单目录…

物联网应用技术综合实训室解决方案

一、背景 随着物联网技术的快速发展和广泛应用&#xff0c;物联网产业已经成为新的经济增长点&#xff0c;对于推动产业升级、提高社会信息化水平具有重要意义。因此&#xff0c;培养具备物联网技术应用能力的高素质人才成为了迫切需求。 传统的教育模式往往注重理论教学&…

Git--多人协作

目录 一、多人协作一二、多人协作二三、 远程分⽀删除后&#xff0c;本地git branch -a依然能看到的解决办法 一、多人协作一 ⽬前&#xff0c;我们所完成的⼯作如下&#xff1a; 1.基本完成Git的所有本地库的相关操作&#xff0c;git基本操作&#xff0c;分⽀理解&#xff0c;…

网站漏洞有哪些方法检查,网站常见漏洞扫描检测方案

在数字化时代&#xff0c;随着互联网的飞速发展&#xff0c;网站已经成为人们获取信息、交流互动的重要平台&#xff0c;网站安全对于企业和个人而言至关重要。但随着技术的不断发展&#xff0c;网站漏洞问题也日益凸显&#xff0c;给网络安全带来了严重威胁。 为了及时发现并…

【软考】设计模式之策略模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 优缺点5.1 优点5.2 缺点 6. 适用性 1. 说明 1.定义一系列的算法&#xff0c;把它们一个个封装起来&#xff0c;并且使它们可以相互替换。2.此模式使得算法可以独立于使用它们的客户而变化。3.策略模式&#xff08;Strategy Pattern…

《HCIP-openEuler实验指导手册》1.7 Apache虚拟主机配置

知识点 配置步骤 需求 域名访问目录test1.com/home/source/test1test2.com/home/source/test2test3.com/home/source/test3 创建配置文件 touch /etc/httpd/conf.d/vhost.conf vim /etc/httpd/conf.d/vhost.conf文件内容如下 <VirtualHost *.81> ServerName test1.c…

CONSOB 又下令封锁5个未经授权的投资网站,总数达1065

FX110讯&#xff1a;意大利金融市场监管局 CONSOB 已下令关闭 5 个非法提供金融服务/金融产品的网站。自2019年7月CONSOB有权下令封锁欺诈性金融网站以来&#xff0c;被封禁的网站数量已升至1065个。 以下是 CONSOB 下令新屏蔽的 5个网站&#xff1a; “Luno Invest” Vantage …