導語:《Machine Learning for Stock Price Forecasting》是Ali El-Shayeb撰寫的機器學習系列文章 永票,本文主要介紹其第二部分內容——《監(jiān)督式機器學習算法的應用》谭胚,并將其思想和代碼應用在中國股票市場菇爪,開發(fā)出具有擇時功能的監(jiān)督式機器學習算法央渣,最后進行策略回測。對此感興趣的小伙伴可以直接在本文文末克隆策略源代碼,進行深入和擴展研究。
《監(jiān)督式機器學習算法的應用》
Ali El-Shayeb通過價格和成交量相關的9個特征訓練模型围橡,特征列表和數(shù)據(jù)來源見下圖。
作者希望訓練出一個二分類模預測模型缕贡,來預測市場屬于牛市還是熊市狀態(tài)翁授。在訓練集數(shù)據(jù)處理上,如果交易日t+30價格小于t交易日價格晾咪,那么標注為0收擦,否則標注為1。通過特征數(shù)據(jù)和標注數(shù)據(jù)可以訓練出一個二分類模型谍倦,接著在預測集上進行預測塞赂,如果預測結果為1,表明為買入信號昼蛀,如果預測集為0宴猾,表明是賣出信號。最后叼旋,通過預測結果回測檢驗策略收益曲線仇哆。
需要補充的一點是,作者將訓練集上80%的數(shù)據(jù)作為訓練集夫植,20%的數(shù)據(jù)作為驗證集讹剔,在驗證集上評估策略的預測效果。評估指標為準確率详民,準確率計算公式為預測正確的天數(shù)與總預測天數(shù)的比值延欠。
模型比較
Ali El-Shayeb嘗試了多個機器學習分類模型,發(fā)現(xiàn)模型表現(xiàn)各不一樣(見下圖)沈跨。通過構建更多的特征能夠消除數(shù)據(jù)噪音由捎,獲取更好的預測結果。此外饿凛,作者還發(fā)現(xiàn)預測時間越長狞玛,模型預測越準確邻奠。模型的準確率較之于隨機猜測(50%漲,50%跌)的差值为居,恰恰能夠體現(xiàn)模型的有效性。
交易策略
華爾街專業(yè)量化交易員預測第二天漲跌的準確率為55%杀狡,預測未來30天股價的準確率高達80%蒙畴。Ali El-Shayeb發(fā)現(xiàn),使用支持向量機分類算法的準確性最高呜象,模型會告訴他膳凝,如果價格下跌就賣出股票,如果價格上漲就買入股票恭陡。該策略從08年到10年每月收益為1.3%蹬音,期間策略總收益為31.2%。在該時間段休玩,基于標準普爾S&P500買入并持有的策略收益率為-6.9%著淆。
展望和不足
- 股票價格受很多因子影響,股票池不一樣拴疤,總能找到比較好的策略回測曲線
- 模型偏簡單永部,沒有考慮宏觀方面的一些特征,比如GDP呐矾、通貨膨脹率苔埋、利率水平等
- 財報的因子也沒有考慮進去,未來可以基于自然語言處理(NLP)的算法對財報進行分析預測
A股市場策略復現(xiàn)
本文將Ali El-Shayeb的量化思想應用在A股上面蜒犯,因為本質上該策略屬于擇時策略组橄,因此我們只需確定股票。這里我們以深高速(600548.SHA)為例罚随,如果大家想要換成其他股票玉工,修改下證券代碼列表這個模塊的參數(shù)即可。
本文完全采用Ali El-Shayeb提到的9個因子毫炉,其中2015年到2017年初為訓練集瓮栗,2017年到2018年為預測集(回測區(qū)間)。因為是二分類算法瞄勾,所以我們采取Logistic Regression算法费奸,如果大家想檢驗一下其他二分類算法的效果,可以直接在模塊里將算法更改為sklearn機器學習包相關的算法名稱进陡。
策略回測結果:
從上圖可以看出愿阐,該策略在在回測區(qū)間總收益率為17.36%,而如果直接買入并持有該股票的話,策略總收益率為9.3%骂删。該策略主要是通過擇時空倉規(guī)避了下跌,可見該策略擇時有效祭刚。
需要說明的是辛孵,本文旨在復現(xiàn)國外數(shù)據(jù)科學家的一個量化策略丛肮,介紹如何在A股市場開發(fā)ai量化策略,希望大家能夠快速高效開發(fā)策略魄缚。因此并不對策略收益做保證宝与。