当前位置: 首页 > news >正文

qmt量化交易策略小白学习笔记第4期【qmt如何获取获取行情数据--内置python使用方法】

内置python使用方法

qmt更加详细的教程方法,会持续慢慢梳理。

也可找寻博主的历史文章,搜索关键词查看解决方案 !

感谢关注,需免费开通量化回测与咨询实盘权限,可以和博主联系!

获取历史行情与实时行情

提示

  1. 在gmd系列函数中,历史行情需要从本地读取,所以若想取历史行情,需要先将历史行情下载到本地,而实时行情是从服务器返回的

  2. 所以,若需要历史行情,请先使用界面端或者download_history函数进行下载;若需要最新行情,请向服务器进行订阅

  3. 特别的,对于xtdata.get_market_data_ex来说,由于没有subscribe参数,需要在参数外先进行订阅(subscribe_quote)才能获取最新行情

  4. 对于同时获取历史和实时行情的情况,gmd系列函数会自动进行拼接

#内置Python

调用方法

内置python

ContextInfo.get_market_data_ex(fields=[], stock_code=[], period='follow', start_time='', end_time='', count=-1, dividend_type='follow', fill_data=True, subscribe=True)

释义

获取实时行情与历史行情数据

参数

名称类型描述
fieldlist数据字段,详情见下方field字段表
stock_listlist合约代码列表
periodstr数据周期,可选字段为:
"tick"
"1m"的整数倍周期
"5m"的整数倍周期
"1d"的整数倍周期
start_timestr数据起始时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S,填""为获取历史最早一天
end_timestr数据结束时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S ,填""为截止到最新一天
countint数据个数
dividend_typestr除权方式,可选值为
'none':不复权
'front':前复权
'back':后复权
'front_ratio': 等比前复权
'back_ratio': 等比后复权
fill_databool是否填充数据
subscribebool订阅数据开关,默认为True,设置为False时不做数据订阅,只读取本地已有数据。
  • field字段可选:
field数据类型含义
timeint时间
openfloat开盘价
highfloat最高价
lowfloat最低价
closefloat收盘价
volumefloat成交量
amountfloat成交额
settlefloat今结算
openInterestfloat持仓量
preClosefloat前收盘价
suspendFlagint停牌 1停牌,0 不停牌
  • period周期为tick时,field字段可选:
字段名数据类型含义
timeint时间戳
stimestring时间戳字符串形式
lastPricefloat最新价
openfloat开盘价
highfloat最高价
lowfloat最低价
lastClosefloat前收盘价
amountfloat成交总额
volumeint成交总量(手)
pvolumeint原始成交总量(未经过股手转换的成交总量)【不推荐使用】
stockStatusint证券状态
openInterestint若是股票,则openInt含义为股票状态,非股票则是持仓量openlnt字段说明
transactionNumfloat成交笔数(期货没有,单独计算)
lastSettlementPricefloat前结算(股票为0)
settlementPricefloat今结算(股票为0)
askPricelist[float]多档委卖价
askVollist[int]多档委卖量
bidPricelist[float]多档委买价
bidVollist[int]多档委买量

返回值

  • 返回dict { stock_code1 : value1, stock_code2 : value2, ... }
  • value1, value2, ... :pd.DataFrame 数据集,index为time_list,columns为fields,可参考Bar字段
  • 各标的对应的DataFrame维度相同、索引相同

示例

获取行情示例

# coding:gbkdef init(C):start_date = '20231001'# 格式"YYYYMMDD",开始下载的日期,date = ""时全量下载end_date = "" period = "1d" need_download = 1  # 取数据是空值时,将need_download赋值为1,确保正确下载了历史数据code_list = ["000001.SZ", "600519.SH"] # 股票列表if need_download: # 判断要不要下载数据, gmd系列函数都是从本地读取历史数据,从服务器订阅获取最新数据my_download(code_list, period, start_date, end_date)############ 仅获取历史行情 #####################subscribe = False # 设置订阅参数,使gmd_ex仅返回本地数据count = -1 # 设置count参数,使gmd_ex返回全部数据data1 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe)############ 仅获取最新行情 #####################subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情count = 1 # 设置count参数,使gmd_ex仅返回最新行情数据data2 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = 1) # count 设置为1,使返回值只包含最新行情############ 获取历史行情+最新行情 #####################subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情count = -1 # 设置count参数,使gmd_ex返回全部数据data3 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = -1) # count 设置为1,使返回值只包含最新行情print(data1[code_list[0]].tail())# 行情数据查看print(data2[code_list[0]].tail())print(data3[code_list[0]].tail())def handlebar(C):returndef my_download(stock_list,period,start_date = '', end_date = ''):'''用于显示下载进度'''if "d" in period:period = "1d"elif "m" in period:if int(period[0]) < 5:period = "1m"else:period = "5m"elif "tick" == period:passelse:raise KeyboardInterrupt("周期传入错误")n = 1num = len(stock_list)for i in stock_list:print(f"当前正在下载{n}/{num}")download_history_data(i,period,start_date, end_date)n += 1print("下载任务结束")

