中使用 MOOTDX库读取通达信的数据,WIN+PYTHON,最新问题排查

M项目概述 - MOOTDXicon-default.png?t=N7T8https://www.mootdx.com/zh-cn/latest/帮助文档icon-default.png?t=N7T8https://www.mootdx.com/zh-cn/latest/​​​​​​​​​​​​​​​​​​​​​

  • 库的安装

注:我这的安装过程必须要ROOT权限,所以我用管理员的权限运行了控制台

pip install mootdx==0.3.21

不知道这里为啥要一定要带上版本,不带版本不行。

基于源码安装

python -m pip install git+https://github.com/mootdx/mootdx.git

本机(windows)没有GIT的基于源码安装

(这个过程是成功的,但是使用过程是失败的,所以不建议做,作为研究可以进行)

https://gitee.com/beolee/mootdx/tree/master

用ZIP的方式下载源码,解压到本地,例如 D:\quantization\mootdx-master

mootdx-master目录下建立如下几个空文件

requirements.txt

README.rst

HISTORY.rst

setup.py

setup.cfg

在GITEE中复制上述文件内容,并生成文件(GITEE直接右键另存为是不行的)

修改行情列表:修改文件mootdx-master\mootdx\consts.py(为什么要修改,有什么用,看后面)

注:

MOOTDX无论是源码中还是配置文件中的地址都太老了,不可用,会引起错误

装一个通达信,找到目录下的connect.cfg,可以获得最新的行情服务器列表

将HQ地址替换为

#('银河证券阿里云行情','120.76.1.198',7709),
#('银河证券上证云行情','222.73.48.27',7709),
#('银河证券金融终端阿里云','120.76.4.28',7719),
#('银河证券富丰电信', '1.202.143.37',7709),
#('银河证券富丰联通', '111.203.134.118',7709),
#('银河证券富丰移动', '117.133.128.226',7709),
#('银河证券上证云上海一', '103.251.85.214',7709),
#('银河证券上证云上海二', '114.141.177.40',7709),
#('银河证券上证云福州一', '27.151.2.113',7709),
#('银河证券上证云福州二', '27.151.2.38',7709),
#('银河证券上证云新疆', '202.100.166.12',7709),
#('银河证券上证云上海二', '114.141.177.40',7709),
#('银河证券上证云福州一', '27.151.2.113',7709),
#('银河证券上证云福州二', '27.151.2.38',7709),
#('银河证券上证云新疆', '202.100.166.12',7709)

完成通过源码安装

d:
cd D:\quantization\mootdx-master\mootdx
python setup.py install 

但是,在编写代码的时候,使用源码安装后会出现

ModuleNotFoundError: No module named 'mootdx.quotes'

 这个问题,还没深入去检查并解决,所以这里不推荐源码的方式进行安装

后续通过部分修改,PIP 在线安装的版本可以正常使用

  • 进行线路测试(下面的操作)

mootdx bestip -v

这时候会出现错误

查看磁盘目录发现

C:\Users\turui\.mootdx

C:\Users\turui\mootdx

都存在,并且都有config.json

但是,重点来了,这两个地址,不管哪个config.json如何修改,都不会被读取。

  • 修改行情列表,创造一个可用的在线行情读取环境

找到文件(需要管理员权限)

C:\ProgramData\Anaconda3\lib\site-packages\mootdx\consts.py

修改行情列表

进行服务器测试

mootdx bestip -v 

 经过上面的修改,这个命令一切正常接下来就可以进行程序编写、测试。

  • 本地数据读取
from mootdx.reader import Reader

# market: 参数 `std` 为标准市场(就是股票), `ext` 为扩展市场(期货,黄金等)
# tdxdir: 是通达信的数据目录, 根据自己的情况修改
# 本地要下载的有相应的文件,否则会报错
reader = Reader.factory(market='std', tdxdir='C:\海王星金融终端-中国银河证券')

# 读取日线数据
reader.daily(symbol='300264')

# 读取1分钟数据
reader.minute(symbol='300264')

# 读取5分钟数据
reader.fzline(symbol='300264')
  • 在线数据读取
