前言
在ChatGPT引領(lǐng)的AI浪潮下,涌現(xiàn)了一大批AI應(yīng)用,其背后其實(shí)蘊(yùn)含著一個(gè)基本事實(shí):AI能力得到了極大突破——大模型的能力有目共睹,未來只會(huì)變得更強(qiáng)。這世界唯一不變的就是變,適應(yīng)變化、擁抱變化、喜歡變化,天行健君子以自強(qiáng)不息。我們相信未來會(huì)有越來越多的大模型出現(xiàn),AI正在逐漸平民化,將來每個(gè)人都可以利用大模型輕松地做出自己的AI產(chǎn)品。
最近這些天,github的排行榜每天都在發(fā)生著變化。今天介紹一款排位比較靠前的關(guān)于量化交易的AI項(xiàng)目,之所以選擇這個(gè)項(xiàng)目來介紹的原因是筆者之前是做量化交易出身的,深知想要做好一款量化交易軟件的難度。
項(xiàng)目github地址:https://github.com/UFund-Me/Qbot
功能特點(diǎn)
Qbot是一款A(yù)I驅(qū)動(dòng)的自動(dòng)化智能投研、智能投顧平臺(tái),它的功能上主要有以下幾個(gè)特點(diǎn):
·智能交易策略(quant.ai - qlib, deep learning strategies)·回測(cè)系統(tǒng)(BackTest - backtrader, easyquant)·自動(dòng)化量化交易(Qbot - vnpy, pytrader, pyfunds)·可視化分析(quantstats (dashboard\online operate))
快速開始
cd ~ # $HOME as workspacegit clone https://github.com/UFund-Me/Qbot.git
cd Qbotpip install -r requirements.txt
python main.py #if run on Mac, please use 'pythonw main.py'
亮點(diǎn)
多種交易方式:在線回測(cè) + 模擬交易 + 實(shí)盤自動(dòng)化交易
以策略研究為目標(biāo),提供多種交易方式驗(yàn)證策略和提高收益。
2. 多種提示方式:郵件 + 飛書 + 彈窗 + 微信
這是qbot的消息提示模塊,多種方式提示交易信息:交易買賣信息、每日交易收益結(jié)果、股票每日推薦等。
使用
安裝
安裝指引[1] | 在線文檔[2]
____________________________________< Run ``./env_setup.sh`` to say hello > ------------------------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
開始
主要包含四個(gè)窗口,如果啟動(dòng)界面有問題可以參考這里的啟動(dòng)方式。
?? 點(diǎn)擊這里[3]查看源碼
本地布署
export USER_ID='admin' # replace your infoexport PASSWORD='admin1234.' # replace your info
pip install -r requirements.txt
cd pytraderpython test_backtrade.pypython test_trader.py
# visualizationpython main.py
# if run on Mac, please use 'pythonw main.py'
Web環(huán)境
1. 基金策略在線分析
需要 node 開發(fā)環(huán)境: npm、node,點(diǎn)擊查看[4]詳細(xì)操作文檔
運(yùn)行命令
cd pyfunds/fund-strategies
npm installnpm start
2. 選基、選股助手
運(yùn)行命令
cd investool
./investool webserver
無代碼操作 (TODO)
體驗(yàn)下來,dagster是很適合金融數(shù)據(jù)采集、處理,還有機(jī)器學(xué)習(xí)的場(chǎng)景。當(dāng)然這里的場(chǎng)景更偏向于“批處理”,“定時(shí)任務(wù)”的處理與編排。
dagster-daemon run &dagit -h 0.0.0.0 -p 3000
策略
部分未整理。。。
多個(gè)模型的Benchmark結(jié)果
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結(jié)果:
策略原理及源碼分析
在線文檔[9] | ? 常見問題[10] | Jupyter Notebook[11]
策略統(tǒng)計(jì)報(bào)告
Quantstats Report
點(diǎn)擊 這里[12] 查看更多.
一些策略的回測(cè)結(jié)果:
聲明:別輕易用于實(shí)盤,市場(chǎng)有風(fēng)險(xiǎn),投資需謹(jǐn)慎。
symbol:華正新材(603186)Starting Portfolio Value: 10000.00Startdate=datetime.datetime(2010, 1, 1),Enddate=datetime.datetime(2020, 4, 21),# 設(shè)置傭金為0.001, 除以100去掉%號(hào)cerebro.broker.setcommission(commission=0.001)
A股回測(cè)MACD策略:
image
?? 點(diǎn)擊查看[13]源碼
A股回測(cè)KDJ策略:
image
?? 點(diǎn)擊查看[14]源碼
A股回測(cè) KDJ+MACD 策略:
image
?? 點(diǎn)擊查看[15]源碼
TODO
· 把策略回測(cè)整合在一個(gè)上位機(jī)中,包括:選基、選股策略、交易策略,模擬交易,實(shí)盤交易· 很多策略需要做回測(cè)驗(yàn)證;· 本項(xiàng)目由前后端支持,有上位機(jī)app支持,但目前框架還比較亂,需要做調(diào)整;· 各種策略需要抽象設(shè)計(jì),支持統(tǒng)一調(diào)用;· 增強(qiáng)數(shù)據(jù)獲取的實(shí)時(shí)性,每秒數(shù)據(jù),降低延遲;· 在線文檔的完善,目前主要幾個(gè)部分:新手使用指引、經(jīng)典策略原理和源碼、智能策略原理和源碼、常見問題等;· 新的feature開發(fā),歡迎在issues[16]交流;
貢獻(xiàn)
我們感謝所有為改進(jìn) Qbot 所做的貢獻(xiàn)。請(qǐng)參考 CONTRIBUTING.md[17] 的貢獻(xiàn)指南。
?? 社區(qū)
有想要做進(jìn)一步了解的,可以去github上聯(lián)系項(xiàng)目負(fù)責(zé)人,github地址為:https://github.com/UFund-Me/Qbot。當(dāng)然,也可以聯(lián)系筆者幫忙進(jìn)項(xiàng)目交流學(xué)習(xí)群,但是這里強(qiáng)烈不建議大家用于實(shí)盤,希望大家能通過這個(gè)項(xiàng)目學(xué)習(xí)一下AI如何在金融領(lǐng)域應(yīng)用。
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
聯(lián)系客服