現在還是AI的戰國時代, 我屬於較淺的實作新創派,
相信結果仍能給所有觀看的人一點收獲.....
我們專長是利用大量數據,搭配統計歸納的程式作出投資的判斷。一直以來大數據的處理與分析都是根據文獻,或是過去人類歸納的經驗而來;這陣子AI的熱潮不斷拍打而來,我們也著手研究了如何將「機器學習」與「人工智慧」應用在這個沒有競爭規則與時間限制的股票市場;初步目標是要找出是否能透過全自動的「學習」表現出「智能」的預測表現。文章的最後展現了我們設計的人工智慧程式,其具有極高避險能力的「智能」結果令人非常驚訝與欣喜!這種智慧判斷方式,雖然目前加計交易成本無明顯獲利的表現, 但已具智能的行為, 讓其未來發展有望可延伸應用到各種指數市場, 甚至原物料市場!
我們先設計一個「判斷系統」, 用以找出股市線圖的相對高低點;再利用「比對系統」,針對高低點前一段時間的圖形(開、高、低、收、量的線圖形)中, 比對出有特徵的樣本;接著把比對出的一群特徵樣本,隨著新增加的每天股市漲跌數據,用「學習計算系統」調整計算出這些樣本的權重;例如【樣本A】特徵常出現在低點,它的低點權重就會不斷增加,不斷提高影響力;反之,【樣本B】越來越少出現在低點,或是常出現在對向的高點位置,它的低點權重就會不斷的減少,甚至被刪除。最後,再利用一次「比對系統」,提前預測未來的每個數據點。我們建構的這三個主要系統,反覆的在整個AI程式中全自動運作,「判斷=>比對=>預測=>學習計算=>比對=>……」。
精準的篩選出「好數據」是利用機器學習來進化的一大前提與重點!(我們常開玩笑比喻:你餵AI香蕉它就能判別香蕉,給它垃圾它也只能拉肚子)因此我們花了不少時間來構思與編寫「判斷系統」;它是根據「局部高低點」與「平均線」還有「鄰近點高低位置」,去定出指數走勢中的高低點。短、中、長期的高低點輸入到AI學習判斷後的結果,也會顯示出小波段、中波段與大波段的差異!
圖說:利用「判斷系統」對同一時間區段加權指數做高低點的選取,(b)模式較(a)模式選取點數較少較精準,紅色記號是區間低點(買點),藍色空心訊號是區間高點(賣點)。差異明顯且減低模式(a)中高低點誤判的部分,標記在圖(b)的綠色箭頭指向處。
選出來的高低點資料群,我們取該點前一段時間,把該線段與別條線段用「比對系統」做比較,可以比較的有開高低收與彼此間的差值與斜率…..,把這些有相同的特徵取出,形成「特徵樣本」,然後計算每一個特徵樣本在高低點資料群發生了多少次?也就可以得到「特徵樣本」的權重(重要性)。
圖說:(舉例用,不完全是實際計算情況) 黑線為某一組高點收盤前資料,第29點為高點,0~28點是該點前29天的資料。紅線為另一組高點資料,將兩線對準後取近似的特徵點,標註在綠色虛線框內。最後把這些特徵的均值、誤差度與發生的位置存成特徵樣本的一部分。
把整體編寫成一個可視覺化的程式後,我們將實際運行的某一小段截錄成影片如下……。影片中就是一步步的做到「比對=>預測=>學習計算=>比對」的循環。
Music:www.bensound.com
最後的預測結果呈現如下。從圖中可以看到經由這15年的學習演進後,在後期(最上方的圖)出現較為精準的預測(約60%),明顯表現出其有「智能」的狀態。對於這樣的結果,我們感覺很興奮。根據設計的邏輯與步驟,逐步地去編寫與執行,從開始計畫到目前花了一年多的時間累積;在最後,對於這個極人為且沒有時間限制的投資市場,做到表現出智能的判斷預測,我們認為已找到邁向成功的敲門石。
從目前的結果到實際應用仍有一段距離。由於投資市場沒競爭規則且交易分子變動很大,特性又會因許多突發政經事件改變的情況下,也要考慮交易的成本(交易費與稅)。此外,AI訊號到狀況發生時間的不確定,這對停損利的設定需要進一步估算;實際的狀態發生後也沒有準確的持續時間;還有雜亂訊號的過濾,都需要納入下一步的規劃中。
圖說:中間圖的白線是15年台灣加權指數的日k,這邊我們簡單分成三個機器學習的階段:金融海嘯前起漲的前期。包含金融海嘯前指數到9859到落底, 接續歐債危機的中期。後期的是包含指數到前高點10014的2015年至今。最下圖是中期的高點預測情形,綠色柱狀是高點的預測訊號,訊號較為雜亂,沒有很表現出「智能」判斷的行為。最上圖是後期的高點預測訊號,此階段的預測準度較高,有六成多的表現,預測訊號到後來的趨勢用紅色箭頭標明在圖中。
現階段,我們認為已經在人工智慧判斷股市指數的題目中前進了很大一步,刻下了自己的里程碑!證明距離實際能應用的狀況不再是空想。這過程對我們的挑戰遠超過規則清楚的競賽,投資活動要求更嚴謹的整體AI邏輯擘畫。不知道是幸運或不幸,選擇這個題目研究,或許就注定了沒有終點的無限進化;但是,這樣帶著可能性的有趣序章,或許也是我們內心刻意期待的精采發展。