2026 m. lapkričio 8 d. · tyrimai

Jūsų atgalinis testas gali būti pernelyg atkuriamas

Jūsų atgalinis testas gali būti pernelyg atkuriamas

Idealiai atkuriamu atgaliniu testu kartais galima pasitikėti mažiau nei tokiu, kurio rezultatas šiek tiek kinta. Pakartojamumas įrodo, kad tą patį atsakymą galite gauti du kartus; jis nieko nepasako apie tai, ar atsakymas priklauso nuo vienos atsitiktinės duomenų momentinės kopijos, bibliotekos ypatybės ar paslėptos numatytosios nuostatos.

Gali pasirodyti, kad tai argumentas prieš atkuriamumą, bet taip nėra. Užfiksuokite paleidimą, kad galėtumėte jį paaiškinti. Tada sąmoningai keiskite prielaidas, kurios neturėtų nulemti rezultato. Pirmasis žingsnis leidžia rezultatą audituoti, antrasis parodo, ar jis ką nors reiškia.

Ką iš tiesų parodo atkuriamas atgalinis testas?

Jei tas pats kodas, duomenys, konfigūracija ir atsitiktinių skaičių pradinis skaičius duoda tuos pačius sandorius ir metrikas, suvaldėte svarbų painiavos šaltinį. Agento „patobulinimą“ galima palyginti su pradine jo versija. Klaidos pataisą galima atskirti nuo pakeisto komisinių grafiko. Kolega gali peržiūrėti tą pačią operacijų apskaitą ir rasti tuos pačius sandorių įvykdymus.

Tačiau rezultatas galioja tik esant visoms jūsų užfiksuotoms sąlygoms. Tarkime, kriptovaliutų strategijos istoriniame faile yra vienos minutės žvakės. Išsaugote failo maišą, užfiksuojate kodą ir kiekvieną kartą iš naujo paleidę gaunate 1,4 Sharpe rodiklį. Jei duomenų teikėjas vėliau pataiso kelias žvakes, tas tvarkingas atkuriamumas vis tiek apibūdina senąjį failą. Jis neparodo, ar signalas išlieka pataisius istoriją ir ar tos žvakės tuo metu buvo prieinamos būtent tokiu pavidalu.

Maiša naudinga: ji aiškiai parodo priklausomybę. Tačiau ji neįrodo, kad ši priklausomybė nekenksminga.

Užfiksuokite paleidimą; patikrinkite radinį

Man patinka atskirti du klausimus. Ar galime atkurti būtent šį paleidimą? Ir ar tyrimo išvada išlieka atlikus pagrįstus pakeitimus? Pirmajam reikia nekintančio įrašo, antrajam – kontroliuojamų pakeitimų po vieną.

Ką užfiksuotiKą vėliau keistiKą tai gali atskleisti
Pradinių duomenų versiją ir kontrolines sumasDuomenų teikėjo pataisą arba kitą šaltinįPriklausomybę nuo pataisytų arba konkrečiam teikėjui būdingų reikšmių
Kodo pakeitimo versiją ir paketų versijasSkaitmeniškai lygiavertį įgyvendinimąJautrumą operacijų tvarkai, apvalinimui ar bibliotekai
Komisinius, finansavimą ir sandorių įvykdymo prielaidasPagrįstą sąnaudų intervaląAr nedideliam pranašumui reikia neįprastai palankių sandorių įvykdymo sąlygų
Instrumentų visumą ir narystę konkrečiu laiko momentuAlternatyvias tinkamų rinkų taisyklesPriklausomybę nuo įtraukimo ar neįtraukimo sprendimų

Pavyzdžiui, tarkime, ateities sandorių strategijos bazinė simuliacija rodo 8% metinę perteklinę grąžą. Paleiskite ją iš naujo su 25% didesnėmis taker sąnaudomis, finansavimą priskirkite kitam stebėtam atsiskaitymo momentui ir po vieną pašalinkite du didžiausią indėlį davusius instrumentus. Tai nėra trys būdai modeliui pagerinti. Tai patikros: kiekviena klausia, ar antraštinį rezultatą lemia koks nors tikėtinas niuansas.

Kiekvieną patikrą atlikite atskirai. Jei kartu pakeisite duomenis, komisinių grafiką ir sandorių įvykdymo laiką, iš prastesnio rezultato mažai ką sužinosite. O jei patikros sąlyga neįtikėtina, įvardykite ją kaip ekstremalų scenarijų, o ne pateikite kaip tikėtiną baigtį.

Nepainiokite identiškų baitų su skaitmeniniu tikslumu

Kai kurie skaičiavimai priklauso nuo veiksmų tvarkos. Slankiojo kablelio sudėtis nėra asociatyvi, todėl sudėjus daug mažų P&L reikšmių kita tvarka gali pasikeisti paskutiniai keli skaitmenys. Lygiagretūs sumavimai, aparatinė įranga ir bibliotekų versijos gali pakeisti tikslų rezultatą. Paprastai tai nekenkia; kartais menkas skaitinis pokytis peržengia ribą, pakeičia poziciją ir nukreipia likusią simuliaciją kitu keliu.

Todėl išsaugočiau ir tikslius artefaktus, ir palyginimams taikomas paklaidas. Užfiksuokite sandorių apskaitą, ne vien galutinį Sharpe rodiklį. Pirmiausia palyginkite sprendimus ir pinigų srautus, o tada metrikas pagal nurodytą paklaidą. Jei vieno cento skirtumas lemia, ar pateikiamas pavedimas, atidžiai patikrinkite šią ribą.

Naudingame paleidimo įraše nurodoma duomenų ir kodo tapatybė, konfigūracija, atsitiktinių skaičių pradinis skaičius, vykdymo aplinka ir pakankamai tarpinių rezultatų, kad metriką būtų galima susieti su sandorių įvykdymais ir pinigų srautais. Vien galutinis įvertis nėra atkuriamas tyrimo artefaktas.

Kada pokytis tėra triukšmas, o kada – radinys

Ne kiekvienas pasikeitęs skaičius reiškia krizę. Nedidelis metrikos nuokrypis dėl kitos sumavimo tvarkos gali nepakeisti sandorių. Pasikeitusį sandorį netoli ribos gali būti verta peržiūrėti. Strategija, kurios rezultatas smarkiai suprastėja duomenų teikėjui pataisius nedidelę istorijos atkarpą, atskleidė kai ką apie savo pačios trapumą, net jei pradinis paleidimas tebėra visiškai atkuriamas.

Patikimumo testų kritikai teisūs dėl vieno dalyko: prielaidas lengva kaitalioti tol, kol norima strategija atrodo atspari, arba atmesti patikimą rezultatą vien todėl, kad jį sugriauna sąmoningai ekstremalus scenarijus. Iš anksto apibrėžkite tikėtinus pakeitimus, pateikite visą jų rinkinį ir atskirkite įprastas alternatyvas nuo ekstremalių scenarijų. Tada išsaugokite bazinį variantą, kad kitas tyrėjas galėtų tiksliai atkurti tai, ką matėte.

Atkuriamumas suteikia patikimą atskaitos tašką. Toliau kyla naudingas klausimas: kurios atsakymo dalys išlieka, kai aplinkybės pasikeičia taip, kaip galima pagrįstai tikėtis?

atkuriamumasatgalinis testavimasduomenų inžinerijakiekybiniai tyrimai
← Visi įrašai