理性、快速、24小時全天交易!用電腦下單,賺錢機率真的會更大?

牧清華

牧清華

  • 2017-10-30 08:54
  • 更新:2018-07-29 17:02

理性、快速、24小時全天交易!用電腦下單,賺錢機率真的會更大?

(圖/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好友 

►點此加入產業研究中心社團

►點此加入粉絲團

 

本文由 幣圖誌 授權轉載,
原文在此 ,未經授權,請勿轉載!

 

 

牧清華

牧清華

數理背景出身、資訊博士畢業,熱愛鐵人三項,醉心期權交易。

數理背景出身、資訊博士畢業,熱愛鐵人三項,醉心期權交易。