2019年3月2日 星期六

[量化狼]實用MC函數-結算出場

在進行回測時,在結算日出場是一件很重要的基本概念,因為台指期貨在6-9月時,會有除權息的價差,如果沒有將換期貨月份合約的價差考量進去,對於回測是一個很大的偏誤(bias)

舉例來說:

2018/7/18 台指期收盤價10844,而你的程式判斷今日進場放空,或是有部位持倉
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;
如此,就可以在結算日出場啦~但要注意的是,特殊的結算日就無法用此函式判斷囉