client = Quotes.factory(market='std', multithread=True, heartbeat=True, bestip=False, timeout=15)
# multithread 多线程
# heartbeat 开启心跳包
# bestip 重新测试最快服务器
# server 自行设置服务器IP, 格式 `server=('127.0.0.1', 7727)`
# timeout 设置超时时间
# quiet 日志静默方式, 默认False, 设置为 True 则不打印日志信息
# verbose 日志显示等级 0, 静默模式, 1 一般级别, 2 详细级别


from mootdx.consts import MARKET_SH
#指数 client.index
#股票 client.bars
#分钟 client.minute
#frequency: K线种类
#    0 => 5分钟K线 => 5m 
#    1 => 15分钟K线 => 15m 
#    2 => 30分钟K线 => 30m 
#    3 => 小时K线 => 1h 
#    4 => 日K线 (小数点x100) => days 
#    5 => 周K线 => week 
#    6 => 月K线 => mon 
#    7 => 1分钟K线(好像一样) => 1m 
#    8 => 1分钟K线(好像一样) => 1m 
#    9 => 日K线 => day 
#    10 => 季K线 => 3mon 
#    11 => 年K线 => year
#market: 市场代码. 0 - 深圳, 1 - 上海 (可以使用常量 MARKET_SZ, MARKET_SH 代替)
#start: 开始位置
#offset: 用户要请求的 K 线数目,最大值为 800

client.index(frequency=9, market=MARKET_SH, symbol='000001', start=1, offset=2)

# 读取K线,前复权
client.bars(symbol='300264', adjust='qfq')

# 读取多支票
client.quotes(symbol=["000001", "300264"])

# 读取分时数据
client.minute(symbol='300264')

# 读取历史分时
client.minutes(symbol='300264', date='20240119')



client返回的数据格式为 DataFrame格式。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SEO文章自动生成发布网站工具【网站维护必备】

在SEO优化的过程中,高质量的原创文章是吸引搜索引擎和用户的关键。然而,对于许多站长和网站管理员而言,创作大量原创内容可能是一项繁琐而耗时的任务。为了解决这一难题,免费的147SEO软件应运而生,通过输入关键词或标题…

Red Hat Enterprise Linux 6.10 安装图解

引导和开始安装 选择倒计时结束前,通过键盘上下键选择下图框选项,启动图形化安装过程。需要注意的不同主板默认或者自行配置的固件类型不一致,引导界面有所不同。也就是说使用UEFI和BIOS的安装引导界面是不同的,如图所示。若手动调…

Jenkins环境配置篇-更换插件源

作为持续集成的利器 Jenkins 已经得到了广泛地应用,仅仅作为一个工具,Jenkins 已然有了 自己的生态圈,支持其的 plugin 更是超过 1300。在实际中如何使用以及如何更好地使用 jenkins,一直是大家在实践并讨论的。本系列文章将会从如…

【想要安利给所有人的开发工具】最强工具ChatGPT——分享一些使用经验

目录 🔥个人使用ChatGPT的经验 🔥如何使用ChatGPT 方法一 方法二 🔥🔥提问技巧分享 1、英语翻译员 2、面试官 3、javascript 控制台 4、Excel表格 5、作曲家 6、辩手 7、小说家 8、诗人 9、数学老师 10、网络安全…

【漏洞复现】Hikvision摄像头产品代码执行漏洞(CVE-2021-36260)

Nx01 产品简介 Hikvision(海康威视)是一家在中国颇具影响力的安防公司,其网络摄像头产品在市场上占据了相当大的份额。Hikvision的网络摄像头产品线非常丰富,涵盖了各种型号和功能,以满足不同用户的需求。 Nx02 漏洞描…

spring data mongo 在事务中,无法自动创建collection

