交易

如何設計自定義權益回測器?

  • August 20, 2014

我正在考慮編寫自己的回測器,我意識到我必須做出一些假設。所以我希望我可以發布我計劃做的事情,希望你們中的一些人能給我一些關於如何讓它變得更好的想法(我相信有很多可以改進的地方)。

首先,我的策略通常是持有股票幾天,我不進行(可能任何)日內交易。

所以這就是我的想法。首先,我會購買一些涵蓋我感興趣的股票的 OHLC 股票報價(考慮從 pitrading.com 購買一些,它們的質量是否可以接受?)。然後,如果算法在某個柱上觸發買入或賣出,我將使用下一個柱的高點或低點“執行”訂單(嘗試在這裡盡可能悲觀)。我很好奇的一件事是出價/要價,所以我在考慮可能會增加/減去幾美分,以便在購買/出售時考慮到這一點。我只想看看這些值最近是多少(這些股票的一些最新數據的買賣和報價之間的差異,然後只使用這些數字,因為我不會回溯那麼久)。我會假設我可以以那個價格買/賣我想要的所有東西。

最後,我將包括交易中的佣金成本。我會忽略我的交易對市場的任何影響。是否有任何粗略的指導方針使用交易量來估計你必須買/賣多少才能產生效果?

我還將模擬止損賣單,它們也將在價格超過門檻值後在下一個低點執行。

就是這樣,實現起來非常簡單。我只是希望讓它保守一點,這樣它就可以讓我對我的程序的執行情況有所了解。

對此程序的任何想法或批評將不勝感激。我是新手,我確信我缺少一些細節。

對於“最大悲觀主義”,您應該這樣計算:

  • 多頭 - 在柱形高點進入並在信號柱之後的柱形低點退出
  • 對於空頭 - 在柱線低位進入,並在信號柱之後的柱線高位退出

我以前聽說過這種稱為“酷刑測試”的回溯測試方法。

為了進行適當的回測,您需要考慮許多細節。除了前面提到的關於柱線進/出價的更正外,您還需要更正買賣價差,有時它可能比某些股票的高/低更大。其他一些細節是:

  • 分裂
  • 股息
  • 程式碼更改
  • 認股權證/配股
  • 併購活動

請注意在您的回測中包含已退市的股票,並且通常僅使用當時已知的標準來建構您的樣本(請參閱此處)。

至於交易量限制,一個好的代理是永遠不要交易超過給定時期內發生的典型交易量的 5%。例如,如果您打算在半小時內購買 1MM 的股票,請確保在一天中的半小時內通常交易至少 20MM。不過,從您的問題來看,聽起來您正在考慮一種按分鐘執行的策略,因此您最好只查看訂單簿以及通常可以交易的股票數量。您可以通過查看分鐘交易量柱對此有所了解,並假設您的交易不能超過分佈的第 10 個百分位。

引用自:https://quant.stackexchange.com/questions/839