回測
我應該使用什麼延遲來回測高頻策略?
我們正在為 Eurex 交易的高流動性期貨開發高頻交易策略。我們計劃託管我們的伺服器並使用 QuantHouse 的數據饋送和 ObjectTrading 的執行 API。回測是對從 QuantHouse 購買的分時數據執行的,其中時間戳具有毫秒解析度(順便說一句,交易和報價是分開排序的,因此如果交易和報價具有相同的時間戳,則它們不會被排序)。我的問題是關於我們應該用於回測的延遲。我將延遲定義為:數據饋送延遲 + 內部處理時間(幾微秒)+ 執行延遲。我們通過將 X ms 添加到觸發交易的報價單的饋送時間 (T) 來模擬這一點,然後如果饋送時間不晚於 T + X 的最後一個報價單是報價,我們將使用其賬簿執行,否則(如果饋送時間不晚於 T + X 的最後一個分時是交易)我們等待傳入的報價並使用其賬簿執行。所以我的問題是:
- 我們的執行模型合理嗎?
- 我們的設置應該使用什麼 X?
- 您能否建議其他(不太昂貴的)設置以減少任何類型的延遲?
首先,您計劃實施的策略很重要:
如果它是擴展的(套利點差交叉:一次買一個問一個場地,比另一個場地的一個投標便宜),你計劃使用的方法是合理的。不過,您應該考慮到:
- 延遲在某種程度上不確定的事實,在兩條消息之間的持續時間使用Poisson過程,
- 延遲在一天中的任何時候都不相同,或多或少與活動成正比(美國為 U 形,當紐約在歐洲開放時增加)。
如果它是基於統計套利的策略,那麼您的盈虧對消息的排序不應過於敏感。您應該對消息的順序(例如半徑為 1 到 10 條消息)使用本地擾動進行回測,而不是增加延遲。
我想說大多數數據提供者(1 級 CTA 提要)的平均延遲在 100 毫秒到 450 毫秒之間。
當交易量出現峰值時,這也會有所不同,例如:市場開盤/收盤。