Maaaring madungisan ng strategy agent ang isang test set kahit wala ni isang test row na maisama sa training job. Kung makita ng agent ang test score, baguhin nito ang isang parameter, at patakbuhin muli, naimpluwensiyahan na ng score na iyon ang strategy. Maaaring tawagin ng code na “out of sample” ang panahong iyon. Pero isinama na iyon ng proseso ng pananaliksik sa paghahanap.
Nakita ko na itong mangyari dahil sa kaginhawahan: nagpapatakbo ang agent ng isang batch, binabasa ang summary table, at nagmumungkahi ng maliit na pagpapahusay. Walang nag-utos dito na mag-fit sa holdout. Gayunman, ginawa pa rin iyon ng feedback loop.
Pagkakamali 1: Hinahayaang sumilip ang agent pagkatapos ng bawat run
Karaniwang ganito ang bakas ng pagkasira: unti-unting tumataas ang test Sharpe. Sumusubok ang agent ng 30 variant, pinipili ang pinakamaganda, saka sumusubok ng 30 variant sa paligid nito. Mukhang makatwiran ang bawat pagbabago kapag tiningnan nang mag-isa. Pero kapag pinagsama-sama, nagiging target ng optimization ang test period.
Narito ang isang payak na halimbawa. Ipagpalagay na walang tunay na edge ang strategy at sumusubok ka ng 100 magkakahiwalay na variant sa isang holdout. Kung pipiliin mo ang may pinakamataas na Sharpe, posibleng makakita ka ng resultang mukhang maganda dahil lang sa pagkakataon. Sa karamihan ng strategy search, hindi talaga magkakahiwalay ang mga variant, pero hindi nito naaayos ang proseso: ginagantimpalaan pa rin ng paulit-ulit na feedback ang mga setting na nagkataong bumagay sa mga kakaiba sa holdout.
Ilagay ang holdout sa likod ng hangganan sa mga resulta. Maaaring bumuo ang agent gamit ang training at validation period; hindi nito maaaring kunin ang mga sukatan o chart ng holdout. Patakbuhin ang huling pagsusuri sa hiwalay na job, nang isang beses lang matapos mapirmi ang mga desisyon sa pananaliksik, at itala kasama ng resulta ang bersyon ng strategy at snapshot ng data.
Pagkakamali 2: Tinatawag na “bago” ang bawat susunod na period
Hindi nagiging bago ang isang date range dahil lang kasunod ito ng training window. Kung nakita na ng agent ang score mula sa range na iyon, o ginamit ng isang tao ang drawdown nito para pumili ng ibang feature, bahagi na ng feedback loop ang range na iyon.
| Period | Pinapahintulutang gamit | Ano ang nagbabago sa katayuan nito |
|---|---|---|
| Training | I-fit ang mga tuntunin at parameter | Wala; sadyang isinasama ito sa paghahanap |
| Validation | Paghambingin ang mga kandidato at gumawa ng mga desisyon sa pananaliksik | Mas madaling mag-overfit kapag paulit-ulit itong ginagamit |
| Pinal na holdout | Isang pagsusuri sa kandidatong hindi na babaguhin | Pagbasa sa resulta nito at pagbabago sa kandidato |
| Papel na period sa hinaharap | Obserbahan nang paabante ang kilos sa implementasyon | Kapag ginamit ang mga kinalabasan sa pag-tune, magsisimula ang panibagong siklo ng pananaliksik |
Makakatulong ang rolling walk-forward evaluation para tantiyahin kung paano kikilos sa paglipas ng panahon ang isang nakapirming proseso ng pananaliksik. Hindi nito binibigyan ng walang limitasyong pagkakataong sumilip sa bawat fold. Kung makikita ng agent ang mga resulta ng fold at iaangkop nito ang paghahanap, bahagi rin ng feedback ang mga fold na iyon. Panatilihing may isang huling period na hindi pa nagagamit para sa desisyong talagang nais mong gawin.
Pagkakamali 3: Pinananatiling pareho ang code pero binabago ang tanong
May mga pagkakataong hindi nagbabago ang strategy code, pero binabago ng researcher ang pagsusuri matapos makita ang resulta: pinapalitan ang benchmark, inaalis ang isang mahirap na buwan, nag-uulat ng ibang universe, o nagtutuon sa sukatan na pinakamaganda ang hitsura. Ginabayan ng test set ang naratibo kahit walang nabagong parameter.
Makikita ang bakas nito sa isang pulidong ulat na iisa ang malinis na headline at walang tala tungkol sa iba pang sinubukang pagtingin. Maaaring magmukhang mahina ang isang equity strategy kung ihahambing sa malawak na market index pero malakas kung ihahambing sa cash; maaaring magningning ang isang crypto strategy sa isang venue matapos siyasatin ang ilang venue. Kapaki-pakinabang ang mga paghahambing na iyon, pero isa na namang hakbang ng pagpili ang pagpili sa mga ito matapos makita ang holdout.
Magtago ng research ledger. Sa bawat run, itala ang hypothesis, bersyon ng code, snapshot ng data, paghahanap ng parameter, mga evaluation window, mga hiniling na sukatan, at kung nakita ng agent o researcher ang resulta. Mas kapaki-pakinabang ang maikling tala kaysa sa label na mukhang perpekto gaya ng “out of sample.”
Pagkatapos, linawin ang huling tanong bago ang pagsusuri: aling kandidato, aling market universe, aling benchmark, aling mga gastos, at aling mga sukatan? Kung magbago ang sagot pagdating ng resulta, ituring na pananaliksik ang susunod na run at maglaan ng bagong data para sa susunod na huling pagsusuri.
Ano pa ang matututuhan ko mula sa holdout na nadungisan na?
Hindi ito walang silbi. Ipinapakita nito kung paano kumilos ang strategy sa panahong iyon at nakakatulong itong tukuyin ang mga pagkabigo. Itigil lang ang pagpapakita sa score nito bilang hiwalay na kumpirmasyon. Gamitin ito bilang ebidensiya sa pagbuo, ipirmi ang susunod na kandidato, at suriin ang kandidatong iyon sa isang tunay na period sa hinaharap na hindi pa ginagamitan ng papel trading, gamit ang parehong palagay sa accounting at execution.
Sa workflow na ginagabayan ng agent, madaling mawala sa bilang ang mga eksperimento: maaaring lumikha ang isang prompt ng dose-dosenang run bago pa ito mapansin ninuman. Pamamaraan ang pananggalang. Limitahan ang maaaring siyasatin ng agent, itala ang bawat eksperimento, at maglaan ng isang pagsusuring hindi magagamit ang resulta para impluwensiyahan ang kandidatong sinusuri.
← Lahat ng post


