最近喜歡做 machine learning 的預測,發現機器學習看財報,預測下季收盤價還滿準的。
Alpha Go 讓人類的圍棋可以到達新境界,機器學習中學習到一些它判斷財報的方法,今天來剖開上一篇教學中,機器學習的大腦,來看一下機器人如何選股!
Machine Learning:季線無用!
機器學習的模型就像是一個黑盒子,很難知道他其中的工作原理,只能看到線性化後,每個feature的權重。發現了一個很有趣的狀況,就是 “股價在季線上” 這個條件,權重超低!
假如你買賣股票也跟我的模型一樣,是根據每一季財報來決定,那機器學習的結果,表示不用看季線,因為幾乎沒啥用。
看季線還不如看近10週收盤價!發現把週收盤價納入參考,也可以增進效果。代表長線的技術指標是有用的!
重要的財報數據
以下features的重要程度按順序排列:
- 月營收增長率很重要,而且不能只看一個月!
- 當季ROE跟去年同季ROE很重要!
- EPS季增長率也很重要!
- 總資產轉換率 較不重要,但也不賴啦!
- 其它,重要程度:股價淨值比 = 負債比率 > 本益比 = 殖利率
- 週收盤價比上面的難用,但好像可以判斷一些東西,但一定是非線性的,所以不知道其中原理XD
- 重要程度趨近於0的:收盤 > 季線
真的很少網站可以像這裡一樣,告訴你哪些是比較有用的數據,哪些比較難用,我們真的要跟機器來學習,一般人都會認為股價淨值比、本益比是最重要的,但是這邊做出了一個不一樣的結論:營收是否增加才是股票漲跌的關鍵。
這樣做的用意只是給大家一個概念,也不代表機器學習的結果就得奉為聖旨。
機器學習評分財報
機器學習模型最後會幫每個股票評分,總共100分,最低0分,50分就是他覺得股票不漲不跌,所以我們將每季評分分成四組,由低到高:
可以看到有很多的評分都在0分跟100分,因為分數算法的關係,100分的部分可以想成超過一百分!(國軍online)
之後會在將 0 跟 100 分再區分清楚一點~
回測!
報酬率由低到高很漂亮的一字排開!分數低果然很差,而分數高真的很好。
可以看到50分以上的兩組,其獲利贏過大盤(黃色),而50以下的兩組,其獲利小於大盤。
財報好的公司,抗跌!
資優生組別(灰色)幾乎每季都漲!唯一一次跌是在2015年中,當時大盤大跌,但資優生那組並沒有跌非常多。
穩定的報酬率
大盤三年1.05倍,而高分財報組1.75倍,平均報酬率20%每年。
別用這個策略亂放空!
從上圖也可以看到一個現象:不要亂放空,不然會慘慘的。就算財報在爛,最差的那組還是沒辦法一直跌,但財報最好的那組可以漲很多!
附註:現在就開始AI選股,免費取得訓練資料和教程
取得訓練資料的方法很簡單,幫冷清的寒舍小小宣傳一下:
- 分享任一你覺得很有趣的FinLab文章於FB
- 將分享截圖傳到 [email protected]
- 一兩天內即可獲得 data.csv!
依照本blog的含金量、data.csv的完整程度,你一定不會後悔的!
詳細的python教學:利用Machine-Learning-選股新手教學