# Qbot
**Repository Path**: liuzl12/Qbot
## Basic Information
- **Project Name**: Qbot
- **Description**: 一个最新的融合的框架程序
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 3
- **Created**: 2023-05-17
- **Last Updated**: 2024-11-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
🤖 Qbot
[](https://github.com/UFund-Me/Qbot/actions/workflows/codeql-analysis.yml)
[](https://github.com/UFund-Me/Qbot/actions/workflows/auto-trade.yml)
[](https://github.com/UFund-Me/Qbot/actions/workflows/pylint.yml)
[](https://github.com/UFund-Me/Qbot/actions/workflows/coverage.yml)
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
```bash
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](./docs/01-新手指引/Install_guide.md) | [Online documents](https://ufund-me.github.io/Qbot/#/)
```
____________________________________
< Run ``./env_setup.sh`` to say hello >
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
```
### Get Started
#### Local
```shell
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`,点击[查看](pyfunds/fund-strategies/README.md)详细操作文档
运行命令
```
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
部分未整理。。。
经典策略
智能策略
### Benchmark and Model zoo
Results and models are available in the [model zoo](docs/03-智能策略/model_zoo.md). AI strategies is shown at [here](./pytrader/strategies/), local run "python pytrader/strategies/workflow_by_code.py", also provide [](https://mybinder.org/v2/gh/UFund-Me/Qbot/blob/main/pytrader/strategies/workflow_by_code.ipynb/HEAD)
点击展开查看具体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](./docs/03-智能策略/model_zoo.md) can be trained or used in this codebase.
## 策略原理及源码分析
在线文档
jupyter notebook
## Quantstats Report

Click [HERE](quantstats#visualize-stock-performance) 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](https://github.com/UFund-Me/Qbot/issues/)交流;
## Contributing
We appreciate all contributions to improve Qbot. Please refer to [CONTRIBUTING.md](.github/CONTRIBUTING.md) for the contributing guideline.
## 🍮 Community
- Github discussions 💬 or issues 💭
- WeChat Group ID: Yida_Zhang2
- Email: yidazhang1#gmail.com
- 知乎:[@Charmve](https://www.zhihu.com/people/MaiweiE-com)
- 知识星球:AI量化投资 (加我微信,邀请)
## :warning: Disclaimer
交易策略和自动化工具只是提供便利,并不代表实际交易收益。该项目任何内容不构成任何投资建议。市场有风险,投资需谨慎。
## Stargazers Over Time
[](https://starchart.cc/UFund-Me/Qbot)
## Sponsors & support
If you like the project, you can become a sponsor at [Open Collective](https://opencollective.com/qbot) or use [GitHub Sponsors](https://github.com/sponsors/Charmve).
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