“糟糕”的交易算法有用嗎?
這一直困擾著我一段時間。我試圖製作一個交易算法,但它們通常表現不佳;但這是障礙:
- 如果我的算法建議我做多股票a、b和c,並建議我做空股票d、e和f
- 如果我的算法損失 50%
- 做空a、b和c並 做多d、e和f的算法不會產生 50%
但是,當我嘗試反轉我的算法(所以多頭變成空頭,空頭變成多頭)時,我仍然沒有賺錢。為什麼?
不,讓我給你一個技術上的理由,為什麼這可能不是真的。
讓我們創建兩個獨立的標準來判斷模型。第一個是 $ \pi>0 $ 相對 $ \pi\le{0} $ , 在哪裡 $ \pi $ 是歷史利潤函式。第二個是KL散度,其中 $ \delta^*=\arg\min{\delta}, $ 和 $ \delta\in{D} $ 是在各種算法下可能與自然的 KL 散度的集合 $ \mathcal{A}\in{A} $ .
因為交易成本,一個算法的機率 $ \mathcal{A}’ $ 或其加法逆 $ -\mathcal{A}’ $ 在絕大多數算法中,預先盈利將低於 50 %。無論你做什麼,如果你選擇任何一種算法,你將來都可能會輸。
現在讓我們考慮絕大多數算法,使得 $ \delta’\gg\delta^* $ . 在這種情況下,要麼 $ \mathcal{A} $ 或者 $ -\mathcal{A} $ 如果擴散過程足夠大,足以支付交易成本,通常會在*事後獲利。*我們現在將忽略小收益/損失案例,因為大多數交易者會愚蠢地忽略它們,即使它們是未來最好的模型。
請注意,基於頻譜分析的美國市場交易週期約為 41 年。因此,一個樣本量是一種經過 41 年交易測試的算法。樣本量為 2 為 82 歲。
現在,因為 $ \delta’\gg\delta^* $ 利潤函式 $ \pi’ $ 將在事前與自然和兩者的預期利潤弱相關 $ \mathcal{A} $ 或者 $ -\mathcal{A} $ 是負數。
現在讓我們考慮算法 $ \mathcal{A}^* $ 這樣 $ \delta=\delta^* $ 和一套策略 $ S^\in\Sigma^ $ 其中每個策略選擇如何以不同的組合來實現算法 $ \mathcal{A}(x) $ 和 $ -\mathcal{A}(x) $ 在哪裡 $ x\in\chi $ 是對一組證券的證券算法的實現 $ \chi $ .
這種算法必須存在或 $ \tilde{w}_x\le{R}\bar{w}_x+\epsilon_x $ , 在哪裡 $ \tilde{w} $ 是投資資產的未來財富 $ x $ 和 $ \bar{w}_x $ 是現在的財富。
換句話說,必須有一個知道如何投資的策略,否則投資就不存在了。
什麼時候 $ \delta’\gg\delta^* $ ,那麼所有算法及其加法逆運算都會像輪盤賭一樣。即使算法已經過回溯測試並通過交叉驗證,交易成本也意味著損失將成為常態。如果資產集是長期未綁定的,那麼將存在無數個糟糕的算法。
作為 $ \delta\to\delta^* $ 辨別有效策略的能力,其中一些策略無所作為。伯克希爾哈撒韋公司就是一個戰略接近於 $ \delta^* $ .
事先的盈利能力從不依賴於回溯測試或交叉驗證。它取決於與自然的距離及其區分資產類別的自然狀態的能力。
這種行為是在使用相同數據進行回測時發生的,還是在實時執行算法時遇到這種情況?如果是回測,那麼這將是由於費用。如果活著,那麼您的算法會隨機執行,我希望您的算法背後的假設是錯誤的。