舉例來說:
2018/7/18 台指期收盤價10844,而你的程式判斷今日進場放空,或是有部位持倉
2018/7/19 台指期收盤價10721,MC顯示你賺了24600元
2018/7/19 台指期收盤價10721,MC顯示你賺了24600元
如果沒考量結算日換月產生的價差問題,在程式交易上是誤以為賺了123點,約24600元,實際上因為結算的問題,只能交易下個月份的合約。 如果回測有十年,而十年都有換月的價差問題,加上除權息價差,將產生很大的誤差。
實際上在結算出場,因此回測不會產生偏誤的問題,對於研究回測的結果也較為準確!
以下提供判斷台指期結日的程式碼,供給大家做為回測的小工具:
函數: fixingdate 型態回傳值:True False
if (DayOfMonth(D)>=15 and DayOfMonth(D)<=21 and DayOfWeek(D)=3) then begin
fixingdate=True;
end;
只要在自己的程式碼加上
if fixingdate then begin
setexitonclose;
end;
如此,就可以在結算日出場啦~但要注意的是,特殊的結算日就無法用此函式判斷囉