给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)
- 一、安装QMT
- 二、给QMT安装python
- 三、给QMT的python环境安装第三方库
- 1.准备python虚拟环境
- 2.安装第三方库到指定目录
- 四、在QMT里调用第三方库(代码)
- 1.第三方库pytdx在QMT里的调用方法
- 2.单个文件第三方库调用方法
- 五、QMT内置库
一、安装QMT
下载后安装QMT,假定安装在D:\qmt。目录最好不要有中文或者空格。
二、给QMT安装python
登录后选择“设置”菜单进入系统设置,选择交易设置->模型设置,点击Python库下载。如果安装目录为D:\qmt,则python默认安装在目录D:\qmt\bin.x64
三、给QMT的python环境安装第三方库
注意:安装三方库前,请备份 QMT安装目录\bin.x64\ 目录下的 DLLs 和 Lib 这两个文件夹,以便在安装三方库引起系统错误后,可以恢复系统默认的库文件。
如果你本地有其他python版本的话,建议使用虚拟环境来操作。这样不会影响你原有的python版本以及已经安装的第三方库。如果你的电脑只是做交易,是按照QMT要求只安装了Python 3. 6. 8版本,本机也不经常使用python的话,可以跳过虚拟环境这一步骤。
1.准备python虚拟环境
由于QMT使用python版本为3.6.8,为了兼容性更好,我们通过Anaconda在本地虚拟一个python3.6.8环境。
的安装及环境配置(自己百度,****里指导文章很多)
2.创建虚拟环境
建立一次即可,已建立不用重复建立,name 后的qmt是环境名称,自己起名,以后用这个激活虚拟环境
conda create --name qmt python=3.6.8
3.激活虚拟环境
以后均要先激活,再通过pip安装第三方包
conda activate qmt
conda info -e (查看所有的虚拟环境)
2.安装第三方库到指定目录
以上准备妥当后,先激活虚拟环境
假设QMT我安装在D:\qmt,那么第三方库需要安装到这里
D:\qmt\bin.x64\Lib\site-packages
安装第三方包,以安装pytdx 为例,注意指定目录
pip install pytdx --target=D:\qmt\bin.x64\Lib\site-packages
如果安装第三方库,感觉有些慢,还可以在命令行临时添加一下参数,使用清华源,这样速度会快很多。
pip install pytdx --target=D:\qmt\bin.x64\Lib\site-packages -i /simple
四、在QMT里调用第三方库(代码)
1.第三方库pytdx在QMT里的调用方法
以下已pytdx为例,展示如何调用第三方库文件,关于pytdx的介绍请自行参考相关文档学习。
#encoding:gbk
# 加载pytdx库
from import TdxHq_API
# 实例化tdx行情对象
api = TdxHq_API()
def init(ContextInfo):
pass
def handlebar(ContextInfo):
# 数据获取接口一般返回list结构,如果需要转化为pandas Dataframe接口,可以使用 api.to_df 进行转化
with ('119.147.212.81', 7709):
df = api.to_df(api.get_security_bars(9, 0, '300750', 0, 50))
print('pytdx行情获取\n',df)
备注: pytdx说明文档
/pytdx/content/
2.单个文件第三方库调用方法
MyTT将通达信,同花顺,文华麦语言等指标公式indicators,最简移植到Python中,核心库单个文件,仅百行代码,实现和转换同花顺通达信所有常见指标MACD,RSI,BOLL,ATR,KDJ,CCI,PSY等,全部基于numpy和pandas的函数封装,简洁且高性能,能非常方便的应用在各自股票股市技术分析,股票自动程序化交易。
我们假定下载MyTT库文件,并放在D:\common下。调用该第三方库文件在策略文件开头添加如下代码,在QMT代码里即可实现对库函数的调用。其它同上。
import sys
(r"D:\common")
from MyTT import *
MyTT库介绍:
/mpquant/MyTT
五、QMT内置库
QMT的python环境内置了很多官方库文件,我们不安装也可以使用。如和数据库连接的库,pymongo,pymysql,redis(内存数据库),使用这些可以直接在QMT里面调用自己的数据库数据,将必要的QMT数据保存到自己的数据库。
我们还可以使用内置的requests库实时爬取一些网站的数据,比如集思录,东方财富网等。所以在QMT的自带数据不满足的情况下,还可以使用外面的数据来补充。
各位还有其它需求,欢迎在评论区里补充,有空的话我将更新补充到文章内。
拓展阅读:
【量化交易行情不够快?】一文搞定通过Win10 wsl2 +Ubuntu+redis+pickle实现股票行情极速读写_IT里的交易员的博客-****博客 /popboy29/article/details/126189105