這次AlphaGO的三勝一敗,讓人工智慧,再次回到聚光燈下。
我在開發交易策略的過程裡,深深體會人與機器之間那種1+1>2的力量,我認為人們運用機器大量運算,測試,不斷地學習改進,是找出有價值交易策略的一條更行之道。
把程式交易視為毒蛇猛獸,跟把人工智慧視為機器統治人類的前兆一樣,無法改變及面對機器運算能力持續進步的趨勢。
善用機器愈來愈強大的運算能力,可以讓人們收集整理分析及決策的力量,也跟著變大。
今天我想舉一個交易策略的形成過程作例子,說明機器的強大運算能力,可以協助我們做到什麼地步。
我經常跟大家分享的一個交易策略叫多次到頂而破。
一開始是我師父讓我把創新高的股票用Excel整理出來,每天送給他,後來我發現,不是每檔創新高的,接下來就一定會創新高,但那些衝了幾次都沒衝過去的高點,一旦衝過去了,後面都還會漲,所以我就寫了一個多次到頂而破的交易策略,腳本如下:
input:day(100); input:band1(4); setinputname(1,"計算區間"); setinputname(2,"三高點之高低價差"); value1=nthhighest(1,high[1],day); value2=nthhighest(3,high[1],day); value4=nthhighestbar(1,high,day); value5=nthhighestbar(3,high,day); value6=nthhighestbar(5,high,day); value7=absvalue(value4-value6); value8=absvalue(value5-value6); value9=absvalue(value4-value5); condition1=false; if value7>3 and value8>3 and value9>3 then condition1=true; value3=(value1-value2)/value2; if value3<=band1/100 and close crosses above value1 and volume>2000 and condition1 then ret=1;
這個腳本是去找過去100根Bar中的最高三個點,而且高點之間差距都超過三根bar,且三個高點最高與最低差不超過4%
結果挑出來的股票例如昨天是跳出志聖2467與帛漢3299,跟我心理想的多次到頂而破有不少的差距,我心中的是像下面這張圖的樣子
後來這個腳本後來經過我同事的修改,變成以下的腳本
input:HitTimes(3); setinputname(1,"設定觸頂次數"); input:RangeRatio(1); setinputname(2,"設定頭部區範圍寬度%"); input:Length(20); setinputname(3,"計算期數"); settotalbar(300); setbarback(50); variable: theHigh(0); theHigh = Highest(High[1],Length); //找到過去其間的最高點 variable: HighLowerBound(0); HighLowerBound = theHigh *(100-RangeRatio)/100; // 設為瓶頸區間上界 variable: TouchRangeTimes(0); //期間中進入瓶頸區間的低點次數,每跟K棒要歸0 //回算在此區間中 進去瓶頸區的次數 TouchRangeTimes = CountIF(High[1] > HighLowerBound, Length); if TouchRangeTimes >= HitTimes and ( q_ask> theHigh or close > theHigh) then ret=1;
這個腳本就是XS雲端策略中心裡的多次到頂而破的腳本。
不過透過這個腳本挑出來的股票,勝率還是很不穩定。
後來,我看到底下這本書
書中有特別強調,要挑這些創新高的股票時,應該要留意其基本面是很穩固的,創新高代表的是更上一層樓的意思,因此我就不再把1500檔股票去拿去跑這個腳本,也是改成用過去五年每年ESP都超過0.5元的選股條件先把1500檔縮小範圍,然後再去跑,這樣目標族群就從1500檔縮小到484檔
透過這樣的過濾條件,在多頭市場這個腳本的勝率已經令我滿意,但在空頭市場還是當會追高後被套,於是我再設定,只有在加權指數週線在月線之上時,這個策略才開始執行。
到這裡,我算是完成了一個令我覺得還OK的交易策略。
回顧整個交易策略的演進,其實就像是下圖一般,不斷演進的過程,
這個過程裡,最大的敵人其實就是懶惰,我常被反應照某個腳本去賭會輸錢,然後呢? 其實該做的是找出那個腳本輸錢的股票具有什麼特色? 進一步根據這些特色去調整腳本,看是加濾網,還是調整腳本,最不該做的事情是: 放棄。
我認為,放棄電腦強大的運算能力,想靠經驗及直覺在市場上討生活的人,會像末代武士一樣,刀法很厲害,但別人都用槍。