10. november 2026 · podatki

Vaš backtest potrebuje dnevnik sprememb podatkov, ne le posnetka podatkov

Vaš backtest potrebuje dnevnik sprememb podatkov, ne le posnetka podatkov

Zamrznjen posnetek tržnih podatkov ne zadošča za zaupanja vreden backtest. Z njim lahko vedno znova dobite isti rezultat, čeprav prikriva, da je ponudnik spremenil vhodne podatke, na podlagi katerih je nastal.

Ohranite posnetek. Nato vodite dnevnik sprememb, ki pokaže, kaj se je spremenilo, kdaj se je spremenilo in ali je bilo to pomembno za strategijo. To je še posebej pomembno, kadar raziskave temeljijo na popravljenih poslih, revidiranih temeljnih podatkih, rekonstruiranem financiranju ali zgodovinskih podatkih, ki jih ponudnik tiho osvežuje.

Zakaj vas lahko ponovljiv backtest še vedno zavede?

Predstavljajte si, da v ponedeljek prenesete 5 let urnih sveč in izvedete strategijo. Do petka je ponudnik popravil napačen posel, prilagodil korporacijsko dejanje ali zapolnil vrzel. Vaša shranjena datoteka še vedno povsem enako ustvari ponedeljkov rezultat. To je ponovljivost. Če pa strategijo znova izvedete z aktualnimi zgodovinskimi podatki ponudnika, lahko dobite drugačen rezultat, ne da bi imeli zapis, zakaj.

Težava ni omejena na velike popravke. Že ena spremenjena najvišja cena lahko sproži stop; spremenjena zaključna cena lahko premakne indikator čez njegov prag. V širokem naboru se lahko zaradi spremembe zgodovine enega simbola spremeni njegova uvrstitev, zato je drugo sredstvo izrinjeno iz portfelja. Končni Sharpe lahko odstopa, čeprav sta koda strategije in konfiguracija enaki.

Zgoščena vrednost datoteke vam pove, da se dve datoteki razlikujeta. Ne pove pa, ali je prilagoditev zaradi delitve delnice spremenila cene za 40 let, ali je ponudnik popravil tri posle ali pa je razčlenjevalnik prazno polje pretvoril v ničlo.

Kaj sodi v dnevnik sprememb tržnih podatkov?

Spremembe beležite na najmanjši uporabni ravni in dodajte dovolj konteksta za ponovitev prizadete raziskave. Pri viru podatkov o svečah to običajno pomeni instrument, interval, čas dogodka, prejšnje in nove vrednosti, vir ter čas, ko ste spremembo zaznali. Če ponudnik posreduje izvirni payload, ga ohranite.

ZapisZakaj ga hranitiPrimer
Različica vira ali čas prenosaDoloča stanje podatkov pri ponudnikuPosnetek, prenesen 2026-11-02 08:15 UTC
Spremenjeno polje in stara/nova vrednostPokaže, kaj se je dejansko spremeniloETHUSDT 1h high: 3,412.10 → 3,418.60
Razvrstitev spremembeLoči popravke od pretvorbPozen popravek posla, prilagoditev zaradi delitve delnice, naknadno dopolnjevanje podatkov
Različica cevovoda in shemeLoči spremembe vira od vaše obdelaveNormalizer v7, shema prilagojenih sveč v3

Pri velikih naborih hranite nespremenljive posnetke in strnjen manifest z njihovimi kontrolnimi vsotami, različicami vira in časi prenosa. Za spremenjene particije dodajte razlike na ravni vrstic. Tako dobite uporabno srednjo pot: popolna ponovitev ostane mogoča, ne da bi morali vsako nespremenjeno vrstico zapisati še v drugo revizijsko tabelo.

Kako izmerim, ali je popravek pomemben?

Ne ustavite se pri štetju spremenjenih vrstic. Prizadeto strategijo znova izvedite s starimi in novimi podatki ter z enako kodo, parametri, provizijami in predpostavkami o izvedbi. Primerjajte odločitve in pot do rezultata.

  1. Na podlagi razlik določite prizadete instrumente in čase dogodkov.
  2. Ugotovite, katere značilke, signali, naročila ali uteži portfelja uporabljajo te zapise.
  3. Ponovite najmanjše veljavno časovno okno, vključno z obdobjem za izračun preteklih vrednosti in stanjem odprtih pozicij.
  4. Primerjajte naročila, izvršitve, izpostavljenost, promet, padec vrednosti in končno uspešnost.

Na primer, popravek ponudnika, ki spremeni najvišjo ceno v 1-minutni sveči za $0.02, lahko zadeva milijon vrstic, a ne vpliva na strategijo dnevnega momentuma. Ena popravljena sveča na ravni stopa pa je lahko pomembnejša. Merite vpliv na odločitve; število spremenjenih zapisov je slab približek tega vpliva.

Dve vprašanji obravnavajte ločeno: »Ali lahko rezultat ponovim iz shranjenih podatkov?« in »Ali bi bili ti podatki v tej različici takrat na voljo strategiji?« Dnevnik sprememb pomaga odgovoriti na obe vprašanji, za drugo pa potrebujete tudi zapise o razpoložljivosti podatkov v določenem trenutku.

Koliko to stane in kdaj se splača?

Sledenje spremembam zahteva več prostora za shranjevanje, dodatno delo pri zajemu podatkov in operativne odločitve. Ponudniki morda ne omogočajo stabilnih različic, nekatere zgodovinske podatkovne vire pa občasno znova sestavijo brez jasnega obvestila o popravkih. Spremembe, ki je nikoli ne zaznate, ne morete zabeležiti.

Začnite tam, kjer lahko popravki spremenijo raziskovalne ugotovitve: pri svečah, ki jih uporablja logika stopov, delitvam delnic prilagojenih delnicah, temeljnih podatkih za določen trenutek ter serijah financiranja ali odprtega interesa, ki se rekonstruirajo. Za široke in stabilne nabore lahko zadoščata dnevni manifest in kontrolne vsote particij. Razlike na ravni polj dodajte tam, kjer so posodobitve pogoste ali so trgovalne odločitve občutljive na posamezne zapise.

Kritiki imajo prav, da lahko popoln, trajen arhiv vsakega odgovora ponudnika postane drag, pa še vedno ne zajame tega, kar je vir vedel v danem trenutku. Revizijo omejite na podatke in odločitve, ki so pomembni, ter dokumentirajte vrzeli. Posnetek vam omogoča, da poskus ponovite. Dnevnik sprememb pa vam omogoča, da pojasnite, zakaj se je rezultat poskusa spremenil.

podatkovno inženirstvobacktestingponovljivostkvantitativne raziskave
← Vse objave