Machine Learning 表示:看季線最無用!

最近喜歡做 machine learning 的預測,發現機器學習看財報,預測下季收盤價還滿準的。

Alpha Go 讓人類的圍棋可以到達新境界,機器學習中學習到一些它判斷財報的方法,今天來剖開上一篇教學中,機器學習的大腦,來看一下機器人如何選股!

thumbnail 2

Machine Learning:季線無用!

機器學習的模型就像是一個黑盒子,很難知道他其中的工作原理,只能看到線性化後,每個feature的權重。發現了一個很有趣的狀況,就是 “股價在季線上” 這個條件,權重超低!

假如你買賣股票也跟我的模型一樣,是根據每一季財報來決定,那機器學習的結果,表示不用看季線,因為幾乎沒啥用。

看季線還不如看近10週收盤價!發現把週收盤價納入參考,也可以增進效果。代表長線的技術指標是有用的!

重要的財報數據

以下features的重要程度按順序排列:

  1. 月營收增長率很重要,而且不能只看一個月!
  2. 當季ROE去年同季ROE很重要!
  3. EPS季增長率也很重要!
  4. 總資產轉換率 較不重要,但也不賴啦!
  5. 其它,重要程度:股價淨值比 = 負債比率 > 本益比 = 殖利率
  6. 週收盤價比上面的難用,但好像可以判斷一些東西,但一定是非線性的,所以不知道其中原理XD
  7. 重要程度趨近於0的:收盤 > 季線

真的很少網站可以像這裡一樣,告訴你哪些是比較有用的數據,哪些比較難用,我們真的要跟機器來學習,一般人都會認為股價淨值比、本益比是最重要的,但是這邊做出了一個不一樣的結論:營收是否增加才是股票漲跌的關鍵。

這樣做的用意只是給大家一個概念,也不代表機器學習的結果就得奉為聖旨。

機器學習評分財報

機器學習模型最後會幫每個股票評分,總共100分,最低0分,50分就是他覺得股票不漲不跌,所以我們將每季評分分成四組,由低到高:

dis

可以看到有很多的評分都在0分跟100分,因為分數算法的關係,100分的部分可以想成超過一百分!(國軍online)

之後會在將 0 跟 100 分再區分清楚一點~

回測!

接下來我們將分數由低到高分4組,分別回測:

eq 6

報酬率由低到高很漂亮的一字排開!分數低果然很差,而分數高真的很好。
可以看到50分以上的兩組,其獲利贏過大盤(黃色),而50以下的兩組,其獲利小於大盤。

財報好的公司,抗跌!

資優生組別(灰色)幾乎每季都漲!唯一一次跌是在2015年中,當時大盤大跌,但資優生那組並沒有跌非常多。

穩定的報酬率

大盤三年1.05倍,而高分財報組1.75倍,平均報酬率20%每年。

別用這個策略亂放空!

從上圖也可以看到一個現象:不要亂放空,不然會慘慘的。就算財報在爛,最差的那組還是沒辦法一直跌,但財報最好的那組可以漲很多!

附註:現在就開始AI選股,免費取得訓練資料和教程

取得訓練資料的方法很簡單,幫冷清的寒舍小小宣傳一下:

  1. 分享任一你覺得很有趣的FinLab文章於FB
  2. 將分享截圖傳到 [email protected]
  3. 一兩天內即可獲得 data.csv!

依照本blog的含金量、data.csv的完整程度,你一定不會後悔的!

詳細的python教學:利用Machine-Learning-選股新手教學

FinLab - 韓承佑

嗨大家好,我是韓承佑,FinLab創辦人,畢業於巴黎薩克雷大學資工博士,目前擔任臺灣量化交易協會 學術顧問、台北商業大學 創新育成中心 創業技術顧問與上市科技公司 量化交易顧問。當初,我喜歡寫程式、無意間因為軟體比賽接觸Fintech,從此開始了財經跟程式的學習之路。我們成立 FinLab 量化投資部落格,用自己研發的軟體,對台灣股市做大量快速的實驗。希望可以在量化投資的路上,當大家的「武器製造商」!