Qbot——一款可自动量化交易的AI应用

小程序增长营销机器学习

前言

在ChatGPT引领的AI浪潮下,涌现了一大批AI应用,其背后其实蕴含着一个基本事实:AI能力得到了极大突破——大模型的能力有目共睹,未来只会变得更强。这世界唯一不变的就是变,适应变化、拥抱变化、喜欢变化,天行健君子以自强不息。我们相信未来会有越来越多的大模型出现,AI正在逐渐平民化,将来每个人都可以利用大模型轻松地做出自己的AI产品。

最近这些天,github的排行榜每天都在发生着变化。今天介绍一款排位比较靠前的关于量化交易的AI项目,之所以选择这个项目来介绍的原因是笔者之前是做量化交易出身的,深知想要做好一款量化交易软件的难度。

picture.image

项目github地址:https://github.com/UFund-Me/Qbot

功能特点

Qbot是一款AI驱动的自动化智能投研、智能投顾平台,它的功能上主要有以下几个特点:

•智能交易策略(quant.ai - qlib, deep learning strategies) •回测系统(BackTest - backtrader, easyquant) •自动化量化交易(Qbot - vnpy, pytrader, pyfunds) •可视化分析(quantstats (dashboard\online operate))

快速开始


          
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'
      

picture.image

亮点

  1. 多种交易方式:在线回测 + 模拟交易 + 实盘自动化交易

以策略研究为目标,提供多种交易方式验证策略和提高收益。

picture.image

picture.image

picture.image

2. 多种提示方式:邮件 + 飞书 + 弹窗 + 微信

这是qbot的消息提示模块,多种方式提示交易信息:交易买卖信息、每日交易收益结果、股票每日推荐等。

picture.image

picture.image

picture.image

使用

安装

安装指引[1] | 在线文档[2]


          
 ____________________________________
          
< Run ``./env_setup.sh`` to say hello >
          
 ------------------------------------
          
            \   ^__^
          
             \  (oo)\_______
          
                (__)\       )\/\
          
                    ||----w |
          
                    ||     ||
      

开始

主要包含四个窗口,如果启动界面有问题可以参考这里的启动方式。

picture.image

👉 点击这里[3]查看源码

本地布署


          
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环境

  1. 基金策略在线分析

需要 node 开发环境: npmnode,点击查看[4]详细操作文档

运行命令


          
cd pyfunds/fund-strategies
          

          
npm install
          
npm start
      
  1. 选基、选股助手

运行命令


          
cd investool
          

          
./investool webserver
      

无代码操作 (TODO)

picture.image

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


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

策略

部分未整理。。。

picture.image

picture.image

多个模型的Benchmark结果

Results and models are available in the model zoo[5]. AI strategies is shown at here[6], local run python pytrader/strategies/workflow_by_code.py, also provide [7]

具体AI模型benchmark结果:

picture.image

picture.image

策略原理及源码分析

在线文档[9] | ❓ 常见问题[10] | Jupyter Notebook[11]

策略统计报告

picture.image Quantstats Report

点击 这里[12] 查看更多.

一些策略的回测结果:

声明:别轻易用于实盘,市场有风险,投资需谨慎。


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

picture.image

                                                                                image

picture.image

👉 点击查看[13]源码

A股回测KDJ策略:

picture.image

                                                                                    image

picture.image

👉 点击查看[14]源码

A股回测 KDJ+MACD 策略:

picture.image

image

picture.image

👉 点击查看[15]源码

TODO

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

贡献

我们感谢所有为改进 Qbot 所做的贡献。请参考 CONTRIBUTING.md[17] 的贡献指南。

🍮 社区

有想要做进一步了解的,可以去github上联系项目负责人,github地址为:https://github.com/UFund-Me/Qbot。当然,也可以联系笔者帮忙进项目交流学习群,但是这里强烈不建议大家用于实盘,希望大家能通过这个项目学习一下AI如何在金融领域应用。

References

[1] 安装指引: ./docs/01-新手指引/Install_guide.md
[2] 在线文档: https://ufund-me.github.io/Qbot/#/
[3] 这里: gui/mainframe.py
[4] 查看: pyfunds/fund-strategies/README.md
[5] model zoo: docs/03-智能策略/model_zoo.md
[6] here: ./pytrader/strategies/
[7] : https://mybinder.org/v2/gh/UFund-Me/Qbot/blob/main/pytrader/strategies/workflow\_by\_code.ipynb/HEAD
[8] Model Zoo: ./docs/03-智能策略/model_zoo.md
[9] 在线文档: https://ufund-me.github.io/Qbot/#/
[10] ❓ 常见问题: https://ufund-me.github.io/Qbot/#/04-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/FQA
[11] Jupyter Notebook: ./pytrader/strategies/notebook
[12] HERE: quantstats#visualize-stock-performance
[13] 查看: pytrader/doc/02.easy_macd_strategy/macd.py
[14] 查看: pytrader/doc/04.kdj_with_macd/kdj.py
[15] 查看: pytrader/doc/04.kdj_with_macd/kdj_macd.py
[16] issues: https://github.com/UFund-Me/Qbot/issues/
[17] CONTRIBUTING.md: .github/CONTRIBUTING.md

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
CV 技术在视频创作中的应用
本次演讲将介绍在拍摄、编辑等场景,我们如何利用 AI 技术赋能创作者;以及基于这些场景,字节跳动积累的领先技术能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论