online gambling singapore online gambling singapore online slot malaysia online slot malaysia mega888 malaysia slot gacor live casino malaysia online betting malaysia mega888 mega888 mega888 mega888 mega888 mega888 mega888 mega888 mega888 光速世界的礦工──高頻交易上的資料挖礦

速度、速度,喵!

就如同上一篇專欄中貓大所說,在高頻交易的世界裡,最重要的一個特徵之一,就是 速度。除了增快連線速度,比別人更快的拿到分析資料外;加快策略分析速度,更快的算出市場趨勢,更是重中之重。如果分析趨勢的速度太慢,等到分析完成,下 單的時間點都過了,還談什麼獲利呢?沒有速度,即便策略判斷準確、百發百中,也是枉然。因為根本趕不上高頻交易世界中有如閃電般的趨勢變化。
然而,高頻交易不但每秒的資料吞吐量極大,分析時間的要求又極為嚴苛,究竟該如何在短至數十秒的時間裡,從紛亂龐雜的資料中找出不斷改變的市場趨勢呢?


分散式運算技術及In-Memory DB




為了解決高頻交易中對於速度的苛刻要求,我們設計了一套分散式處理系統,將資料分散到多個節點進行前置運算。運用分散式處理系統的優勢,解決了高頻交易要求的一部份「速度」問題。

分散處理的好處在於可以將大量的資料分配給多部機器同時處理,增加策略運算效率。至於將資料分散儲存在各節點上,則有助於降低自硬碟讀取資料的時間。因為 分散式儲存系統的優勢除了可彈性增加儲存節點、較容易擴充儲存容量外,藉助於多個節點同時讀取,亦可更快獲取所需的資料。

使用分散式運算技術,或許可以借助多台電腦共同分擔高頻交易的大量運算量,但是,這並不足以解決高頻交易的「高速」需求。我們還需要借助In-Memory Database的幫助。

In-Memory DB是相對於傳統資料庫而言,不將資料儲存於硬碟上,而是儲存在記憶體中,如此資料存取都不必通過硬碟讀取,只需在記憶體中操作即可。由於去除了磁碟I/O的拖累,使用In-Memory DB可以大幅提升運算速度。

讓電腦幫我們「想」策略

解決了速度問題,接下來就是準確度的問題了。

這讓貓大想到上個禮拜正好有個貓朋友咪咪,是個對程式交易小有研究的OL。咪咪想要寫一支程式輔助投資,於是她花費了幾天到幾個禮拜的時間,設計一支自己 的策略。這支策略融合了咪咪畢生絕學,將她研究了好幾年市場走勢的心得融入,並精心挑選了幾個技術指標,才融會貫通出一個策略。咪咪興沖沖的擺上這支策 略,於是在某一個時間點,這支策略說:「時候到了,買吧」咪咪立馬按下下單鍵,進行下單。
聽咪咪說,這支程式幫她賺了一點錢(讓她買了好幾條魚加菜),而且不必時常盯著走勢,著實讓她省了不少時間。

的確,在以往,這種方式似乎無往不利:只要使用一支可靠縝密的策略,我們便可坐收長期穩定的獲利。然而,現在換到高頻交易上,一樣都是下單決策,同樣一套難道不能照搬過去嗎?

很可惜,這種方式在高頻交易上是行不通的。

為什麼?因為市場變動得太快了。

在高頻交易中,由於時間刻度被拉得很小,只要外部的一個小事件發生,對電腦來說可能就會偵測到另一段截然不同的趨勢,這段趨勢延續一段時間之後,再發生一 個事件,可能又會立即改變這個趨勢。換句話說,高頻交易可供預測的趨勢是非常短的,短到什麼程度則視事件的延續時間而定,一般短到數分鐘內都有可能。市場 一旦改變趨勢,策略就會立即失靈,進而導致巨大損失,後果是非常嚴重的。

在這種情況下,當然不能一直使用同一個策略進行下單決策。我們必須要因應時局,不斷更新策略,以跟上「趨勢」變化的速度。然而,在超短時間中,人腦已經跟不上這麼快的趨勢變化。因此,我們需要依賴電腦來幫我們「想」策略,也就是運用「資料挖礦」技術啦!


規劃與交易

「規劃」與「交易」剛好對應了高頻交易中的兩個階段:根據市場趨勢建置策略,以及驗證策略是否能夠獲利。在使用人工智慧演算法,即時依據當下的市場趨勢,規劃出適當的策略之後,再將該策略放到交易室中,驗證這個策略是否符合當下的趨勢,即「是否能夠獲利」。

每一個產生出來的策略,由於時效不長,因此一旦策略「過期」,就需要再度進行規劃。此時,規劃出來的策略究竟符不符合市場趨勢就非常重要,必須透過交易室 進行驗證,確保它是一個可行的策略。透過規劃和交易的共同合作,可以保證策略能夠緊緊跟隨市場趨勢,並且能夠因應小事件的亂流,靈活應變。

資料來源:採礦貓


留下你的回應

以訪客張貼回應

0
  • 找不到回應

YOU MAY BE INTERESTED