背景/目標(biāo)
本量化系列主要是針對個人或者小型投資團(tuán)隊(duì)進(jìn)行量化+機(jī)器學(xué)習(xí)實(shí)操的學(xué)習(xí)和實(shí)踐筆記
本篇的主要目標(biāo)是實(shí)現(xiàn)對量化策略的框架選擇
在量化投資學(xué)習(xí)中拇砰,基于以終為始的思想阵幸,量化策略的最終目標(biāo)是收益剔应。所以本篇開篇先講對于回測和交易需要用到的框架選擇坠狡。
Part1: 什么是回測吨凑?
百度百科
- 基于百度百科的介紹喘帚,單次的股票回測代表的是在指定股票組合條件下贪婉,對歷史行情模擬得到的收益風(fēng)險相關(guān)數(shù)據(jù)的量化分析反粥。而我們量化策略的終點(diǎn)肯定是真實(shí)行情的收益,但在策略上線之前疲迂,需要對策略的有效性進(jìn)行評估才顿,直接實(shí)盤去測試策略風(fēng)險和收益的時間和金錢成本都太高了,所以一般會采用回測和模擬交易兩種模擬的方式來對策略進(jìn)行測試尤蒿,在低成本的條件下完成對策略效果的驗(yàn)證郑气。
Part2: 量化回測框架選擇
調(diào)研了下當(dāng)前的量化回測框架主要分為兩個大類:商業(yè)化框架和非商業(yè)化開源框架。
商業(yè)化框架
- 平臺選擇:主要有Quantopian(國外)优质、聚寬竣贪、萬礦、優(yōu)礦巩螃、米筐演怎、掘金等
- 商業(yè)模式分析:商業(yè)化平臺的商業(yè)模式從以上平臺分析,主要有兩種避乏,一種是通過對免費(fèi)版本做一些限制爷耀,然后在收費(fèi)版中開放更多的權(quán)限和功能來變現(xiàn);另一種是類似于quantopian的模式拍皮,通過舉辦一些比賽來收獲一些高收益的策略歹叮,從高收益的策略中共享投資收益從而實(shí)現(xiàn)平臺的變現(xiàn)
-
優(yōu)缺點(diǎn)分析
- 優(yōu)勢:平臺為你搭建了基礎(chǔ)的數(shù)據(jù)和策略的回測實(shí)現(xiàn)跑杭,同時具有較好的可視化收益和風(fēng)險回測效果分析,不用花人力成本進(jìn)行維護(hù)
- 劣勢:第一是對于專業(yè)化使用的收費(fèi)較高咆耿;第二是對于在平臺端保存的策略安全性較低德谅;第三是對于一些策略或者工程的定制化開發(fā),商業(yè)化平臺的靈活性不夠
- 結(jié)論:從長期策略的發(fā)展角度來看萨螺,選擇開源框架在靈活性和安全性上都是比較好的選擇
開源框架
- 框架選擇:vnpy / zipline / backtrader / ...
-
框架優(yōu)缺點(diǎn)分析
- zipline:目前最大的開源框架窄做,很多商業(yè)化平臺包括聚寬等都是基于zipline的開源框架進(jìn)行定制化開發(fā)的架構(gòu)。好處是有豐富的社區(qū)同時作為quantopian的底層慰技,在架構(gòu)的成熟度上也有一定的保證椭盏,但缺點(diǎn)是zipline作為回測框架沒有實(shí)時交易相關(guān)的部分功能性上有所缺失,同時在測試過程中發(fā)現(xiàn)回測速度較慢同時在底層代碼上存在一些對于國內(nèi)市場數(shù)據(jù)兼容性的問題吻商,對于修改源碼來說相對也較為復(fù)雜
- vnpy:國內(nèi)最大的開源框架掏颊,同時在github上的star數(shù)跟zipline旗鼓相當(dāng),同時囊括了國內(nèi)的市場數(shù)據(jù)和實(shí)時交易等豐富完善的架構(gòu)艾帐,以及包含可視化的GUI使得用戶操作更加便捷乌叶。但缺點(diǎn)是對于mac用戶的使用上非常不友好,主要針對的用戶對象是windows系統(tǒng)掩蛤,同時因?yàn)樯蠈臃庋bGUI枉昏,所以對于定制化靈活性等也有一定的損失,在代碼的復(fù)雜度上也相對較高不容易源碼修改
- backtrader:一個相對pythonic的開源策略回測框架揍鸟,文檔社區(qū)和代碼結(jié)構(gòu)都相對完善看起來簡單易懂兄裂,同時在模擬實(shí)時交易以及回測速度上都有較好的保證,以及對于源碼的閱讀和修改上因?yàn)楸旧韕ythonic的編程風(fēng)格所以也相對容易阳藻。但缺點(diǎn)是畢竟一個國外的框架對于國內(nèi)實(shí)時交易的部分還需要額外的開發(fā)和整合
- 結(jié)論:從易用性/社區(qū)完善性/擴(kuò)展性/性能等方面來考慮晰奖,backtrader可以作為一個比較理想的開源框架來作為策略開發(fā)的底層