仅获取历史行情

当前正在下载1/2
当前正在下载2/2
下载任务结束
start simulation modeamount  close   high    low   open  openInterest  preClose  \
stime                                                                        
20231124  6.914234e+08  10.10  10.13  10.08  10.11            15     10.15   
20231127  8.362684e+08  10.01  10.09   9.97  10.09            15     10.10   
20231128  7.844058e+08   9.95  10.02   9.95   9.99            15     10.01   
20231129  1.438320e+09   9.72   9.97   9.70   9.95            15      9.95   
20231130  8.714817e+08   9.68   9.73   9.62   9.69            15      9.72   settelementPrice     stime  suspendFlag           time   volume  
stime                                                                      
20231124               0.0  20231124            0  1700755200000   684695  
20231127               0.0  20231127            0  1701014400000   836188  
20231128               0.0  20231128            0  1701100800000   786175  
20231129               0.0  20231129            0  1701187200000  1467597  
20231130               0.0  20231130            0  1701273600000   901765  

 仅获取最新行情

start simulation modeamount  close  high   low  open  openInterest  preClose  \
stime                                                                     
20231130  8.714817e+08   9.68  9.73  9.62  9.69            15      9.72   settelementPrice     stime  suspendFlag           time  volume  
stime                                                                     
20231130               0.0  20231130            0  1701273600000  901765  

获取历史行情+最新行情

start simulation modeamount  close   high    low   open  openInterest  preClose  \
stime                                                                        
20231124  6.914234e+08  10.10  10.13  10.08  10.11            15     10.15   
20231127  8.362684e+08  10.01  10.09   9.97  10.09            15     10.10   
20231128  7.844058e+08   9.95  10.02   9.95   9.99            15     10.01   
20231129  1.438320e+09   9.72   9.97   9.70   9.95            15      9.95   
20231130  8.714817e+08   9.68   9.73   9.62   9.69            15      9.72   settelementPrice     stime  suspendFlag           time   volume  
stime                                                                      
20231124               0.0  20231124            0  1700755200000   684695  
20231127               0.0  20231127            0  1701014400000   836188  
20231128               0.0  20231128            0  1701100800000   786175  
20231129               0.0  20231129            0  1701187200000  1467597  
20231130               0.0  20231130            0  1701273600000   901765  

相关文章:

qmt量化交易策略小白学习笔记第4期【qmt如何获取获取行情数据--内置python使用方法】

内置python使用方法 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;需免费开通量化回测与咨询实盘权限&#xff0c;可以和博主联系&#xff01; 获取历史行情与实时行情…...

XXE(XML外部实体注入)

1、XXE原理 XXE&#xff08;XML外部实体注入&#xff0c;XML External Entity) &#xff0c;在应用程序解析XML输入时&#xff0c;当允许引用外部实体时&#xff0c;可构造恶意内容&#xff0c;导致读取任意文件、探测内网端口、攻击内网网站、发起DoS拒绝服务攻击、执行系统命…...

kafka 案例

kafka 案例 目录概述需求&#xff1a; 设计思路实现思路分析1.kafka案例_API 带回调函数的生产者2.kafka案例_API生产者分区策略测试3.kafka案例_自定义分区的生产者4.kafka案例_API同步发送生产者5.kafka案例_API简单消费者5.kafka案例_API消费者重置offset 参考资料和推荐阅读…...

别被“涨价“带跑,性价比才是消费真理

文章来源&#xff1a;全食在线 “再不好好赚钱&#xff0c;连方便面也吃不起了。”这是昨天在热搜下&#xff0c;一位网友的留言。而热搜的内容&#xff0c;正是康师傅方便面即将涨价的消息。 01 传闻初现 昨天上午&#xff0c;朋友圈就有人放出康师傅方便面要涨价的消息&am…...

GEE深度学习——使用Tensorflow进行神经网络DNN土地分类

Tensorflow TensorFlow是一个开源的深度学习框架,由Google开发和维护。它提供了一个灵活的框架来构建和训练各种机器学习模型,尤其是深度神经网络模型。 TensorFlow的主要特点包括: 1. 它具有高度的灵活性,可以用于训练和部署各种类型的机器学习模型,包括分类、回归、聚…...

死锁示例(python、go)

Thread 1首先获取了资源A&#xff0c;然后尝试获取资源B&#xff0c;但此时资源B已经被Thread 2获取&#xff0c;因此Thread 1会一直等待。而Thread 2也类似&#xff0c;首先获取资源B&#xff0c;然后尝试获取资源A&#xff0c;但此时资源A已经被Thread 1获取&#xff0c;因此…...

Spring Cloud 面试题(五)

1. Eureka的自我保护模式是什么&#xff1f; Eureka的自我保护模式是一种应对网络异常的安全保护措施&#xff0c;旨在防止因网络分区或其他异常情况导致服务实例被错误地注销。当Eureka Server在短时间内丢失过多的客户端心跳时&#xff0c;会触发自我保护机制。以下是自我保…...

