以前市場有個很有名的開盤八法,其中有一個說法是,如果開盤起算的五分鐘K 線,連續三根都收紅,那麼當天收高的機率就比較高,我寫了腳本想要印證這樣的說法是否正確,結果發現,最近漲的不兇,但這兩日走勢比大盤強,今天開盤前十五分鐘又維持連續三根五分鐘K都收紅,那麼作多贏的機率確實比較大。
我試了不少的方向,最後的發現是,符合以下條件下的開盤三紅K,會有比較高的勝率
1.大盤多頭
2.前兩個交易日走勢比加權指數強
3.近十日漲幅沒有大兇
4.開盤前三根五分鐘K都收紅
5.開盤前三根五分鐘K的平均成交量明顯比先前放大
我寫的腳本如下
if GetSymbolField("tse.tw","收盤價","D") >average(GetSymbolField("tse.tw","收盤價","D"),10) //多頭市場 and GetSymbolField("tse.tw","收盤價","D") / GetSymbolField("tse.tw","收盤價","D")[2]+0.01 <GetField("收盤價","D")/GetField("收盤價","D")[2] //前兩日比大盤明顯走強 and GetField("收盤價","D")[1] <GetField("收盤價","D")[10]*1.07 //近十日沒有漲的太兇 then begin if barfreq<> "Min"and barinterval<> 5 then raiseruntimeerror("本腳本只限五分鐘線"); if time=091500 and trueall(close>close[1],3) //開盤三根五分鐘線都是紅棒 and average(volume,3)>average(volume,20)*1.3 //開盤的量能明顯增加 then ret=1; end;
回測設定我是用有量的中小型股,停損停利都設7%
回測報告如下:
勝率接近六成,不過大盤走大空頭時,用這個策略還是大多以停損出場,這策略比較適合在大多頭市場中使用。
如果擔心這個策略輸的時候輸的很慘,另一個方法是把它當成當沖策略,我用進場後的第51根K棒出場來回測,回測報告如下:
勝率雖然比較低,但還是有55%,但最大連續虧損及最大區間虧損就都回到合理的範圍了。
最後,我在檢視回測中出現虧損的個股股價走勢,我發現那種前一天下跌的股票,今天出現紅三K的時候,尾盤收高的機會較大,所以我在腳本中加上一個條件
and GetField("收盤價","D")[1]<GetField("收盤價","D")[2]
加上這個條件後的回測報告如下
加上這條件後的勝率達到68%,更難能可貴的是,最大連續虧損及最大區間虧損只有 7%。
早先公司在開發XS這套軟體的時候,常有朋友勸我說,台灣會寫程式又會做交易的人很有限,你們花這麼多資源做這產品,能賣幾個人呢? 當時我其實心裡也是毛毛的,怕做出曲高和寡的產品,這陣子我用了這項服務之後,我發現,它讓我可以在有任何的Trading idea時,都可以寫成程式去回測,再根據回測的結果不斷的修正程式,最後理解到一個Trading idea在什麼情況下,會work,什麼情況下,聽聽就好,這種拿所有個股的交易及財報資料來作運算,找出在什麼情況下,有較大機率股價會上漲或下跌,其實是大數據分析的一種實踐。
在有這種體會之後,其實我就比較篤定了。因為,這真的可以幫到我。