返回列表 发布新帖

重磅更新--QMT支持Tushare,数据源终于不用折腾了

29 0

上一个文章我们提到大QMT的python版本更新到了3.12,原来很多不支持的库也支持了安装,但是有的库不太兼容,需要自己适配一下,以前说大qmt后面会支持第三方合规的数据,比如tusahre,万得,同花顺等,今天我去看了一下tushare等数据没有像ptrade一直内置到系统里面,需要自己安装,用pip安装了发现3.12的库不太兼容,主要是这个库lxml

提示的问题是,更新到合适3.12版本就可以,今天给一下大家的教程

ImportError: cannot import name 'etrr' from 'lxml'

先替代LXML,可以利用清华的镜像下载文件压缩包到本地,在复制替代原来的编译器里面的文件就可以,下载的代码

python -m pip download lxml --python-version 312 --only-binary=:all: -d "C:\download_whl" -i https://pypi.tuna.tsinghua.edu.cn/simple

代码里面的这个是自己的本地路径,可以自己修改,

C:\download_whl

比如我下载到桌面路径C:\Users\lxg123456\Desktop,对应的代码就是这个

python -m pip download lxml --python-version 312 --only-binary=:all: -d "C:\Users\lxg123456\Desktop" -i https://pypi.tuna.tsinghua.edu.cn/simple

安 win+r,输入cmd,进入,前提是你本地安装了python

19f9a03d2bd739ebb2b313bd5fad81c4.png

输入上面代码就可以下载到本地

a8e3983e10715d03d1d856fdb47c1c81.png

文件的结尾改成zip就可以改成压缩包打开

9df62f79bf4486d9ef9c8581920399ab.png

重新改一下名字,结尾的.whl改成.zip

84c172b5f831b0535f7f3f5aba31b6e0.png

解压里面的文件复制粘贴到大qmt,python3.12文件夹下面就可以

fed8a11a6539e8f456a19d8fb2554deb.png

fa467c546d698a4eb37d8f2f160a91e8.png

下面的lib

c4daf82dcf562d0ca10d79cb7b163811.png

复制到lib下面的site-packages文件夹下就可以

bf50faf56626fdd6dccd443eb3eacf90.png

安tushare,运用的安装在这个文件夹下面就可以,可以随便点击一个文件的属性看他的路径

a800c260abeccb4ea13a282254c01bc4.png

比如我的

D:\国金证券QMT交易端\bin.x64\python312\Lib\site-packages

安装这个库的代码pip安装

python -m pip install tushare --target "D:\国金证券QMT交易端\bin.x64\python312\Lib\site-packages" -i https://pypi.tuna.tsinghua.edu.cn/simple

运用的cmd,面板里面安装

cff038aede6dc68e6f85c842e2ae6275.png

这样我们就配置好了tushare,黄色的库不用管,前提库也是一样的安装,需要注意库的版本

051b9c1ecb99ab44dbd689e94a0830b1.png

下面就是测试代码建立一个策略就可以,自己登录tushare的网页,复制自己的token

267222a5796fb8bc555318b7cff6730a.png

点击运行就可以读取数据

702c06a49b0ce6040249b49e75800bc0.png

这样我们就可以多一个数据源做策略交易,不懂的问我就可以,加我备注入群可以加入量化交流群,需要开qmt,ptrade都可以找我专业量化支持,不会下载lxml压缩包的可以找我要压缩包

测试代码,token改成自己的就可以

#encoding:gbk
'''
TUSAHRE数据测试
'''
import pandas as pd
import numpy as np
import talib
import tushare  as ts
token='843cf4607377105718441fd1d33d'
pro = ts.pro_api(token)
def init(ContextInfo):
    print(11211111)
    #提取单个股票,跨时间段的历史日线
    df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')
    print(df)

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2026 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表