AI 到底能不能預測股價?應該不少人對這個主題都很好奇,最近在整理一些以前使用過的工具,大概兩年多前做 AI 預測股價的專題時,使用過這個 open source 的 library,就直接整理了一下數據,寫這篇文章
Facebook Prophet
Prophet 預言家是 Facebook 官方發表的 open source library,用於時間序列預測
,可以使用的語言為 Python 或 R,既然是時間序列預測,第一個直覺就是如果拿來預測股價會是什麼結果?
Prophet 優點
- 很簡單,不需要自己建模,FB 已經把模型訓練好了
- 提供歷史週期的比較
實測 台股加權指數
回測時間:1999-07-02 至 2022-09-02 (24年)
我知道看這個 blog 的朋友不見得會寫程式,所以我把完整程式碼放在 Colab,【連結在這裏】,如果不知道 Colab 怎麼用的話,可以先看之前的教學【Google Colab(Colaboratory) 簡易教學】
預測走勢圖
黑色是實際的走勢圖,藍色的是預測值,然後看起來很像布林通道的區間是預測的上下限,一般的 AI 預測要將資料先分成訓練資料和測試資料來驗證,不過這篇文章只是好玩(而且肉眼就看得出來很不準),就直接把全部的資料都當成訓練資料了
趨勢
這張圖比較有趣一點,以「年」來看,就是一路向上,符合指數型長期投資報酬為正的說法,以「月」來看,倒是看出通常上半年的報酬比較好的結果
準不準
應該也不需要我解說了
有沒有預測出 2020 的新冠肺炎下跌 => 沒有
有沒有預測出 2022 的升息通膨下跌 => 沒有
藍色線後幾年差不多就是緩慢的慢慢向上,甚至最近的收盤價預測值還接近 17000,和實際的價格差了快 2000 點
AI 能不能預測股價
回到標題,AI 不管是 machine learning 還是 deep learning 到底能不能預測股價?
換個類似的問題,大家覺得「技術分析」能不能預測股票的後續走勢?
這很難有正確的解答,很多「技術分析無用論」的說法,但還是不少投資人很熱衷去學習技術分析,講講我的想法
不管是 AI 或是技術分析都無法預測股價,但要從投資市場賺錢從來都不需要預測股價
寫過交易策略的人應該都知道一個能賺錢
的交易策略和預測後續走勢通常無關,也常常和勝率無關,重點只需要找出買賣點,然後讓賺的錢比賠的錢多
就可以了,
而技術分析通常對這個決定是有幫助的。AI 其實也差不多,重點在如何產生交易訊號,然後讓交易訊號產生的交易回測出來的獲利能在誤差範圍外,其實就夠了
有打算寫一個系列的技術分析指標(均線、KD、RSI、MACD、布林通道)的教學和回測文章,然後將技術指標導入 deep learning 的特徵產生交易訊號做回測。算了,聽聽就好,你們也知道這個 blog 的產文速度...