第十三篇:程式交易系列 ─《有問題的程式策略專論》

----本文轉自《台北富時》---

------------------------------------------------


  筆者粗略地把幾個開發程式遇到的基本問題歸納於下,這些問題是筆者在開發過程中碰到的常見問題,大家可以參考看看。

一.滑價風險專論


  程式交易一個最令人恐懼的地方,就是現實滑價問題在回測績效中無法反映出來。但滑價這種事,只要明瞭自己的交易邏輯,或者了不起丟個一口單試一陣子,就能大致掌握了。

  一般來說,順勢突破邏輯滑價幾乎是無可避免,所以採取這種策略進場的人,不管你是用一根長K突破進場,還是突破某一價位關卡進場,都必須設定較高的滑價風險;少設不如多設,實單環境如果沒有那麼嚴苛,下單也可以比較放心。

  滑價可能發生的第二個風險,是商品流動性。有些商品交易量太低,要買在訊號的點位很難,每次都會滑幾個tick;國內期貨交易量還算充足,比較不會發生這類情況,國外商品如2011年的貴金屬商品,要說不滑價是不可能的,假如沒事先設好足夠的滑價成本,實單上線後必然會面臨到績效與回測有差的問題。

  滑價可能發生的第三個風險,是快市風險。當行情波動過於劇烈時,交易幾乎是上下超過10個tick在跳動,這種滑價風險是難以避免的,只能盡量減少在這段時間進出場;所以一個交易頻率低的程式,在滑價設定上不用太恐懼,但一個交易頻率高、或者在特定時間交易頻率高的當沖程式,就必須針對這種狀況想出應對之策才行。台指期的行情快市常發生在暴跌和暴跌後的劇烈盤整,2011年的八月台指就是一個例子。

  最後一個滑價可能發生的風險,是市場交易量。一般散戶可能不用太在意,但對於有一定資本的人來說,二位數以上口數的單,就要審慎考慮市場容納量和滑價的問題。這也就表示,假如你開發的是短線下單頻率高的交易策略,即便訊號方面一直都獲利,但這支程式可能沒辦法讓你無限放大口數下單;甚至口數越大,滑價影響越高,獲利就越被侵蝕。要倚賴這種不能設太嚴苛交易成本的程式,最好的方法還是到券商的自營部,使用公司掛在期交所下的高速網路下單。


二.價位邏輯專論

  有些程式交易策略,採用的是價位作進出場判別,或者配合停損、拉回等條件來撰寫策略。筆者認為,停損、拉回等輔助條件在發展邏輯上是可以使用的,只是不要設太小,以台指期這個商品來說,小於20tick的停損拉回,都很可能造成回測失真的問題。

  至於進場方面採用價位判斷,這個筆者就有些置疑了。倘若是當沖策略,根據隨機走勢理論,確實有機會透過回測統計寫出一個下單策略;不過程式使用壽命可能有限。至少我們可以預見,倘若下單的商品在未來價位區間或趨勢改變之時,以價作進出判斷的程式通常無法同步調整。有些人或許會認為可以用大盤指數參考作動態調整,但4000點的價格波動不見得會小於9000點的價格波動(請參考2008年底部),因此筆者目前未開發以價作進出依據的程式。


三.量能邏輯專論

  這區討論會很快結束,簡言之,筆者不支持量能開發。只要稍微回測歷史,馬上就會發現,無論是哪個商品的歷史成交量,和現在市場上的成交量都有相當差距;當然和未來市場的成交量鐵定也有差距。

  既然市場交易量在歷史演變的過程中不斷改變,根本就不能透過「數值」來寫進程式做回測。哪種數值以上是暴量?哪種數值以下又是無量?當然可能由鄰近相對值來作區分,不過這種難以透過歷史檢驗的策略,筆者會乾脆直接放棄。何況採用量能的邏輯往往都是快市突破,滑價風險很高,因此筆者並不建議開發量能相關的策略。


