擬合的識(shí)別與防范策略)
1. 期貨量化交易中的過(guò)擬合陷阱做量化交易的朋友都知道策略失效是最大的噩夢(mèng)。去年我團(tuán)隊(duì)開(kāi)發(fā)的一個(gè)CTA策略在回測(cè)階段年化收益高達(dá)80%結(jié)果實(shí)盤(pán)運(yùn)行三個(gè)月就虧掉了20%的本金。復(fù)盤(pán)時(shí)發(fā)現(xiàn)這個(gè)策略完美擬合了歷史數(shù)據(jù)中的特定波動(dòng)模式但對(duì)新的市場(chǎng)環(huán)境完全失效——這就是典型的過(guò)擬合問(wèn)題。識(shí)別策略是否過(guò)擬合本質(zhì)上是在判斷這個(gè)策略捕捉到的是市場(chǎng)真實(shí)規(guī)律還是僅僅記住了歷史數(shù)據(jù)中的噪聲。這個(gè)問(wèn)題在期貨交易中尤為致命因?yàn)槠谪浭袌?chǎng)的高杠桿特性會(huì)放大任何微小的預(yù)測(cè)誤差。2. 過(guò)擬合的典型特征識(shí)別2.1 回測(cè)與實(shí)盤(pán)的性能斷層健康的策略在回測(cè)和實(shí)盤(pán)中的表現(xiàn)差異通常在20%以?xún)?nèi)。如果發(fā)現(xiàn)以下情況就要警惕過(guò)擬合回測(cè)夏普比率2實(shí)盤(pán)0.5回測(cè)最大回撤10%實(shí)盤(pán)30%回測(cè)勝率70%實(shí)盤(pán)50%去年我們測(cè)試過(guò)一個(gè)基于MACD變體的策略在2016-2020年螺紋鋼數(shù)據(jù)上表現(xiàn)驚艷但2021年實(shí)盤(pán)時(shí)發(fā)現(xiàn)它完全抓不住新的波動(dòng)節(jié)奏。后來(lái)發(fā)現(xiàn)這個(gè)策略參數(shù)對(duì)2018年的供給側(cè)改革行情存在特殊依賴(lài)。2.2 參數(shù)敏感度過(guò)高用參數(shù)掃描法測(cè)試時(shí)如果發(fā)現(xiàn)某個(gè)參數(shù)值改變1%收益就下跌50%參數(shù)最優(yōu)值處于參數(shù)空間的邊緣位置不同時(shí)間段需要完全不同的參數(shù)組合比如某均線(xiàn)交叉策略當(dāng)快線(xiàn)周期設(shè)為12天時(shí)收益最好11天或13天都大幅下降這種尖峰現(xiàn)象就是過(guò)擬合的明顯信號(hào)。3. 過(guò)擬合檢測(cè)的實(shí)戰(zhàn)方法3.1 樣本外測(cè)試(OOS)的正確姿勢(shì)我常用的三重驗(yàn)證法將數(shù)據(jù)分為訓(xùn)練集(60%)、驗(yàn)證集(20%)、測(cè)試集(20%)訓(xùn)練集用于策略開(kāi)發(fā)驗(yàn)證集用于參數(shù)優(yōu)化測(cè)試集完全不動(dòng)最后做最終驗(yàn)證特別注意期貨數(shù)據(jù)要保留最近2年的行情作為最終測(cè)試集因?yàn)槭袌?chǎng)微觀(guān)結(jié)構(gòu)會(huì)隨時(shí)間變化。去年測(cè)試一個(gè)股指期貨套利策略時(shí)用2017-2019年數(shù)據(jù)訓(xùn)練表現(xiàn)很好但用2020年疫情行情測(cè)試就完全失效。3.2 蒙特卡洛交叉驗(yàn)證具體操作步驟隨機(jī)選取100組訓(xùn)練/測(cè)試數(shù)據(jù)組合每組訓(xùn)練集占70%測(cè)試集30%計(jì)算100次測(cè)試的平均收益分布健康策略的收益分布應(yīng)該集中過(guò)擬合策略的收益會(huì)呈現(xiàn)極端發(fā)散。我開(kāi)發(fā)的一個(gè)商品期貨趨勢(shì)策略100次測(cè)試中95%的夏普比率在1.2-1.8之間這種穩(wěn)定性就比較好。4. 策略失效的預(yù)警信號(hào)4.1 市場(chǎng)環(huán)境變化指標(biāo)我每天會(huì)監(jiān)控這些關(guān)鍵指標(biāo)波動(dòng)率變化當(dāng)前波動(dòng)率與策略開(kāi)發(fā)期差異30%成交量變化主力合約成交量偏離均值2個(gè)標(biāo)準(zhǔn)差期限結(jié)構(gòu)Contango/Backwardation狀態(tài)改變比如2022年原油期貨從Contango突然轉(zhuǎn)為Backwardation時(shí)很多基于展期收益的策略就失效了。4.2 策略本身的表現(xiàn)異常這些是必須立即停止策略的信號(hào)連續(xù)5次交易虧損超過(guò)歷史最大連虧記錄單日回撤超過(guò)策略設(shè)計(jì)值的150%交易信號(hào)頻率異常升高或降低有個(gè)真實(shí)的教訓(xùn)我們有個(gè)突破策略在鐵礦期貨上突然出現(xiàn)單日10%的回撤檢查發(fā)現(xiàn)是因?yàn)榻灰姿{(diào)整了漲跌停板幅度導(dǎo)致策略的止損邏輯失效。5. 過(guò)擬合策略的挽救方法5.1 參數(shù)魯棒性?xún)?yōu)化我常用的方法在參數(shù)空間內(nèi)隨機(jī)采樣100組參數(shù)選擇其中夏普比率1的參數(shù)組計(jì)算這些參數(shù)組的收益相關(guān)性保留相關(guān)性0.7的參數(shù)組構(gòu)建策略組合這樣得到的策略組合在去年滬銅行情中雖然單策略最大回撤15%但組合回撤控制在7%以?xún)?nèi)。5.2 動(dòng)態(tài)權(quán)重調(diào)整實(shí)盤(pán)中的調(diào)整技巧每月評(píng)估各子策略的近期表現(xiàn)給予過(guò)去3個(gè)月夏普比率高的策略更高權(quán)重對(duì)連續(xù)2個(gè)月表現(xiàn)差的策略暫時(shí)停用這個(gè)方法的實(shí)際效果我們的多策略組合在2023年商品震蕩市中通過(guò)動(dòng)態(tài)調(diào)整將年化收益從預(yù)估的25%提升到了38%。6. 從開(kāi)發(fā)階段預(yù)防過(guò)擬合6.1 數(shù)據(jù)預(yù)處理要點(diǎn)必須包含多個(gè)完整的牛熊周期商品期貨至少5年數(shù)據(jù)要包含極端行情如2020年原油負(fù)價(jià)格事件不同合約的主力切換要處理連續(xù)我開(kāi)發(fā)股指期貨策略時(shí)會(huì)特意加入2015年股災(zāi)、2016年熔斷等極端行情的數(shù)據(jù)。6.2 策略設(shè)計(jì)原則限制參數(shù)數(shù)量我的經(jīng)驗(yàn)法則是每10000根K線(xiàn)對(duì)應(yīng)1個(gè)參數(shù)避免使用未來(lái)函數(shù)如交易信號(hào)不要用到當(dāng)根K線(xiàn)的收盤(pán)價(jià)交易邏輯要有經(jīng)濟(jì)學(xué)意義不要出現(xiàn)周二下午買(mǎi)周三上午賣(mài)這種玄學(xué)規(guī)則有個(gè)反例曾經(jīng)見(jiàn)過(guò)一個(gè)策略在螺紋鋼上表現(xiàn)極好后來(lái)發(fā)現(xiàn)它依賴(lài)某個(gè)特定交易所的夜盤(pán)開(kāi)盤(pán)時(shí)間規(guī)律政策調(diào)整后立即失效。