為回測加入按手數計算交易手續費用

張國平發表於2022-12-27

現在VeighNa自帶的回測引擎,只提供了按比率計算交易費用的功能。在國內期貨中,有很多品種是按照手數計算費用,比如鄭期所所有品種,大連和上海的部分品種。

這裡為回測加入按手數計算交易費用,比較常用做法是在加入一個新列舉(ENUM)引數“費率型別”,包括 按手數 按比率,然後在計算費率時候按照費率型別,來計算。
改動比較多。

這裡倒是有個簡單方法,通常按照比率都是在萬幾,而一手收費在幾元。比如螺紋鋼是萬三,而PTA是一手3元。那麼在介面輸入交易費率是小於0.01的,按照保證金比率來算;如果是大於0.01,是按照一手來算。

程式碼改動很簡單。在cta_strategy.backtesting的DailyResult類中。
把原來的
self.commission += turnover * rate
改為

            if rate < 0.01:
                self.commission += turnover * rate
            else:
                self.commission += trade.volume * rate

那麼這樣大部分情況都滿足要求。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-2929680/,如需轉載,請註明出處,否則將追究法律責任。

相關文章