(圖/shutterstock)
AlphaGo擊敗世界冠軍
最近人工智慧與機器學習新聞不斷躍上版面,
一下"機器在未來n年內將取代人類 80%工作",
一下"人工智慧技術大突破,未來將走入商用領域"。
這股熱潮從去年AlphaGo戰勝南韓棋王開始,
今年初AlphaGo更化名為大師(Master)
默默在網路上幹掉一堆高手,取得 60 連勝戰績。
繼續看下去...
(贊助商連結...)
機器取代人力?
於是很多人在思考,
機器學習(Machine Learning)
是否能夠取代人工交易?
從最早的主觀交易,到計量交易,
進而透過程式語言自動下單,俗稱程式交易。
然而曾幾何時,程式交易已經不再稀奇,
畢竟程式交易還需要人工方式開發策略,
是否機器可以自行尋找市場規則,
然後就像AlphaGo一樣到全球各個市場廝殺?
甚至連續獲利 60 天?
我想這是最近大家都想問的問題。
的確,即使目前計量交易的觀念越來越普及,
大家都還是在尋找交易的聖盃,
想當然爾大家都沒找到,而出現AlphaGo後,
看似粉厲害的人工智慧似乎
又為芸芸眾生帶來一線曙光。
到底智能交易是什麼? 真的這麼神嗎?
智能步入未來軌道
智能交易求的是「最佳化」
其實某種程度來說,智能交易就是一種
最佳化(optimization)的過程。
你可能會說:『最佳化很容易啊,
我們做計量交易本來就在做這些事了』
只是,機器學習的最佳化,
會比你人工寫演算法的過程更厲害。
這是因為機器學習理論的背後,
已經有無數個專家學者開發出好的數學模型,
控制各種參數的調節與選擇。
簡單的說,在有限的資訊底下,做出最好的預測。
不管是分類(Classification)、
分群(Clustering)、
或是找出關聯性規則(Association),
機器學習演算法都可包辦。
下面我舉個簡單例子,你便能理解。
決策樹
決策樹(Decision Tree)是一種機器學習常用的方法,
屬於監督式學習(Supervised Learning)
的一種。所謂的監督式學習,是我們告訴機器,
怎樣的特徵要歸為那一類,
例如圖片上有一堆水果讓電腦判斷是蘋果還是橘子。
我們於是先告訴電腦某些特徵,例如紅色是蘋果,
橘色是橘子,未來電腦就會根據顏色做出判斷,
這是俗稱的分類(Classification)問題。
而這樣的過程,我們可以用樹的概念去表示,
稱為決策樹。決策樹的組成在於一連串的判斷條件,
從根點開始做決策,
往左走 or 往右走不斷產生分支形成樹狀結構,
走到最後的葉子便是分類出來的結果。
市場邁入智能交易化
我們用個簡單交易策略來說明。
假設想要開發一個隔日沖策略,
也就是收盤前建立部位,隔日開盤出清部位。
換句話說,就是預測明天開盤是漲還是跌?
這樣的策略架構,你想要學的是可以
根據什麼規則在每天收盤前建立部位(買方or賣方)。
尾盤定性原則
傳統上我們的做法是,
先決定要根據哪些條件(訊號)來做交易。
舉例來說,也許交易邏輯是今天紅K(收盤>開盤),
我便在尾盤做多;今天黑K(收盤<開盤),
我便在尾盤做空,然後隔日開盤平倉。
人工反覆運算
於是我們開始回測,
然後肯定有非常大的機會你會發現效果不好;
於是再改策略,可能是紅黑K要大於 1%,
我才要執行買賣,或著是要伴隨著放量,
例如量要放大到前一日的 30%以上,
我才執行交易。總而言之,
有各種千變萬化的訊號我皆可當作條件去考慮。
只要我們時間夠多,
我們便可一個一個發想去回測,
直到研發出你認為可以上線的策略。
智能交易更快速
可想而知,光是一個隔日沖的策略,
可考慮的訊號就有成千上萬個,
這等於是在茫茫大海中撈針,
撈到了還要回測驗證看績效是否夠好?
然後不斷的重複這樣的過程,
就像當初愛迪生發明燈泡時,
用Try&Error方法驗證過上千種燈絲,
非常的費時費工。然而,
機器學習演算法或許幫我們快速完成這些事。
智能交易克服人性弱點
避免情緒化操作
以決策樹來說,我們只需把可能有用到的
參考指標放進去,也就是Training Data。
舉例來說,紅K黑K便是一個,
你也可以放入每日的量、每日的 20 MA、
每日的 60 MA、或是每日的MACD、
KD等技術分析指標,當然也不局限於日的周期,
任何時間週期,只要是過去的資料,
皆可拿來對齊欄位後給機器學看看。
一個樹狀圖,一個策略
然後,一個鍵按下去(現在很多機器學習的免費套件),
透過你選用的機器學習演算法,馬上做好分類。
在什麼樣的條件下,有多少可能明天會開高;
有多少可能明天會開低,那些參數是無效的,
那些參數使用的效果是顯著的,
馬上產生決策樹的樹狀結構。換句話說,
一個樹狀圖,就是一個策略!
有效蒐集資料庫
我們看下面這個例子。
我使用R語言的tree套件,抓取大盤的周K資料。
參考指標包括每周漲跌幅度(UpDn),
每周量增減幅度(vol),我只用了兩個屬性。
由於我們要做隔日沖,
因此我們用隔周開盤漲跌幅超過 1%當作分類,
所以共有三類:大漲超過 1%(Long)、
大跌超過 1%(Short)、|漲跌幅<| 1%(Noise)。
分析出來的結果說...
1. 當本週跌幅超過 4%,甚至超過 7.16%,
週五收盤前買進,周一出清。
2. 當本週跌幅超過 4%,但不超過 4.73%,
周五收盤前賣出,周一出清。
3. 當本週跌幅沒有超過 4%,
但漲幅也沒有超過 5.25%,
周五收盤買進,周一出清。
機器學習演算法
你可能會覺得上述的根據是毫無道理的,
但這就是根據某種機器學習演算法計算出來的結果。
注意到這張圖最後有 8 個葉子節點,
有 5 個都是歸類為(Noise),
那麼多的決策分支,
是否會是過度最佳化(over-fitting)的結果?
智能交易更能
更客觀做出決策
是的,原則上學習就是
根據過去資料統計出最適的結果,
但當參考依據太多,便很有可能是"硬兜"出來的。
這時我們要做修剪(Pruning)樹枝的動作,
主要也是用統計方法來判斷
是否該繼續在某個節點繼續進行分割,還是停止。
進化的計算
其實,上述這些過程,
有沒有發現跟傳統在開發計量交易策略很像。
只是我們過去是人為的方式,
暴力去找出最佳參數,而避免over-fitting的方法,
可以檢查策略參數是否滿足參數高原?
策略是否可以再縮減參數的維度,
是否經得起穩固性測試(robustness test)、
或著可以用in sample, out of sample方法,
種種過去我們用在交易策略建構的方法,
大部分的機器學習理論都幫我們做好了。
不要過度神化
於你,你說機器學習用在交易上好不好用,
太好用了。但是不是真的能夠像
AlphaGo一樣所向無敵,我打個問號?
這尚需要時間去驗證! 天知道哪天或許
真的出現AlphaCat連贏市場 60 天也說不定。
但無論如何,在這樣的事情還沒發生前,
我們都不應該把機器學習、
智能交易過度神化,
他其實就是用統計學習的方式
把計量交易的精神發揮得更淋漓盡致而已!!
使用智能交易
不僅能提高勝率
更讓獲利較為穩定
現在加入好友【獲得股市 最新消息】
►點此加入LINE好友
►點此加入產業研究中心社團
►點此加入粉絲團
本文由 幣圖誌 授權轉載,
原文在此 ,未經授權,請勿轉載!