AI智能量化投研平台
Qbot is an AI-oriented automated quantitative investment platform, which aims to realize the potential, empower AI technologies in quantitative investment. Qbot supports diverse machine learning modeling paradigms. including supervised learning, market dynamics modeling, and RL.
🤖 Qbot = 智能交易策略 + 回测系统 + 自动化量化交易 (+ 可视化分析工具)
| | | |
| | | \_ quantstats (dashboard\online operation)
| | \______________ Qbot - vnpy, pytrader, pyfunds
| \____________________________ BackTest - backtrader, easyquant
\________________________________________ quant.ai - qlib, deep learning strategies
🎺 号外:Qbot微信小程序开发招募 UFund-miniprogram
不建议 fork 项目,本项目会持续更新,只 fork 看不到更新,建议 Star ⭐️ ~
喜欢这个项目吗?请考虑 ❤️赞助 本项目,以帮助改进!
Qbot是一个免费的量化投研平台,提供从数据获取、交易策略开发、策略回测、模拟交易到最终实盘交易的全闭环流程。在实盘接入前,有股票、基金评测和策略回测,在模拟环境下做交易验证,近乎实盘的时延、滑点仿真。故,本平台提供GUI前端/客户端(部分功能也支持网页),后端做数据处理、交易调度,实现事件驱动的交易流程。对于策略研究部分,尤其强调机器学习、强化学习的AI策略,结合多因子模型提高收益比。
但本项目可能需要一点点python基础知识,有一点点交易经验,会更容易体会作者的初衷,解决当下产品空缺和广大散户朋友的交易痛点,现在直接免费开源出来!
cd ~ # $HOME as workspace
git clone https://github.com/UFund-Me/Qbot.git
cd Qbot
pip install -r requirements.txt
python main.py #if run on Mac, please use 'pythonw main.py'
基于wxPython 开发的上位机GUI, 需要安装 wxPython python 依赖包,
pip instal wxPython
, 详细参考: https://realpython.com/python-gui-with-wxpython/
Mac系统在安装之前需要手动安装tables库的依赖hdf5,以及pythonw UFund-Me#11
brew install hdf5
brew install c-blosc
export HDF5_DIR=/opt/homebrew/opt/hdf5
export BLOSC_DIR=/opt/homebrew/opt/c-blosc
Install Guide | Online documents | 开发文档
____________________________________
< Run ``./env_setup.sh`` to say hello >
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
本项目分为前端(客户端)和后端两部分,前端由wxPython编写的轻量化GUI客户端,后端分为策略开发、策略回测 qbot/strategies
、股票基金评测、模拟交易、在线回测几个部分,对应于客户端从左到右的三个菜单。
➕ 请注意:本项目建议使用python 3.8、3.9版本,推荐使用conda搭建环境,参考 Install Guide。
* 如果是 Win 系统使用set
命令.
export USER_ID="admin" # replace your info
export PASSWORD="admin1234." # replace your info
pip install -r requirements.txt
# if run on Mac, please use 'pythonw main.py'
python main.py
主要包含四个窗口,如果启动界面未显示或有问题可以参考下图中对应的启动方式。👉 点击这里查看源码,下文也有文字介绍。
- 选基、选股助手(对应前端/客户端第二个菜单:AI选股/选基)
运行命令
cd investool
go build
./investool webserver
- 基金策略在线分析(对应于前端/客户端第四个菜单:基金投资策略分析)
需要 node 开发环境: npm
、node
,点击查看详细操作文档
版本信息(作为参考)
▶ go version
go version go1.20.4 darwin/amd64
~
▶ node --version
v19.7.0
~
▶ npm --version
9.5.0
使用docker运行项目,在项目路径 pyfunds/fund-strategies/
下运行以下命令构建项目的docker镜像
docker build -t fund_strategy .
镜像构建完毕后运行
docker run -dp 8000:8000 fund_strategy --name="fund_strategy_instance"
等待项目启动过程中,可通过以下命令查看启动日志:
docker logs -f fund_strategy_instance
启动后,可通过http://locahost:8000
访问网页。
体验下来,dagster是很适合金融数据采集、处理,还有机器学习的场景。当然这里的场景更偏向于“批处理”,“定时任务”的处理与编排。
dagster-daemon run &
dagit -h 0.0.0.0 -p 3000
部分未整理。。。
股票 | 基金 | 期货 |
GBDT | RNN | Reinforcement Learning | 🔥 Transformer |
|
|
|
|
Results and models are available in the model zoo. AI strategies is shown at here, local run python pytrader/strategies/workflow_by_code.py
, also provide
👉 点击展开查看具体AI模型benchmark结果
status | benchmark | framework | DGCNN | RegNetX | addition | arXiv | |
---|---|---|---|---|---|---|---|
GBDT | ✗ | ✗ | XGBoost | ✗ | ✗ | Tianqi Chen, et al. KDD 2016 | ✗ |
GBDT | ✗ | ✗ | LightGBM | ✗ | ✓ | Guolin Ke, et al. NIPS 2017 | ✗ |
GBDT | ✗ | ✗ | Catboost | ✗ | ✓ | Liudmila Prokhorenkova, et al. NIPS 2018 | ✗ |
MLP | ✓ | ✓ | pytorch | ✗ | ✗ | -- | ✗ |
LSTM | ✓ | ✓ | pytorch | ✗ | ✗ | Sepp Hochreiter, et al. Neural computation 1997 | ✗ |
LightGBM | ✓ | ✓ | pytorch | ✗ | ✗ | -- | ✗ |
GRU | ✓ | ✗ | pytorch | ✗ | ✗ | Kyunghyun Cho, et al. 2014 | ✗ |
ALSTM | ✗ | ✗ | pytorch | ✗ | ✗ | Yao Qin, et al. IJCAI 2017 | ✗ |
GATs | ✗ | ✓ | pytorch | ✗ | ✗ | Petar Velickovic, et al. 2017 | ✗ |
SFM | ✓ | ✓ | pytorch | ✗ | ✗ | Liheng Zhang, et al. KDD 2017 | ✗ |
TFT | ✓ | ✓ | tensorflow | ✗ | ✗ | Bryan Lim, et al. International Journal of Forecasting 2019 | ✗ |
TabNet | ✓ | ✗ | pytorch | ✗ | ✗ | Sercan O. Arik, et al. AAAI 2019 | ✗ |
DoubleEnsemble | ✓ | ✓ | LightGBM | ✗ | ✗ | Chuheng Zhang, et al. ICDM 2020 | ✗ |
TCTS | ✓ | ✗ | pytorch | ✗ | ✗ | Xueqing Wu, et al. ICML 2021 | ✗ |
Transformer | ✓ | ✗ | pytorch | ✗ | ✗ | Ashish Vaswani, et al. NeurIPS 2017 | ✗ |
Localformer | ✓ | ✗ | pytorch | ✗ | ✗ | Juyong Jiang, et al. | ✗ |
TRA | ✓ | ✗ | pytorch | ✗ | ✗ | Hengxu, Dong, et al. KDD 2021 | ✗ |
TCN | ✓ | ✗ | pytorch | ✗ | ✗ | Shaojie Bai, et al. 2018 | ✗ |
ADARNN | ✓ | ✗ | pytorch | ✗ | ✗ | YunTao Du, et al. 2021 | ✗ |
ADD | ✓ | ✗ | pytorch | ✗ | ✗ | Hongshun Tang, et al.2020 | ✗ |
IGMTF | ✓ | ✗ | pytorch | ✗ | ✗ | Wentao Xu, et al.2021 | ✗ |
HIST | ✓ | ✗ | pytorch | ✗ | ✗ | Wentao Xu, et al.2021 | ✗ |
Note: All the about 300+ models, methods of 40+ papers in quant.ai supported by Model Zoo can be trained or used in this codebase.
首先,感谢自今年5月份开源以来收到广大用户的关注!我们在基础版本中开放了很多传统量化策略、深度学习、强化学习等人工智能策略和多因子库,为此,我们发起《Qbot人工智能量化交易社区共建计划》。采取以下两种方式共建共赢:
- 内容共建:
- 在我们免费提供的人工智能交易策略基础上,提高SOTA指标,然后以个人所有权提交Qbot量化交易社区,作为一种策略服务提供给更多人,获取收益;
- 在我们免费提供的上千个交易因子基础上,应用交易因子完成策略回测、模拟交易,对交易结果好的可作为一种交易策略服务提供给更多人,获取收益;
- 代码贡献:
- 参与本代码仓库程序设计与实现,多提交PR合并后可免费加入知识星球;
- 贡献榜单前10名可获得一年免费使用权,前3名可获得qbot进阶版终身免费使用权;
本项目编写了详细的策略原理说明和平台搭建到使用的详细文档,尤其适合量化小白。欢迎加群交流!
在线文档 | ❓ 常见问题 | Jupyter Notebook
Click HERE to more detail.
声明:别轻易用于实盘,市场有风险,投资需谨慎。
symbol:华正新材(603186)
Starting Portfolio Value: 10000.00
Startdate=datetime.datetime(2010, 1, 1),
Enddate=datetime.datetime(2020, 4, 21),
# 设置佣金为0.001, 除以100去掉%号
cerebro.broker.setcommission(commission=0.001)
A股回测MACD策略:
👉 点击查看源码
A股回测KDJ策略:
👉 点击查看源码
A股回测 KDJ+MACD 策略:
👉 点击查看源码
👆 右上角点击 告诉我,你希望这个项目继续加速开发迭代 ❤️ & ☕️
- 把策略回测整合在一个上位机中,包括:选基、选股策略、交易策略,模拟交易,实盘交易
- 很多策略需要做回测验证;
- 本项目由前后端支持,有上位机app支持,但目前框架还比较乱,需要做调整;
- 各种策略需要抽象设计,支持统一调用;
- 增强数据获取的实时性,每秒数据,降低延迟;
- 在线文档的完善,目前主要几个部分:新手使用指引、经典策略原理和源码、智能策略原理和源码、常见问题等;
- 新的feature开发,欢迎在issues交流;
We appreciate all contributions to improve Qbot. Please refer to CONTRIBUTING.md for the contributing guideline.
-
Github discussions 💬 or issues 💭
-
微信: Yida_Zhang2
-
Email: yidazhang1#gmail.com
-
知乎:@Charmve
- 知识星球:AI量化投研实验室 (加我微信,邀请)
若二维码因 Github 网络无法打开,请点击二维码直接打开图片。
现对于转发本项目到朋友圈或100人以上微信群等,可获得知识星球价值20元的 🎫优惠券 一张, 限时10张。 |
|
|
👨🏫 重点重点! 交易策略和自动化工具只是提供便利,并不代表实际交易收益。该项目任何内容不构成任何投资建议。市场有风险,投资需谨慎。
If you like the project, you can become a sponsor at Open Collective or use GitHub Sponsors.
Thank you for supporting Qbot!
Last but not least, we're thankful to these open-source repo for sharing their services for free:
基于 backtrader、vnpy、qlib、tushare、easyquant、fund-strategies、investool 等开源项目,感谢开发者。
感谢大家的支持与喜欢!
Code with ❤️ & ☕️ @Charmve 2022-2023