DevilYuan股票量化系统由python编写,支持python3.4及以上版本,有如下功能:
- 可视化(基于PyQT的界面)
- 多线程事件引擎
- 四大功能
- 股票数据
- 选股
- 策略回测(同时也支持向量回测)
- 实盘交易
- 历史数据均免费来自于网络
- Wind免费个人接口(最近好像没法用了,推荐使用TuSharePro)
- TuShare(TuSharePro)
- 通达信
- 全市场股票监控
- 实盘微信提醒及交互
- 一键挂机
- 全自动交易
- 模拟交易,支持9个模拟账号
- 实盘和回测共用同一策略代码,支持tick和分钟级别
- 实盘策略编写模板
- 选股策略编写模板
- 自动下载历史数据到MongoDB数据库
- 股票代码表
- 交易日数据
- 个股,指数和ETF历史日线数据
- 个股和ETF历史分笔数据
- 集成基本的统计功能
- 实盘单账户多策略
- 支持的操作系统:Windows 7/8/10, Linux(不支持实盘)
- 安装Anaconda,python3.4及以上版本 64位版本(32位应该也可以,但没测试过)
- 最新版的Anaconda可能会不太稳定,同时DevilYuan也没有在最新的Anaconda上测试过,建议安装老版本的Anaconda,比如Anaconda3-5.x.x系列,或者Anaconda3-4.x.x系列
- 注意: 最高Python3.7.4可用
- 安装MongoDB,并将MongoDB配置为系统服务
- 如果你想下载更多的个股历史分笔数据,建议配备比较大的的硬盘。毛估估,现在一年的全市场个股分笔数据可能有80G左右。
- MogonDB客户端
- 注意: 在Windows下安装MongoDB时,会默认安装MongoDB Compass。 MongoDB Compass安装很慢,不需要安装
- 实盘交易(Windows)
- 安装Wind个人免费Python接口 (Windows, 可选)
- 若不安装Wind接口,股票代码表,交易日数据和历史日线数据将使用TuShare接口。TuShare这一块的数据更新速度比较慢。并且Wind的复权因子数据比较准确,建议安装Wind。但Wind的接口对数据流量有限制。最近好像Wind个人免费接口没法使用了,推荐使用TuSharePro。
- 或者你可以使用TuSharePro,请到这儿注册自己的token。 DY系统里,有些策略或者功能需要TuSharePro 300积分。关于如何配置TuSharePro,请参考配置DevilYuan系统
- 到Server酱注册一个SCKEY,这样实盘时的信号可以微信铃声通知 (可选)
- 安装Vistual Studio社区版,并勾选Python插件 (可选)
- 本项目是用VS2017开发的。你可以选择是用VS2017,或者用其他IDE
- 需要安装的Python包
- tushare
- pytdx
- 由于tushare可能包含老版本的pytdx,请先
pip uninstall pytdx
,然后再pip install pytdx
- 如果执行上面的步骤后,仍然无法解决,请先手动删除
<python安装目录>\Lib\site-packages
下pytdx相关的所有目录夹(pytdx, pytdx*.dist-info, pytdx*.egg-info),然后再执行pip install pytdx
- 由于tushare可能包含老版本的pytdx,请先
- pymongo
- qdarkstyle
- pytesseract
- pywinauto(Windows)
- talib
- Windows
- 请到这儿安装对应的whl版本
- Linux
1. wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz 2. tar -xzf ta-lib-0.4.0-src.tar.gz 3. cd ta-lib/ 4. ./configure --prefix=/usr 5. make 6. sudo make install 7. pip install TA-Lib
- Windows
- aiohttp
- pyqrcode
- mpl_finance
pip install https://github.com/matplotlib/mpl_finance/archive/master.zip
- pypng
- PyQt5
- 如果你安装的是Anaconda5.3(Python3.7),并且出现以下错误
请执行from PyQt5 import QtCore, QtGui, QtWidgets ImportError: DLL load failed: The specified procedure could not be found.
pip install pyqt5
- VS调试时报异常的包,不调试时不会报错,可选安装
- datrie
- crypto
- gunicorn
- pip install
- Q:
pip install
报如下错误
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
- A: 请到Windows开始菜单里,找到对应的Anaconda Prompt。然后在Anaconda Prompt里,运行pip
- Q:
- Mac OS下出现MongoDB重连异常
- Q: Mac OS下出现MongoDB重连异常(pymongo.errors.AutoReconnect)
- A: 采用docker运行MongoDB
- import error
- Q: ImportError: cannot import name 'StringIO' from 'pandas.compat'
- A: 这个是由于新版本的pandas导致,对pandas做降级处理
- pip uninstall pandas
- pip install pandas==0.24.1
因为程序需要读写文件,请到DevilYuan目录夹下以管理者权限运行python DyMainWindow.py
如果你运行报错,并且是Anaconda5.3(Python3.7)的运行环境,请到Anaconda Prompt里运行python DyMainWindow.py
项目的开发过程中借鉴了如下几个开源项目,向以下项目的作者表示衷心的感谢
QQ群:293368752
MIT