很多人在測試留倉單時,往往都忽略了結算日當天,近月的契約已被結算掉了,隔日的新倉跳空,在實際上是參與不到的,這不管在參數最佳化或回測報表中,均無法顯示出來,為了要能更精細計算獲利的差異,應該要在結算日當天的13:25時將目前的部位先平倉掉,至隔日再依據策略決定是否建倉。在2003~2007四年的績效報表中,不平倉與平倉二種績效竟然可以差到20萬,為了能讓報表更能呈現實際情況,一定得看看平倉後的績效表現。
隔日建倉有二種做法,一種是隔日一開盤,自動建立昨日平倉掉的多空部位,另一種是等待下次訊號出現時再進場,不同的策略,會有不同的作法,所以本篇文章的將提供一個範本,可以由參數來設定這些交易的策略,讀者可以自行加入自己的進出場參數與進出場策略。
Inputs:IsAutoExit(true), IsAutoBuild(true) {,…其他參數.};
Variables:NeedLong(false), NeedShort(false) {,…其他變數.};
If Date <> Date[1] Then
Begin
If NeedLong Then
Buy(“LE_Settle”) At Next Bar Open;
If NeedShort Then
Sell(“SE_Settle”) At Next Bar Open;
If _IsSettleDay(Date[1]) Then
Begin
NeedLong = fasle;
NeedShort = false;
End;
End;
{
…
其他策略進出場條件
…
}
If Time > 1320 And IsAutoExit And _IsSettleDay(Date) And MarketPosition <> 0 Then
Begin
If MarketPosition > 0 Then
Begin
ExitLong(“LX_Settle”) At Next Bar Open;
If IsAutoBuild Then
NeedLong = true;
End;
If MarketPosition < 0 Then
Begin
ExitShort(“SX_Settle”) At Next Bar Open;
If IsAutoBuild Then
NeedShort = true;
End;
End;
沒有留言:
張貼留言