源码编译安装LAMP

1.LAMP介绍 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词&#xff0c;具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP&#xff08;…...

html5网页-浏览器中实现高德地图定位功能

介绍 HTML5是当前Web开发中最常用的技术之一&#xff0c;而地图应用又是其中一个非常常见的需求。高德地图是国内最受欢迎的地图服务提供商之一&#xff0c;他们提供了一系列的API&#xff0c;方便开发者在自己的网站或应用中集成地图功能。 接下来我们如何使用HTML5浏览器和高…...

C从零开始实现贪吃蛇大作战

个人主页&#xff1a;星纭-CSDN博客 系列文章专栏 : C语言 踏上取经路&#xff0c;比抵达灵山更重要&#xff01;一起努力一起进步&#xff01; 有关Win32API的知识点在上一篇文章&#xff1a; 目录 一.地图 1.控制台基本介绍 2.宽字符 1.本地化 2.类项 3.setlocale函…...

国内外相机在LabVIEW图像处理的对比

概述 本文对比国内外相机在LabVIEW进行图像处理的区别&#xff0c;探讨各自的特点。国内相机如大恒和海康威视&#xff0c;具有较高性价比和本地化支持&#xff1b;国外品牌如Basler和FLIR则以高性能和稳定性著称。两者在驱动兼容性、图像质量和技术支持方面各有优势。 详细对…...

第四十五天 | 322.零钱兑换

题目&#xff1a;322.零钱兑换 尝试解答&#xff1a; 1.确定dp[j]含义&#xff1a;装满容量为j的背包所需要放的硬币个数为dp[j]; 2.动态转移方程&#xff1a;dp[j] dp[j - coins[i]] 1; 3.遍历顺序&#xff1a;本题应该为组合类题目&#xff0c;不考虑装入的顺序&#x…...

3D 生成重建011-LucidDreamer 优化SDS过平滑结果的一种探索

3D 生成重建011-LucidDreamer 优化SDS过平滑结果的一种探索 文章目录 0论文工作1论文方法2 效果 0论文工作 文本到3D生成的最新进展标志着生成模型的一个重要里程碑&#xff0c;为在各种现实场景中创建富有想象力的3D资产打开了新的可能性。虽然最近在文本到3D生成方面的进展…...

ES6 笔记04

01 异步函数的使用 es6推出了一种按照顺序执行的异步函数的方法 async 异步函数 async异步函数可以解决promise封装异步代码,调用时一直then链式编程时比较麻烦的问题 定义异步函数: async function 函数名(){ await 表达式1或者函数的调用1 await 表达式2或者函数的调用2 ...…...

中间件-------RabbitMQ

同步和异步 异步调用 MQ MQ优势&#xff1a;①服务解耦 ②异步调用 ③流量削峰 结构 消息模型 RabbitMQ入门案例&#xff0c;实现消息发送和消息接收 生产者&#xff1a; public class PublisherTest {Testpublic void testSendMessage() throws IOException, TimeoutExce…...

flink Data Source数据源

flink Data Source数据源 Source 并行度 非并行&#xff1a;并行度只能为1 并行 基于集合的Source fromElements package com.pxj.sx.flink; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.RestOptions; import org.ap…...

网络七层模型与云计算中的网络服务

网络七层模型&#xff0c;也称为OSI&#xff08;Open System Interconnection&#xff09;模型&#xff0c;是由国际标准化组织&#xff08;ISO&#xff09;制定的一个概念性框架&#xff0c;用于描述网络通信过程中信息是如何被封装、传输和解封装的。这一模型将复杂的网络通信…...

word一按空格就换行怎么办?word文本之间添加空格就换行怎么办?

如上图&#xff0c;无法在Connection和con之间添加空格&#xff0c;一按空格就会自动换行。 第一步&#xff1a;选中文本&#xff0c;打开段落。 第二步&#xff1a;点击中文版式&#xff0c;勾选允许西文在单词中间换行。 确定之后就解决一按空格就自动换行啦&#xff01;...

Python 遍历字典的方法,你都掌握了吗

Python中的字典是一种非常灵活的数据结构&#xff0c;它允许通过键来存储和访问值。在处理字典时&#xff0c;经常需要遍历字典中的元素&#xff0c;以下是几种常见的遍历字典的方法。 1. 使用 for 循环直接遍历字典的键 字典的键是唯一的&#xff0c;可以直接通过 for 循环来…...

MySQL 8.4.0 LTS 变更解析:I_S 表、权限、关键字和客户端

↑ 关注“少安事务所”公众号&#xff0c;欢迎⭐收藏&#xff0c;不错过精彩内容~ MySQL 8.4.0 LTS 已经发布 &#xff0c;作为发版模型变更后的第一个长期支持版本&#xff0c;注定要承担未来生产环境的重任&#xff0c;那么这个版本都有哪些新特性、变更&#xff0c;接下来少…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...