/Qbot

[updating ...] 自动量化交易机器人 Qbot is an AI-oriented quantitative investment platform, which aims to realize the potential, empower AI technologies in quantitative investment. https://ufund-me.github.io/Qbot

Primary LanguageJupyter NotebookMIT LicenseMIT

🤖 Qbot

CodeQL AutoTrade Pylint Coverage Python version Documentation status

Qbot
 
Qbot website HOT      Qbot platform TRY IT OUT
 

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'

demo

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 开发环境: npmnode,点击查看详细操作文档

运行命令

cd pyfunds/fund-strategies

npm install
npm start

No-code operation (TODO)

dagster

体验下来,dagster是很适合金融数据采集、处理,还有机器学习的场景。当然这里的场景更偏向于“批处理”,“定时任务”的处理与编排。

dagster-daemon run &
dagit -h 0.0.0.0 -p 3000

Strategies

部分未整理。。。

经典策略
股票 基金 期货
智能策略
GBDT RNN Reinforcement Learning 🔥 Transformer
  • GBDT
  • BOOST
  • LR
  • CNN
  • RNN
  • TFT (IJoF'2019)
  • GATs (NIPS'2017)
  • SFM (KDD'2017)
  • Transformer (NeurIPS'2017)
  • TCTS (ICML'2021)
  • TRA (KDD'2021)
  • TCN (KDD'2018)
  • IGMTF (KDD'2021)
  • HIST (KDD'2018)
  • Localformer ('2021)
  • 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 Binder

    点击展开查看具体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

    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策略:

    MACD

    image

    A股回测KDJ策略:

    KDJ

    image

    A股回测 KDJ+MACD 策略:

    KDJ with MACD

    image

    TODO

    • 很多策略需要做回测验证;
    • 本项目由前后端支持,有上位机app支持,但目前框架还比较乱,需要做调整;
    • 各种策略需要抽象设计,支持统一调用;
    • 增强数据获取的实时性,每秒数据,降低延迟;
    • 在线文档的完善,目前主要几个部分:新手使用指引、经典策略原理和源码、智能策略原理和源码、常见问题等;
    • 新的feature开发,欢迎在issues交流;

    Contributing

    We appreciate all contributions to improve Qbot. Please refer to CONTRIBUTING.md for the contributing guideline.

    🍮 Community


    • 知识星球:AI量化投资 (加我微信,邀请)

    ⚠️ Disclaimer

    交易策略和自动化工具只是提供便利,并不代表实际交易收益。该项目任何内容不构成任何投资建议。市场有风险,投资需谨慎。

    Stargazers Over Time

    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!

    Sponsor

    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