回測

如何估計我們的回測結果中出現分群錯覺的機率?

  • September 20, 2019

假設我有一個策略,我只在一個交易品種中對其進行回測(假設要回測的歷史數據是 25000 根蠟燭)。

該回測的結果是:

總交易= 50

止盈/止損比率= 每筆交易的 2:1

平均止盈百分比= 3%(這意味著平均止損百分比為 1.5%)贏利

交易= 30 (60%)

多頭交易= 20 (40%)

我們如何測試這些結果只是“運氣”還是我們發現了一種模式?(至少在我們的測試數據中)

我在想這樣的事情:

執行一個隨機策略,與我們的策略有相似的偏差(對於每根蠟燭):

在目前蠟燭中開倉的機率:0.002 (50/25000) 做多

的機率:0.4 (40% )

止盈 % : 3%

止損 % : 1.5%

我使用相同的數據執行該隨機策略。一次,兩次,一遍又一遍,直到我找到與我的策略相似的結果(近 50 筆交易,近 30 筆獲勝交易)。

然後我計算我必須執行多少隨機策略才能找到這些結果。

假設我執行了 100 個隨機策略,其中只有 1 個具有相似的結果。這是否意味著我的測試中誤報的可能性是 1%?

//不確定我是否解釋得很好,對不起我的英語:/

假陽性和假陰性是頻率論統計推斷中的概念。他們依賴於人而不是數據探勘。使用凱恩斯符號,他們測試 $ \Pr(X|\theta) $ . 也就是說,在模型為真的情況下,他們測試觀察到的結果比樣本極端或更極端的機率。在更常見的符號中,他們測試 $ P_\theta(X) $ . 你沒有按照你的描述那樣做。

你不是在陳述一個真實的模型。您正在嘗試組合通過所有可能的模型。您無法使用該方法測試誤報。

要了解原因,您應該了解如何測試誤報。讓我們選擇一個基本範例,例如樣本均值多久會產生一個極端結果。如果您沒有可用的微積分或分析工具,就像您所描述的那樣,那麼您將創建數万個大小為 N 的樣本。

您將為該模擬建構隱式密度函式。你會發現 $ \alpha $ 你會使用的截止。使用它,您可以通過使您的 $ \alpha $ 隔斷。

換句話說,您不能使用實際數據。樣本空間中的頻率統計工作。在您的情況下,這將超過您的時間範圍內可能存在的所有可能交易的集合。

估計誤報和誤報的唯一方法是有一個單一的理論模型作為你的空值。

您所描述的實際上是為什麼回測作為一種尋找策略的方式行不通。存在無數種可能的模型。如果您將單個證券的價格指定為差分方程,您會很快注意到它是一個嚴格的路徑依賴模型。通過回測以獲取策略,您將雜訊與信號混淆。

最後一點,要使推理策略使用Frequentist 方法起作用,您的模型必須具有正確的規範。由於您不了解規範,因此您無法成功。如果您關心的是推理,那麼請單獨使用邏輯。

建構一個邏輯規範。如果你能做到這一點,那麼你可以通過控制統計能力來控制誤報和誤報。

編輯

讓我們先假設您有 50% 的機會進行成功的交易。僅當您將兩件事隨機化時,該假設才成立。首先,您必須隨機化安全性和交易時間。其次,你必須隨機決定是做多還是做空。您認為所有交易中有 50% 會導致贏利的假設是不成立的。

如果您關心的是“我能相信我的結果嗎”,那麼答案可能是“不”。你可以知道,沒有統計測試。

首先,回測存在問題。您假設您是進行交易的人。但是,如果您確實在那個時間段內,那麼您將不得不以高於該交易的出價將其記錄在磁帶上。時間序列嚴格依賴於路徑。你進入路徑永遠改變它。為了讓你的交易發生,你必須改變供給或需求曲線。如果您涉及任何實際金額,那麼這種轉變可能非常重要。即使是沃爾瑪的股票也可以從大宗交易中明顯改變。因此,如果您進行回測,您應該通過估計供需曲線的變化來將您的條目轉移到記錄中。

其次,股票程式碼上的交易不一定按照它們實際發生的順序。大訂單交易“不定期”。當它們在交易不會改變市場時關閉時插入它們。如果您的策略以任何方式取決於交易發生的順序而不是一般級別,那麼您可以將您的策略扔進垃圾箱。大訂單報告為加權平均值,而不是實際值。500 股的 101 和 103 交易分別報告為 102。如果 102 恰好大於任何其他交易,即使發生 103,也會報告為每日最高價。美國交易數據不包括所有實際價格或時間。

第三,持續經營的收益分佈是截斷的柯西分佈。這將挫敗任何將問題視為二項式的嘗試,因為相對於標準普爾 500 指數等隨機機會,您將有太多的執行次數。

使用邏輯作為你的保護工具。不管它是否有效,它是否有意義?在你看到你的結果之前採取你的策略,問問自己這個策略是否有意義。如果是這樣,那麼測試它。

您對公平硬幣的假設不適用於此類問題。您正在處理一個不存在第一個中心時刻的問題。當您的數據是尖峰時,您正在嘗試使用適合中峰或平峰數據的數學。

雖然執行數據轉換以使其表現更好是有效的,但這需要大量的技能才能正確完成。還是解決不了,“我是不是發現了什麼?”

您可以使用貝氏非參數方法,但它們需要多年的研究,因為它們在無限維模型空間中工作。它們是最接近您嘗試做的事情。

我認為您的想法類似於 Alfred Cowles 在其 1933 年的論文Can Stock Market Forecasters Forecasts 中描述的 Cowles 測試。連結

Cowles 想要評估一位顧問的交易表現,該顧問告訴人們何時進入股市以及何時退出。他將實際表現與隨機進出市場進行了比較。

例如,為了編制一個純粹的機會記錄,與一位從 1928 年 1 月 1 日到 1932 年 6 月 1 日運營 230 週的預報員的實際記錄進行比較,我們首先確定了這一時期的平均建議更改次數,這是 33。編號從 1 到 229 的牌被洗牌、抽牌、重新洗牌、抽牌,總共 33 次。因此,選擇了 33 個隨機日期來更改預測。

$$ Page 318 $$

評估隨機切換策略的性能,並重複該過程。由於當時 Cowles 的計算限制,只能生成 24 個切換日期的隨機序列,但今天我們可以輕鬆生成 1000 個蒙特卡羅序列。

通過找出實際表現在隨機表現中的排名,考爾斯能夠評估結果的統計顯著性。例如,如果人類策略在隨機策略的前 5% 中,我們可以說這種性能在 5% 的水平上是顯著的。

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