無意中看到朋友一個很屌的策略,我姑且把它稱作"怒賺兩點"策略,經由朋友同意後,部分內容與大家分享。不過我們隱藏某些條件,姑且稱為條件A與條件B。
這是一個需要程式交易的策略,也需要好的電腦設備跟快速的網路頻寬。
在條件A下,期貨開盤前08:45,掛市價單買進,則會買到開盤價。一旦成交後,再用程式交易,在買到的瞬間掛高於2點賣出。
另一方面,在條件B成立下,在開盤前掛市價單賣出,用程式交易在賣出成交的瞬間,再掛低於兩點平倉。
可能有人覺得賺兩點有什麼了不起,如果再扣掉手續費和稅,每次交易其實只賺了一點 (約200元),更何況很多投資朋友的手續費加稅不只一點。
只是朋友的這個策略,很屌,這半年來的勝率是100%。Anyway,我聽了覺得很有趣,於是做了一下統計。
每天開盤後,到底有多少機率會到觸及 "開盤價+2點" 跟 "開盤價-2點"。由於這是瞬間交易的策略,我們就只拿每天開盤第一分鐘的資料回測就好。也就是AM08:45~AM08:46。
回測時間為 2001年01月 ~ 2014年03月,一共3251個交易日。
其中,有2466天是開盤後第一分鐘內有觸及 "開盤價+2點",有2468天是開盤後第一分鐘內有觸及"開盤價-2點"。
所以,如果用程式交易,做多勝率高達75.83%,做空勝率高達75.89%。且每次都可 "怒 賺 2 點。" (實際上扣掉手續費與稅後是1點)
如果今天貪心一點,想要怒賺3點、怒賺4點,甚至怒賺到10點,是否也有同樣的高勝率? 於是跑了一下實驗,結果如下:
如果用勝率去表示,可發現隨著怒賺點數增加,勝率遞減。有趣的是,不管做多或做空,怒賺的勝率幾乎都是一樣。下圖紅色柱狀代表怒賺開盤買進的策略,綠色柱狀代表開盤賣出的策略。
然而,別以為事情真的這麼美好,我們似乎無法控制沒觸及的那幾次交易該如何處理。這樣還是沒辦法制定一個完整的交易策略。所以我們設定,當一分鐘內沒有觸及怒賺價位,我們就在第二分鐘內的開盤價作停損 (或是停利)。
策略:盤前掛單市價買進,怒賺2點,AM 08:46 開盤平倉,累計損益圖如下。
其實不出所料,這是一個很慘的交易策略。幾乎就是一路賠,我們也可觀察一下這策略實際的每日損益,下面擷取一小段。
雖然大部分都是+2,爽爽的每天吃200元便當。但一賠可能就是把一周的便當錢全賠回去。不過,同樣邏輯用在怒賺三點策略、怒賺四點策略、怒賺五點策略,績效會越來越好。 (但實際上還是不會獲利)
怒賺策略該怎麼賺?
那到底朋友的怒賺策略該怎麼賺? 就算這半年來勝率100%,也不代表未來就是如此。只是,相信大家還是很好奇,如何找到朋友說的條件A與條件B?其實,這就是資料分析的價值所在。我們觀察上面的每日損益,七成五的勝率,賺到就是一個兩百塊便當,可是賠,損失也不小。也可觀察每日的損益柱狀圖 (如下)。大部分都是小賺2點。很突兀的那幾根往下的賠很大,雖然數量相對少,累計起來卻是主要損失來源。
資料沒有做Clean?
另外,可以發現的是,在前半段有幾根是超過2點的,這現象很特殊。牧清華特別把他列出來:
2001-03-16 賺4點
2001-04-04 賺3點
2001-06-07 賺3點
2001-07-18 賺25點
2001-08-20 賺9點
2001-08-28 賺6點
2001-08-31 賺3點
2002-02-19 賺4點
2001-08-31 賺3點
2002-02-19 賺4點
2002-07-17 賺7點
根據邏輯,這代表這些天的第一分鐘,最高點都漲不到兩點,可是第二分鐘開盤卻瞬間衝高。這只有兩種可能。
1. 資料沒有做Cleaning的動作,意思就是資料可能有誤,或是格式架構有問題...等。
2. 當天真的是如此神奇表現。
不過根據這幾個現象都發生在2001年~2002年,牧清華認為資料有誤的機會比較大。
只是即使資料小部分的錯誤,我相信主要回測結果還是差不多。Anyway,若希望回測結果精準無誤,在資料回測前,Data Cleaning是一個重要的工作。
為什麼叫"怒賺"兩點? 基本上如果沒有條件A跟條件B,長期下來這是一個穩賠不賺的策略。但有時候賺運氣財就是要需要氣魄。一怒之下,有75%的勝率,"小幹"完這兩點就閃人,這也正是取名"怒賺"的精神所在!
0 意見:
張貼留言