前言
前陣子看到臉書與PTT有人分享
台北有財神廟推出可以幫你用AI人工智慧預測未來股價的APP,在留言區造成很多網友的迴響,連我也覺得十分酷炫。(但有網友質疑APP程式來源的
真偽性,我在 GOOGLE地圖上也查不到台北有這間廟,不建議大家下載使用)
其實AI人工智慧投資早已不是新聞,在國外早有許多由AI專門選股操盤的對沖基金,也有專門
追蹤這幾檔基金的指數。甚至國外
已有創投公司使用AI技術預測新創公司的成功機率,進而決定要投資哪間新創公司。
國外知名的研究顧問公司
Gartner甚至指出,在2025年,將有75%的創投投資決策由AI取代,由此可見
AI投資不再是少數例子,而是大環境下的趨勢。
剛好前幾天有熱心的讀者建議我製作台股的AI模型教學,所以今天,我就以最簡單的方式為大家呈現到底AI投資決策模型是如何被開發的。
我在前年曾經寫過一篇詳盡的AI投資模型製作教學,以美國指數作為預測對象,文章較為完整但難度偏高,有興趣的朋友在閱讀完本篇後可做為參考。
其實AI離我們很近,使用並非難事
一提到AI人工智慧,可能很多人會很直覺地感覺到,很難!但其實現在我們大家所看見的AI絕大多數都是由機器學習等演算法拼湊而成,而這些演算法早已有現成的程式碼在網路上,我們只要下載便可使用,不需親自打造。
以我此次所示範的簡易AI為例,資料處理+模型本體僅需短短不到五十行的指令。
完整程式碼連結我附在
這裡,有程式背景或想親手DIY的朋友們可以自行複製代碼,下載Python後研究或使用。
而沒有程式背景的朋友,我也附上
線上運算連結,只要由上而下依序按下每個灰框左上的執行紐,靜待10分鐘內便可觀看每日簡易AI模型預測台積電漲跌的結果。
由上而下依序按下每個灰色框框左上的執行紐,便可於最下方看到預測結果
接下來就讓我一步步講解,這個AI模型是怎麼打造出來的
一、安裝、匯入套件 & 下載台積電股價
稍早有提到,現在絕大多數的程式功能如機器學習等,在網路上都有現成的程式碼可下載,而這些現成的程式碼們會被綑成一包包的套件,下載和匯入都只需一行便能輕鬆搞定。
install / import + 套件名稱,簡單幾行程式便能載入你想要的功能
舉 yfinance 這個套件來說,我們只要 import(載入)它,再輸入我們想要的股票代號與日期,程式就會自動幫我們從
YahooFinance上下載每日的股票股價:
二、計算常用技術指標
在讓電腦學習如何預測股價前,必須先餵給電腦學習研究的素材,最常見的做法就是丟進我們人類也常看的各式技術指標。
在這次範例中,我使用了股市分析常見的MA均線、MASD、RSI、兩個動能指標與布林通道:
技術指標計算。我們人類時常耗費時間研究的指標對於電腦來說判斷僅需不到幾秒
三、標記出AI要預測的目標、整理AI訓練用與驗證資料
整理完學習素材後,我們必須告訴AI要學的是什麼,讓AI以現有的學習素材,嘗試透過歷史數據來學習之,進而預測。
另外我們在AI開始預測前,也會想先知道AI到底學得好不好。具體做法是會先把所有資料的一部份結果遮起來不給AI學習,用來驗證AI到底學習的成效如何。
以這次來說,我遮住了近五百天的股價資料(約是2020年初至今),限制AI只能用2019年以前的歷史資訊學習(專業來說叫訓練集),2020年以後的資料用來檢測並驗證AI真的學得好。
四、建構AI機器學習模型
資料整理完了,就可以開始進入最精華的部分了!
將資料倒入模型中:
大家有沒有發現,其實最精華的部分反而篇幅是最少的。原因其實剛剛已有說明,因為我們基本上是載入別人早已寫好的程式碼中。也因此,在開發AI策略時,其實僅需將想要的資料格式整理好,用別人寫好的一行指令丟進去即可。
那資料科學家到底要做什麼?其實主要的功夫活就在決定到底要讓AI學習怎麼樣的資料,還有這些該整理成甚麼形式。要能解決這些問題,我們必須得同時熟悉各個AI模型背後的運作原理(通常是一堆數學式),還必須具備專業領域的知識。
以我舉例,我就是同時知道AI運作與投資相關知識,因此我能決定出哪些素材,在怎麼樣的格式處理下可以讓AI學得比較好且比較正確。
五、AI績效驗證
講到這,AI也差不多學好了,讓我們看看AI在2020年後的表現到底如何吧!
會選擇2020年後是因為這段時間恰巧包含了新冠疫情的大跌時期,與隨後的大多頭行情,對於驗證投資績效來說是頗具參考性的時間點。
從上圖中可以看到,在2020年後,這隻簡易的AI模型對於台積電明日是否上漲的預測整體準確度為53%,只比丟銅板高一些XD。
但如果我們看得是交易勝率(也就是只算AI預測上漲且隔天真的上漲的機率),這個模型有59%,還算尚可的一個成績。勝率與整體機率會有那麼大差距的主要原因可以解讀成是AI在判斷明日是否上漲時較為保守:在許多實際上漲的日子仍保守預估不會漲,只有在有一定程度的把握才喊漲,導致整體勝率偏低,但勝率尚可。
這績效其實還有很大的提升空間,畢竟這只是個示範版的簡易模型,不但學習素材選得很隨便,也沒經過細緻的處理,整個模型訓練時間甚至不超過1分鐘。以我自己實地有在使用的模型來說,光是訓練就可耗費1個星期。
六、預測台積電明日漲跌
在確認過AI學習得勉強還算可以接受後,我們就可以用它來預測看看明日台積電到底是漲是跌吧!
從圖中可以得知,這隻簡易AI模型預測明日台積電上漲的機率只有47%,並不認為明天台積電會漲。(但切記它的準確度只有53%,要因此放空的朋友還請留步)
題外話,這隻模型我昨天就打造好了,昨天它預測今天台積電上漲的機率僅43%,我今早盤中打開一看發現上漲1%,一度很緊張。還好最後台積電平盤收場,這支AI模型的初戰還稱得上圓滿XD。
以上便是AI模型的打造過程示範,如果有興趣研究或每日觀看模型預測結果的可以從文章中的連結直接複製我的
程式代碼。不熟悉程式的朋友也可以使用
線上平台資源玩玩看(但我不確定有沒有使用額度),更進階細節的技巧可以在我前年的文章中看到
如果是與AI投資有關,有想知道或了解的歡迎到我的
粉專留言告訴我,我都可以盡我所能的去撰寫,感謝你們的觀賞!