🤖 Qbot
AI驱动的自动化智能投研、智能投顾平台
Qbot is an AI-oriented automated quantitative investment platform, which aims to realize the potential,
empower AI technologies in quantitative investment.
🤖 Qbot = 智能交易策略 + 回测系统 + 自动化量化交易 (+ 可视化分析工具)
| | | |
| | | \_ quantstats (dashboard\online operate)
| | \______________ Qbot - vnpy, pytrader, pyfunds
| \____________________________ BackTest - backtrader, easyquant
\________________________________________ quant.ai - qlib, deep learning strategies
***不建议 fork 项目,本项目会持续更新,只 fork 看不到更新,建议 Star ⭐️ ~***
喜欢这个项目吗?请考虑 ❤️赞助本项目 以帮助改进!
Quick Start
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'
USAGE ʕ •ᴥ•ʔ
Installation
Install Guide | Online documents
____________________________________
< Run ``./env_setup.sh`` to say hello >
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Get Started
Local
export USER_ID="admin" # replace your info
export PASSWORD="admin1234." # replace your info
pip install -r requirements.txt
cd pytrader
python test_backtrade.py
python test_trader.py
# visualization
python main.py
# if run on Mac, please use 'pythonw main.py'
Web
需要 node 开发环境: npm
、node
,点击查看详细操作文档
运行命令
cd pyfunds/fund-strategies
npm install
npm start
No-code operation (TODO)
体验下来,dagster是很适合金融数据采集、处理,还有机器学习的场景。当然这里的场景更偏向于“批处理”,“定时任务”的处理与编排。
dagster-daemon run &
dagit -h 0.0.0.0 -p 3000
Strategies
部分未整理。。。
股票 | 基金 | 期货 |
GBDT | RNN | Reinforcement Learning | 🔥 Transformer |
|
|
|
|
Benchmark and Model zoo
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.
策略原理及源码分析
在线文档 jupyter notebook
Quantstats Report
Click HERE to more detail.
Some strategy backtest results:
声明:别轻易用于实盘,市场有风险,投资需谨慎。
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 策略:
TODO
- 很多策略需要做回测验证;
- 本项目由前后端支持,有上位机app支持,但目前框架还比较乱,需要做调整;
- 各种策略需要抽象设计,支持统一调用;
- 增强数据获取的实时性,每秒数据,降低延迟;
- 在线文档的完善,目前主要几个部分:新手使用指引、经典策略原理和源码、智能策略原理和源码、常见问题等;
- 新的feature开发,欢迎在issues交流;
Contributing
We appreciate all contributions to improve Qbot. Please refer to CONTRIBUTING.md for the contributing guideline.
🍮 Community
-
Github discussions 💬 or issues 💭
-
WeChat Group ID: Yida_Zhang2
-
Email: yidazhang1#gmail.com
-
知乎:@Charmve
- 知识星球:AI量化投资 (加我微信,邀请)
⚠️ Disclaimer
交易策略和自动化工具只是提供便利,并不代表实际交易收益。该项目任何内容不构成任何投资建议。市场有风险,投资需谨慎。
Stargazers Over Time
Sponsors & support
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、backtest、easyquant等开源项目,感谢开发者。
感谢大家的支持与喜欢!
Code with ❤️ & ☕️ @Charmve 2022-2023