miniQMT怎么获取历史/最新行情?miniQMT原生python环境如何获取历史/最新行情?

news2024/11/13 12:08:25
原生Python

调用方法

python

from xtquant import xtdata
xtdata.get_market_data_ex(
    field_list=[],# 字段
    stock_list=[],# 合约代码列表
    period='1d',# 数据周期——1m、5m、1d、tick
    start_time='',# 数据起始时间%Y%m%d或%Y%m%d%H%M%S
    end_time='',# 数据结束时间%Y%m%d或%Y%m%d%H%M%S
    count=-1, # 数据个数
    dividend_type='none', # 除权方式
    fill_data=True, # 是否填充数据
)

参数

名称类型描述
fieldlist数据字段,详情见下方field字段表
stock_listlist合约代码列表
periodstr数据周期——1m、5m、1d、tick
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除权方式
fill_databool是否填充数据

  • 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含义为股票状态,非股票则是持仓量openInt字段说明
transactionNumfloat成交笔数(期货没有,单独计算)
lastSettlementPricefloat前结算(股票为0)
settlementPricefloat今结算(股票为0)
askPricelist[float]多档委卖价
askVollist[int]多档委卖量
bidPricelist[float]多档委买价
bidVollist[int]多档委买量

返回值

  • period为1m 5m 1dK线周期时
    • 返回dict { field1 : value1, field2 : value2, ... }
    • value1, value2, ... :pd.DataFrame 数据集,index为stock_list,columns为time_list
    • 各字段对应的DataFrame维度相同、索引相同

示例

from xtquant import xtdata
import time


def 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:
    pass
  else:
    raise KeyboardInterrupt("周期传入错误")


  n = 1
  num = len(stock_list)
  for i in stock_list:
    print(f"当前正在下载{n}/{num}")
    
    xtdata.download_history_data(i,period,start_date, end_date)
    n += 1
  print("下载任务结束")

def do_subscribe_quote(stock_list:list, period:str):
  for i in stock_list:
    xtdata.subscribe_quote(i,period = period)
  time.sleep(1) # 等待订阅完成

if __name__ == "__main__":

  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)
  
  ############ 仅获取历史行情 #####################
  count = -1 # 设置count参数,使gmd_ex返回全部数据
  data1 = xtdata.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date)

  ############ 仅获取最新行情 #####################
  do_subscribe_quote(code_list,period)# 设置订阅参数,使gmd_ex取到最新行情
  count = 1 # 设置count参数,使gmd_ex仅返回最新行情数据
  data2 = xtdata.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date, count = 1) # count 设置为1,使返回值只包含最新行情

  ############ 获取历史行情+最新行情 #####################
  do_subscribe_quote(code_list,period) # 设置订阅参数,使gmd_ex取到最新行情
  count = -1 # 设置count参数,使gmd_ex返回全部数据
  data3 = xtdata.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date, count = -1) # count 设置为1,使返回值只包含最新行情


  print(data1[code_list[0]].tail())# 行情数据查看
  print(data2[code_list[0]].tail())
  print(data3[code_list[0]].tail())

仅获取历史行情

当前正在下载1/2
当前正在下载2/2
下载任务结束

                amount  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 

仅获取最新行情

                amount  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  

 获取历史和最新行情

                amount  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  

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

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

相关文章

QT中UI实现小功能的步骤

1、新建一个目录 要勾选Generate form&#xff0c;生成一个.ui文件 把Shadow build的勾选取消&#xff0c;避免产生两个文件夹&#xff01; 2、具体步骤 1.在UI界面中拖拽需要的组件对象 2.修改组件对象的名称 3.保存并运行&#xff0c;根据运行结果适当调整界面布局 4.业…

真正懂耳机的人选了什么?开放式耳机推荐

真正懂耳机的人&#xff0c;在选择耳机时&#xff0c;往往会更注重音质的自然还原、佩戴的舒适度、以及耳机的设计是否符合个人审美和生活习惯。开放式耳机以其独特的开放式设计&#xff0c;能够带来更为自然、宽广的声场体验&#xff0c;同时减少对耳朵的压迫感&#xff0c;成…

宝藏!《联盟作文班配套讲义》(九尾篇)

本文内容&#xff0c;全部选自自动化考研联盟企业店的&#xff1a;独家制作&#xff0c;《联盟作文班配套讲义》(九尾篇)。 Part1&#xff1a;资料封面&目录 Part2&#xff1a;各章节内容展示 第一章 考研英语作文开篇总述 第二章、 小作文(英语一英语二) 第三章、 英语&…

docker拉取镜像并安装mysql

一. linux安装docker 1. 先删除本机旧的或者残留的docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2. 安装依赖 sudo yum update -y && sudo yum i…

相机标定板生成

推荐一个好用的网站&#xff1a; https://calib.io/pages/camera-calibration-pattern-generator 可以生成多种样式的棋盘格&#xff0c; 大小&#xff0c; 行列数也都可以设置&#xff0c; 非常方便。 另外推荐结合相机标定程序使用&#xff0c; 效果更佳&#xff01;&#x…

