如何在回測(和 IRL)中結合不同的策略
我試圖在我的回測程序中將多頭和空頭策略組合成 L/S 策略。
我設置回測器的方式是它需要一個
signals
對象(來自短期或長期策略)。該signals
對象告訴回測程序每輪我的宇宙中每個股票的期望分配。基於目標分配、目前頭寸和賬戶價值,回測程序生成訂單並模擬它們。為了獲得組合回測,我認為簡單地平均或添加來自不同策略的信號在我的情況下不是一個好主意。信號在策略之間沒有標準化,更多地充當等級指標(在策略內)。
我認為一條前進的道路是我為每個策略創建一個虛擬帳戶,因此回測器單獨處理它們,然後匯集發出的訂單和返回。但是,我不確定是否應該在這些虛擬賬戶之間共享現金頭寸。也不清楚如何管理風險(在每個策略和整體上)。例如,如果兩個策略的訂單開始相互抵消,我認為我的風險敞口會低於目標。另外,一種策略可能會開始壓倒另一種策略。我也不確定這種方法能否很好地推廣到兩個以上的策略/虛擬賬戶。
我可以做的另一件事是訓練另一個結合信號的模型。但我寧願推遲,因為我需要額外的數據。另外,在嘗試堆疊之前,我更願意先獲得一個工作平面模型(作為基線)。
我覺得應該有一種既定的首選方式來實現我想要做的事情,但我找不到關於這個話題的太多資訊。如果你有這方面的經驗,請分享你的想法。任何意見將是有益的。
謝謝!
有很多不同的方法可以為投資組合中的不同策略分配權重。
可能第一個最重要的差異化問題是,您是否對所有策略都有同等的信心。即所有策略的預期資訊比率(或只是預期回報,如果它們都具有相似的波動水平)相等。如果是,那麼您應該只專注於有效分散投資(因為您的投資組合的預期回報不會因權重而改變,但風險會)。如果不是,那麼您還應該納入您對預期回報的看法。
理論上,均值變異數優化始終是最大化投資組合夏普比率的方法。然而,在實踐中,由於共變異數的測量誤差,尤其是不同資產/策略之間預期收益的過度差異,通常會導致 MVO 投資組合不令人滿意。因此,在實踐中,通常使用不同的簡化來獲得可口的投資組合。一些常見的方法包括:
- 同等權重:每個策略/資產被分配相同的權重。如果所有策略/資產具有一致的相關性和相同的預期資訊比率,則該投資組合是均值變異數有效的。
- 最小變異數:分配權重以最小化總投資組合變異數。如果所有策略或資產具有相同的預期收益,則該投資組合是均值變異數有效的。
- 最大分散化:分配權重以使投資組合的分散化比率(即成分的預期變異數的加權和與預期投資組合變異數之間的比率)最大化。如果所有策略或資產具有相同的預期資訊比率,則該投資組合是均值變異數有效的。
- 同等風險貢獻(ERC):分配權重,以便每個策略/資產對總投資組合變異數的貢獻相同。在任何廣義假設下,該投資組合都不是均值變異數有效的。該方法仍然被廣泛用作多空投資組合的多樣化方法,因為投資組合往往是“平衡良好的”,並且對共變異數估計的誤差不那麼敏感。
- 均值變異數優化:在給定明確的預期共變異數和預期收益的情況下,分配權重以最大化預期資訊比。從理論上講,這始終是最好的方法(也是這裡提到的唯一一種方法,它允許對預期收益進行顯式建模),但對預期共變異數和預期收益的誤差非常敏感。在這裡,通常需要某種形式的更高級的預期共變異數建模,而不是僅僅使用歷史樣本共變異數,以得到任何合理的結果。
特別是在多空策略的情況下,用於估計共變異數矩陣(尤其是預期收益,如果適用)的技術本身就是一個積極研究的領域,並且通常與方法本身一樣重要。