Agosto 20, 2026 · Optimization

Tatlong paraan para bumagsak sa walk-forward optimization nang hindi mo namamalayan

Tatlong paraan para bumagsak sa walk-forward optimization nang hindi mo namamalayan

May reputasyon ang walk-forward optimization bilang ang matapat na paraan ng pag-tune ng estratehiya, at karapat-dapat naman ito — kumpara sa pag-optimize sa lahat ng datos at paghanga sa resulta. Pero may mga tahimik na failure mode ang teknik na ito, at pare-pareho ang naiiwan ng bawat isa: isang validation report na nagsasabing "robust" na nakadikit sa isang estratehiyang hindi naman. Narito ang tatlong kinailangan naming harapin sa disenyo, nakaayos ayon sa pinsalang iniiwan nila.

Unang pagkabigo: tumatagas ang mga window

Ang maling paraan: mag-tune sa Enero-Hunyo, mag-validate sa Hulyo, tapos hayaang may anumang galing sa Hulyo ang makaimpluwensya sa pangalawang pasada — isang re-run matapos makita ang out-of-sample na numero, isang "maliit na tweak" sa parameter grid, isang feature na na-normalize sa buong series. Mukhang inosente ang bawat isa. Pagsama-samahin mo, ginagawa nilang in-sample data na lang ang out-of-sample window, delayed nga lang.

Ang pinsala: isang out-of-sample Sharpe na misteryosong sumusunod sa in-sample Sharpe. Maingay at nakakadismaya ang tunay na out-of-sample na resulta; ang kahina-hinalang kinis ng ugnayan ng IS at OOS ay tanda na may impormasyong umaatras. Binabantayan namin nang tahasan ang ratio — kapag ang in-sample ay lampas 3x ng out-of-sample, may bandera na ang run, at ang out-of-sample na zero pababa ay patay agad gaano man kaganda ang in-sample.

Pangalawang pagkabigo: metric shopping sa mga window

Magpatakbo ng tatlong walk-forward window, makakuha ng tatlong maingay na resulta, tapos magbuod: mean Sharpe? Median? Tanggalin ang pinakamasamang window dahil sa "regime change"? Bawat pili ay isang degree of freedom, at ang matiyagang optimizer (tao man o Bayesian) ay makakahanap ng buod kung saan pinakamaganda ang itsura ng estratehiya. Ang pitumpu't limang Optuna trial kada window ay pitumpu't limang pagkakataon para i-fit ang ingay, beses ilan mang buod ang handa mong pagbigyan.

Ang pinsala: isang estratehiyang pasado sa validation na naghahatid naman ng performance ng pinakamasamang window pagdating sa live, dahil ang pinakamasamang window lang pala ang matapat. Ang tuntunin namin: nakatakda na sa config ang aggregation bago ang run, nakatakda ang trial budget, at binabasa ng analyst ang per-window na resulta kasama ang ipinapakitang dispersion. Ang estratehiyang kailangan ng maluwag na buod para pumasa ay hindi pasado.

Pangatlong pagkabigo: ang holdout na tumigil nang maging holdout

Isang beses lang gumagana ang holdout. Sa pangalawang pagkakataong sukatin doon ang isang estratehiya — matapos ang isang paggalaw ng parameter, isang tweak sa signal, isang "tingnan lang natin" — hindi na iyon holdout; isa na iyong mabagal na validation set. Mukhang madaling ingatan ang labinlimang araw na hindi ginagalaw, hanggang sa dumating ang presyon ng pag-uulit at parang walang saysay na ang muling pagsilip.

Banayad ang pinsala: mga resulta ng holdout na bumubuti sa bawat ulit ng parehong estratehiya. Walang dahilan ang sariwang out-of-sample na datos para gantimpalaan ang ikatlong ulit kaysa sa una, at kapag nangyari iyon, minina na ang holdout. Ipinapatupad namin nang makinarya ang one-shot: minsan lang sumusukat ang holdout kada pipeline run, isinusulat sa record ang resulta, at ang estratehiyang nangangailangan ng panibagong pagtatangka ay dumadaan muli sa buong gauntlet — bagong window at lahat. Kailangan nitong panatilihin ang hindi bababa sa 70% ng walk-forward out-of-sample Sharpe, at walang pangalawang gulong sa dice na iyon.

Ang palatandaang nakakaligtas sa tatlo

Bago pa ang lahat ng iyan, nagpapatakbo kami ng simpleng sensitivity sweep: galawin ang bawat parameter ng ±20% at bantayan ang metrics. Ang tunay na edge ay unti-unting humihina; ang aksidenteng resulta ay bumabagsak sa bangin. Ito ang pinakamurang pagsubok sa pipeline at ito ang bumabasura sa mga estratehiyang malinis sanang nakalusot sa lahat ng nabanggit sa itaas — dahil ang parameter cliff ang hitsura ng overfitting bago mo pa ito nabigyan ng pagkakataong magtago sa makinarya ng validation.

3.0×pinakamataas na IS/OOS Sharpe ratio
70%dapat mapanatili ng holdout sa WF OOS
±20%sensitivity nudge kada parameter
1bilang ng holdout evaluation, habambuhay

Wala sa mga ito ang gumagawang ligtas sa optimization. Ginagawa nitong maingay ang mga failure mode — at iyon na ang pinakamalaking bagay na matapat mong maaasahan sa isang proseso ng validation.

optimizationwalk-forwardoverfittingholdoutsensitivity
← Lahat ng post