分布式中间件

1.Nacos 服务注册和服务发现原理图&#xff1a; 1.服务提供方将集群信息注册到Nacos&#xff0c;并定期心跳包提供健康信息&#xff0c;宕机即剔除 2.服务消费方定期拉取订阅信息&#xff0c;获取服务实例列表 3.服务集群的负载均衡是在消费者一方进行选择 负载均衡&#xf…

使用第三方API打造智能对话:Amazon Lex聊天机器人轻松实现

这是本系列文章的第四篇&#xff0c;旨在通过动手实践&#xff0c;帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章&#xff0c;大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。 那么让我们开始今天的内容吧&#xff01; 引言 什么是Amazon Lex&#xf…

第十三章- 游戏结束

在这个例子中我们开始研究一个带有记分的真正可玩的游戏。我们给MyWidget一个新的名字GameBoard并添加一些槽。 我们把定义放在gamebrd.h并把实现放在gamebrd.cpp。 CannonField现在有了一个游戏结束状态。 在LCDRange中的布局问题已经修好了。 lcdrange.h包含LCDRange类定…

如何使用ssm实现学生就业管理系统

TOC ssm328学生就业管理系统jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。…

AI算力资源池建设重点

I算力资源池建设正当时 随着深度学习和计算机视觉领域的快速发展&#xff0c;各行各业对于AI算力资源的需求也在快速增长。AI算力池化不仅有助于提高资源的利用率&#xff0c;还可以提高工作效率、减少管理成本。今天就我们一起探讨如何组织和管理AI算力资源池、实现算力资源的…

真话有危险,测评需谨慎!一个家最大的内耗:谁都在抱怨,没人肯改变——早读(逆天打工人爬取热门微信文章解读)

现在都这么完了吗&#xff1f; 引言Python 代码第一篇 洞见 一个家最大的内耗&#xff1a;谁都在抱怨&#xff0c;没人肯改变第二篇 故事风云录结尾 引言 慢慢调整时间 一是现在有点忙 做那个传播声音的研究实验实在是有点没有头绪 没有头绪的事情你就不知道怎么安排时间 也就…

【随记】开源 AI(Open source AI)

开源 AI(Open source AI) 1. 开源AI的重要性 2. 主要开源AI框架和工具 3. 开源AI项目的典型应用 4. 参与开源AI社区的好处 5. 开源AI的挑战与风险 6. 未来展望 &#x1f388;边走、边悟&#x1f388;迟早会好 开源人工智能&#xff08;Open Source AI&#xff09;指的是…

html+css+js网页设计 个人博客模版 4个页面

htmlcssjs网页设计 个人博客模版 4个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&…

漏洞复现-浪潮-GS企业管理软件-RCE

本文来自无问社区&#xff0c;更多漏洞复现可前往社区查看http://www.wwlib.cn/index.php/artread/artid/4564.html 0x01 产品简介 浪潮GS是浪潮研发的系统软件&#xff0c;浪潮GS&#xff0c;采用SOA 架构和先进开放的GSP 应用中间件开发&#xff0c;面向大中型集团企业提供…

Qt+FFmpeg开发视频播放器笔记(一):环境搭建

一、FFmpeg介绍 FFmpeg是一个开源的跨平台多媒体处理工具集&#xff0c;它可以用于处理音频、视频和其他多媒体数据。FFmpeg提供了一组功能强大的命令行工具&#xff0c;用于音频和视频的编解码、转换、处理、流媒体传输等任务。 FFmpeg支持多种音频和视频格式&#xff0c;包…

数模备赛(二):cvxpy凸优化库安装

03线性规划、整数规划与案例讲解视频上_哔哩哔哩_bilibili 强烈安利b站的司守奎老师讲的python数学建模&#xff0c;非常详细 但是在安装cvxpy库遇到了一点麻烦&#xff08;有的教程用的是linprog这个库&#xff0c;但是要求最优化问题必须先改写成标准型&#xff0c;感觉还是有…

自动分词代码

代码 from wordsegment import load, segment# 加载模型 load()# 示例 actions ["seeyoulater","turnleft","turnr" ]segmented_actions [segment(action) for action in actions] segmented_actions [" ".join(action) for actio…

SAP FI模块开发

1. SAP FI模块财务主数据管理 2. 总账核算

【芯片CDC/RDC】如何解决RDC问题

SoC设计除了包含多个电压域、多个时钟域外还包含了多个异步复位域。如果SoC中存在跨异步复位域时&#xff0c;同样经常会遇到亚稳态的问题。 举个例子&#xff0c;如下图&#xff1a; 好评如潮&#xff0c;一定要把景芯打磨成精品&#xff01; 对于有多个异步复位域的设计&…

拍照还原空白试卷,建议你试试这些工具

拍照还原空白试卷&#xff0c;在现代教育中&#xff0c;试卷的电子化管理变得越来越重要。无论是老师还是学生&#xff0c;都希望能够方便地获取和使用电子版试卷。然而&#xff0c;手写答案和批注常常使得电子版试卷难以还原到原始的空白状态。为此&#xff0c;市场上涌现出许…