qmt量化交易策略小白学习笔记第4期【qmt如何获取获取行情数据--内置python使用方法】
内置python使用方法
qmt更加详细的教程方法,会持续慢慢梳理。
也可找寻博主的历史文章,搜索关键词查看解决方案 !
感谢关注,需免费开通量化回测与咨询实盘权限,可以和博主联系!
获取历史行情与实时行情
提示
-
在gmd系列函数中,历史行情需要从本地读取,所以若想取历史行情,需要先将历史行情下载到本地,而实时行情是从服务器返回的
-
所以,若需要历史行情,请先使用
界面端
或者download_history
函数进行下载;若需要最新行情,请向服务器进行订阅
-
特别的,对于xtdata.get_market_data_ex来说,由于没有subscribe参数,需要在参数外先进行订阅(
subscribe_quote
)才能获取最新行情 -
对于同时获取历史和实时行情的情况,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)
释义
获取实时行情与历史行情数据
参数
名称 | 类型 | 描述 |
---|---|---|
field | list | 数据字段,详情见下方field字段表 |
stock_list | list | 合约代码列表 |
period | str | 数据周期,可选字段为: "tick" "1m"的整数倍周期 "5m"的整数倍周期 "1d"的整数倍周期 |
start_time | str | 数据起始时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S,填""为获取历史最早一天 |
end_time | str | 数据结束时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S ,填""为截止到最新一天 |
count | int | 数据个数 |
dividend_type | str | 除权方式,可选值为 'none':不复权 'front':前复权 'back':后复权 'front_ratio': 等比前复权 'back_ratio': 等比后复权 |
fill_data | bool | 是否填充数据 |
subscribe | bool | 订阅数据开关,默认为True,设置为False时不做数据订阅,只读取本地已有数据。 |
field
字段可选:
field | 数据类型 | 含义 |
---|---|---|
time | int | 时间 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
close | float | 收盘价 |
volume | float | 成交量 |
amount | float | 成交额 |
settle | float | 今结算 |
openInterest | float | 持仓量 |
preClose | float | 前收盘价 |
suspendFlag | int | 停牌 1停牌,0 不停牌 |
period
周期为tick时,field
字段可选:
字段名 | 数据类型 | 含义 |
---|---|---|
time | int | 时间戳 |
stime | string | 时间戳字符串形式 |
lastPrice | float | 最新价 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
lastClose | float | 前收盘价 |
amount | float | 成交总额 |
volume | int | 成交总量(手) |
pvolume | int | 原始成交总量(未经过股手转换的成交总量)【不推荐使用】 |
stockStatus | int | 证券状态 |
openInterest | int | 若是股票,则openInt含义为股票状态,非股票则是持仓量openlnt字段说明 |
transactionNum | float | 成交笔数(期货没有,单独计算) |
lastSettlementPrice | float | 前结算(股票为0) |
settlementPrice | float | 今结算(股票为0) |
askPrice | list[float] | 多档委卖价 |
askVol | list[int] | 多档委卖量 |
bidPrice | list[float] | 多档委买价 |
bidVol | list[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更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,需免费开通量化回测与咨询实盘权限,可以和博主联系! 获取历史行情与实时行情…...

XXE(XML外部实体注入)
1、XXE原理 XXE(XML外部实体注入,XML External Entity) ,在应用程序解析XML输入时,当允许引用外部实体时,可构造恶意内容,导致读取任意文件、探测内网端口、攻击内网网站、发起DoS拒绝服务攻击、执行系统命…...
kafka 案例
kafka 案例 目录概述需求: 设计思路实现思路分析1.kafka案例_API 带回调函数的生产者2.kafka案例_API生产者分区策略测试3.kafka案例_自定义分区的生产者4.kafka案例_API同步发送生产者5.kafka案例_API简单消费者5.kafka案例_API消费者重置offset 参考资料和推荐阅读…...

别被“涨价“带跑,性价比才是消费真理
文章来源:全食在线 “再不好好赚钱,连方便面也吃不起了。”这是昨天在热搜下,一位网友的留言。而热搜的内容,正是康师傅方便面即将涨价的消息。 01 传闻初现 昨天上午,朋友圈就有人放出康师傅方便面要涨价的消息&am…...
GEE深度学习——使用Tensorflow进行神经网络DNN土地分类
Tensorflow TensorFlow是一个开源的深度学习框架,由Google开发和维护。它提供了一个灵活的框架来构建和训练各种机器学习模型,尤其是深度神经网络模型。 TensorFlow的主要特点包括: 1. 它具有高度的灵活性,可以用于训练和部署各种类型的机器学习模型,包括分类、回归、聚…...
死锁示例(python、go)
Thread 1首先获取了资源A,然后尝试获取资源B,但此时资源B已经被Thread 2获取,因此Thread 1会一直等待。而Thread 2也类似,首先获取资源B,然后尝试获取资源A,但此时资源A已经被Thread 1获取,因此…...
Spring Cloud 面试题(五)
1. Eureka的自我保护模式是什么? Eureka的自我保护模式是一种应对网络异常的安全保护措施,旨在防止因网络分区或其他异常情况导致服务实例被错误地注销。当Eureka Server在短时间内丢失过多的客户端心跳时,会触发自我保护机制。以下是自我保…...

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

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

C从零开始实现贪吃蛇大作战
个人主页:星纭-CSDN博客 系列文章专栏 : C语言 踏上取经路,比抵达灵山更重要!一起努力一起进步! 有关Win32API的知识点在上一篇文章: 目录 一.地图 1.控制台基本介绍 2.宽字符 1.本地化 2.类项 3.setlocale函…...
国内外相机在LabVIEW图像处理的对比
概述 本文对比国内外相机在LabVIEW进行图像处理的区别,探讨各自的特点。国内相机如大恒和海康威视,具有较高性价比和本地化支持;国外品牌如Basler和FLIR则以高性能和稳定性著称。两者在驱动兼容性、图像质量和技术支持方面各有优势。 详细对…...
第四十五天 | 322.零钱兑换
题目:322.零钱兑换 尝试解答: 1.确定dp[j]含义:装满容量为j的背包所需要放的硬币个数为dp[j]; 2.动态转移方程:dp[j] dp[j - coins[i]] 1; 3.遍历顺序:本题应该为组合类题目,不考虑装入的顺序&#x…...

3D 生成重建011-LucidDreamer 优化SDS过平滑结果的一种探索
3D 生成重建011-LucidDreamer 优化SDS过平滑结果的一种探索 文章目录 0论文工作1论文方法2 效果 0论文工作 文本到3D生成的最新进展标志着生成模型的一个重要里程碑,为在各种现实场景中创建富有想象力的3D资产打开了新的可能性。虽然最近在文本到3D生成方面的进展…...
ES6 笔记04
01 异步函数的使用 es6推出了一种按照顺序执行的异步函数的方法 async 异步函数 async异步函数可以解决promise封装异步代码,调用时一直then链式编程时比较麻烦的问题 定义异步函数: async function 函数名(){ await 表达式1或者函数的调用1 await 表达式2或者函数的调用2 ...…...

中间件-------RabbitMQ
同步和异步 异步调用 MQ MQ优势:①服务解耦 ②异步调用 ③流量削峰 结构 消息模型 RabbitMQ入门案例,实现消息发送和消息接收 生产者: public class PublisherTest {Testpublic void testSendMessage() throws IOException, TimeoutExce…...
flink Data Source数据源
flink Data Source数据源 Source 并行度 非并行:并行度只能为1 并行 基于集合的Source fromElements package com.pxj.sx.flink; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.RestOptions; import org.ap…...
网络七层模型与云计算中的网络服务
网络七层模型,也称为OSI(Open System Interconnection)模型,是由国际标准化组织(ISO)制定的一个概念性框架,用于描述网络通信过程中信息是如何被封装、传输和解封装的。这一模型将复杂的网络通信…...

word一按空格就换行怎么办?word文本之间添加空格就换行怎么办?
如上图,无法在Connection和con之间添加空格,一按空格就会自动换行。 第一步:选中文本,打开段落。 第二步:点击中文版式,勾选允许西文在单词中间换行。 确定之后就解决一按空格就自动换行啦!...
Python 遍历字典的方法,你都掌握了吗
Python中的字典是一种非常灵活的数据结构,它允许通过键来存储和访问值。在处理字典时,经常需要遍历字典中的元素,以下是几种常见的遍历字典的方法。 1. 使用 for 循环直接遍历字典的键 字典的键是唯一的,可以直接通过 for 循环来…...

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

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...

在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...
【题解-洛谷】P10480 可达性统计
题目:P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M,接下来 M M M 行每行两个整数 x , y x,y x,y,表示从 …...