spring data mongo 在事务中,无法自动创建collection org.springframework.dao.DataIntegrityViolationException: Write operation error on server xxx:30001. Write error: WriteError{code=263, message=Cannot create namespace xxx.xxxin multi-document transaction.…

分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测

分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测 目录 分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测分类效果基本描述程序设计参…

第一部分 概述

目录 一、计算机网络在信息时代的作用 大众熟悉的三大类网络有 Internet 互连网与互联网的区别 可以从两种不同的方面来认识互联网: 互联网在生活中的地位 互联网 互联网负面影响 二、互联网的概述 网络的网络 基本概念 互连网基础结构发展的三个阶段 万维网www(…

【征服redis2】redis的事务介绍

目录 目录 1.redis事务介绍 2 事务出错的处理 3.Java如何使用redis事务 1.redis事务介绍 在前面我们介绍了redis的几种典型数据结构和应用,本文我们来看一下redis的事务问题。事务也是数据库的重要主题,熟悉关系型数据库的读者应该对事务比较了解&a…

全开源多城市同城信息小程序源码(Laravel 框架),同城分类信息发布便民小程序系统【非DZ】

同城生活分类信息小程序,人才招聘、房产二手 多城市地区同城分类信息发布,商家入驻等功能 小程序前后端代码开源无加密,可进行二次开发 【源码运行要求】 1、需要已认证的微信小程序 2、已备案的域名及服务器空间 推荐使用宝塔面板LinuxPHP…

为vs code配置unity开发环境

1.安装.NET.Core SDK 我们可以访问官网下载安装SDK及tool(https://www.microsoft.com/net/download/core)下载。有的系统只提供了执行文件,没有提供安装包,需要自己做一些配置。 下载好对应的版本就可以安装了,安装好以…

无人机打击激光器

激光器的应用非常广泛,涵盖了多个领域。以下是一些主要的激光器应用: 医疗领域:激光器在医疗行业中有着重要应用,比如用于激光手术(如眼科手术)、皮肤治疗、牙科治疗、肿瘤治疗等。 工业制造:在…

小白水平理解面试经典题目LeetCode 121 Best Time to Buy and Sell Stock

121 Best Time to Buy and Sell Stock (买卖股票的最佳时机) 你好,2024年的第一个月,又是秋风萧瑟天气凉,草木摇落露为霜。.。。在这个特殊的时代,作为我们普通的一个打工人,我们用这道题,开启对这个不符合…

Spark面试题

1. spark core 1.简述hadoop 和 spark的不同点(为什么spark更快)♥♥♥ shuffle都是需要落盘的,因为在宽依赖中需要将上一个阶段的所有分区数据都准备好,才能进入下一个阶段,那么如果一直将数据放在内存中&#xff0c…

线性规划案例分享

今天想写一个最优传输的简单实现,结果学歪了,学到线性规划去了,这里我发现了一个宝藏网站 虽然是讲计量经济的,但是里面提供的公式和代码我很喜欢,有时间可以好好读一下 https://python.quantecon.org/lp_intro.html …

【咕咕送书 | 第八期】羡慕同学进了大厂核心部门,看懂这本书你也能行!

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论…

git本地分支的合并

目录 第一章、本地分支的切换测试1.1)切换之前的master分支下文件内容1.2)切换到develop分支后修改文件1.3)切回master分支出现报错:1.4)报错分析 第二章、解决方式2.1)方式1:commit2.2&#xf…

LabVIEW振动筛螺栓松动故障诊断

LabVIEW振动筛螺栓松动故障诊断 概述:利用LabVIEW解决振动筛螺栓松动的故障诊断问题。通过集成的方法,不仅提高了故障检测的准确性,还优化了维护流程,为类似的机械设备故障提供了可靠的解决方案。 由于工作条件复杂,…

SSM汽车维修管理系统

工具使用情况: eclipsetomcatmysqljdk 技术架构: 后台:springspring mvcmybatis 前台:easyui 功能介绍: 汽车维修管理、车辆接待、维修项目登记、维修领料、质检完工、消费结算 配件管理、财务管理、基础数据管理…

SpringSecurity Web 权限方案

目录 一、设置登录系统的账号、密码 二、数据库查询用户名密码 三、自定义登录页面 四、基于角色或权限进行访问控制 (一)hasAuthority 方法 (二)hasAnyAuthority 方法 (三)hasRole 方法 &#xff…