四.邏輯過度複雜化問題

  一些人會相信:多就是好。然而真的是如此嗎?以下舉個例子:

  今天有一個小男孩站在街上,我們想知道那個小男孩有多重,於是想出很多種測量方法,使用翹翹板、用齒輪力矩、或者徒手抱起小男孩來感覺……但聰明的大家一定也會認為,與其這麼麻煩,還不如找一個體重計請小男孩站上去,才是最快、最簡單、也最好的方法。

  所以,當你在思考要用各種技術指標諸如KD、MACD、RSI…以至於到大戶留倉口數、十檔價、波浪理論、形態學,甚至異想天開地想把消息分析、基本分析也寫入程式,然後當指標判斷上漲做多、下跌做空,如此完美無缺的程式,不就是結合了市場所有的分析方法,來讓下單變得精準無比?

  答案當然是:不可能。把所有指標都結合?那指標結果衝突怎麼辦,採取多數決嗎?今天有三種測量方法說小男孩很重,兩種測量方法說小男孩很輕,於是我們得到小男孩很重的結論……這種想法未免太不科學、太不實際。但一些民眾卻很容易被說服,因為文學分析就是「堆砌」的結果,當所有論證都集中指出一個答案時,哪有不是這個結果的道理;結果地球是圓的,人類要在五千年歷史中的最後五百年才知道。

  奉勸各位不要相信「多就是好」的道理。成功的交易者雖然很多,而且散布在各種分析領域;但通常專精某項領域的交易者,對於其他不懂的領域是不去過問也不想了解的;因為專精多項領域不僅耗力甚高,而且很多分析常有打架的時候。筆者認為一個成功的交易者,先找到一項會成功的交易方法專精磨練就夠了。程式交易不需要把一堆亂七八糟的指標合在一起,用一兩個簡單邏輯或指標發展,在以慮網修正,結果一定會更好!


五.形態學不適合程式下單

  形態學是技術分析者中常用的一種被證實能獲利的技術。但是真正可以獲利的形態學,和坊間死板的形態歸類不同,不是刻板圖形。而且形態學走到極致的人也會發現,很多情況多空發展機率是一半一半,必須搭配籌碼用運才能獲利。

  如果要把需要大量「盤感」經驗的形態學,刻意寫成程式的話,很容易變成一個四不像的東西。光是形態中的「前高前低」,要以程式語言精確描述就是個很大的挑戰了,因為程式通常是用時間週期去計算;雖然硬寫還是寫得出來,但倘若是一個複雜的形態,程式恐怕就無法精確描述出主觀交易者的想法。

  筆者在做程式交易前,研究長達三年的形態交易,也曾透過這種交易方法在股票市場上獲利百萬,但最後卻走到極限,發覺形態交易很容易受一時盤勢左右,常常幾根K棒後就出現和之前截然不同的盤勢判斷。於是當筆者開始研發程式策略時,乾脆放棄了之前的下單邏輯,一切從頭來過,以簡單的波段邏輯作主要開發,過往的盤勢經驗則變成了檢測程式訊號是否合理的依據。

  將形態學寫入程式,筆者私下認為是個不明智之舉。因為語言很難精確表述出幾何學的觀念,而為求寫成程式而簡化的形態學,又失去了精隨的價值。在開發者的形態學邏輯能不能獲利這個前提都有問題時,還硬要寫成程式,結果出來一定不會很好看,而且回測很可能有失真的問題。

----------------------------------------------------------------------------------------------


  以上僅就幾個策略開發方向作討論,讓大家明白一些開發方向可能不適合做研究。

--------------------------------------------------------

----本文轉自《台北富時》---
2012-02-23 11:45 發佈
分享一支台股回測app
https://play.google.com/store/apps/details?id=priceyang.stockbacktest
分享一支台股回測app
https://play.google.com/store/apps/details?id=priceyang.stockbacktest
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?