2026 m. lapkričio 6 d. · duomenys

Jūsų atgalinis testavimas naudojo netinkamą tuo metu egzistavusių aktyvų visumą

Jūsų atgalinis testavimas naudojo netinkamą tuo metu egzistavusių aktyvų visumą

Atgaliniame testavime gali būti teisingai pažymėta kiekvienos žvakės laiko žyma, bet vis tiek naudojama rytojaus informacija. Taip nutinka, kai strategija per daugelį metų testuojama su šiandien išlikusiais aktyvais, tarsi būtų žinojusi, kurios rinkos liks likvidžios, įtrauktos į sąrašą ir vertos dėmesio.

Visumos sudarymas yra strategijos dalis. Jei reali sistema galėjo rinktis tik iš aktyvų, prieinamų kiekvienu sprendimo momentu, atgalinis testavimas turi paisyti tos pačios ribos. Trys įprasti trumpiniai ją panaikina.

Pirma klaida: visos istorijos testavimas pagal šiandienos sąrašą

Tarkime, šiandien atrenkate 50 didžiausių kriptovaliutų neterminuotųjų sandorių rinkų ir testuojate jas nuo 2021. Į sąrašą nepatenka sandoriai, kurie išnyko, tapo nelikvidūs arba buvo išbraukti iš sąrašo. Be to, ankstesnėmis datomis galima prekiauti rinkose, kurių tuo metu galbūt dar nebuvo.

Žalą lengva pražiūrėti: strategija atrodo stabilesnė, nes žlugę aktyvai išnyko iš jos imties. Pavyzdžiui, momentum taisyklė šiandienos 50 rinkų gali atrodyti puikiai, nors istorinė versija būtų ne kartą skyrusi lėšų aktyvams, kurie vėliau žlugo arba prarado kotiravimo vietą biržoje. Išbandėte portfelį, atrinktą žinant rezultatą.

Narystę užfiksuokite datuotame įraše. Kiekvienam aktyvui nurodykite, kada jis tapo tinkamas, kada nustojo būti tinkamas ir kodėl. Kiekvieno persvarstymo metu taikykite tik tuo metu prieinamą informaciją. Rinka turėtų būti įtraukiama po faktinio įtraukimo į sąrašą ir, jei reikia, apšilimo laikotarpio. Jei ji išbraukiama iš sąrašo, galutinei pozicijai reikia aiškiai apibrėžtos uždarymo arba atsiskaitymo tvarkos; pašalinti jos eilutes nėra išėjimo taisyklė.

Antra klaida: rikiavimas pagal po sprendimo momento apskaičiuotą statistiką

Net ir istorinės visumos duomenys gali nutekėti, jei jos narystės taisyklėje naudojamas būsimas, užbaigtas laikotarpis. „Kas mėnesį prekiauti 20 likvidžiausių akcijų“ skamba pagrįstai, kol paaiškėja, kad likvidumas vertinamas pagal visą mėnesį, kuriuo strategija turėtų prekiauti.

Tarkime, persvarstymas vyksta pirmą prekybos dieną. Rikiuojant pagal to mėnesio vidutinę apyvartą doleriais, tyliai panaudojamos kitos trys savaitės sprendžiant, kas atitiko kriterijus pirmą dieną. Žala dažnai pasireiškia neįprastai geru pajėgumu: strategija išvengia aktyvų, kurie vėliau tą mėnesį tapo nelikvidūs, nors įėjimo metu ji to negalėjo žinoti.

Matavimo laikotarpio pabaigą nustatykite prieš atrankos momentą. Jei mėnesinis persvarstymas vyksta per pirmą sesiją, galite rikiuoti pagal ankstesnes 20 užbaigtų sesijų, pasibaigusių prieš tai buvusia sesija. Tada aiškiai apibrėžkite vykdymo delsą: jei rikiavimui naudojamas vakarykštis uždarymas, ar pagal numatytą darbo eigą pavedimą galima pateikti šiandienos atidarymo metu?

Atrankos taisyklėKonkretaus momento versijaDažnas duomenų nutekėjimas
20 didžiausių pagal apyvartą doleriaisRikiuoti pagal užbaigtas sesijas iki persvarstymoĮtraukiama persvarstymo diena arba mėnuo
Įtraukta į biržos sąrašąNaudoti faktinius įtraukimo ir išbraukimo laikusSenoms datoms naudoti dabartinių simbolių API galinį tašką
Minimali istorijaSkaičiuoti iki atrankos momento prieinamus stebėjimusReikalauti, kad aktyvas išliktų ateityje, jog išlaikytų filtrą

Trečia klaida: laikyti istorijos spragas įrodymu, kad aktyvas buvo netinkamas

Duomenų tiekėjo archyvas nebūtinai yra išsamus istorinės rinkos įrašas. Trūkstamas simbolis gali reikšti, kad aktyvo niekada nebuvo, birža pakeitė pavadinimų žymėjimo tvarką, tiekėjas neišsaugojo išbrauktų instrumentų duomenų arba duomenų sraute tiesiog yra spraga. Šios situacijos turi skirtingas pasekmes.

Žala pasireiškia tvarkinga visuma su nepaaiškintomis spragomis. Tyrėjai dažnai reikalauja viso retrospektyvaus laikotarpio, tada tyliai pašalina viską, kam tokio laikotarpio trūksta. Tai gali būti pagrįsta apšilimo taisyklė, bet kartu pagal sumanymą pašalina naujai įtrauktus aktyvus. Dar blogiau, jei istorijos trūksta daugiausia žlugusioms rinkoms, „tik išsamūs duomenys“ tampa dar vienu išlikimo filtru.

Tinkamumą, duomenų prieinamumą ir strategijos apšilimą laikykite atskirais faktais. Kiekvieną datą užfiksuokite, kodėl aktyvas buvo atmestas. Tyrimų žurnale išsaugokite trūkstamų duomenų faktą, užuot tyliai juos ištrynę. Jei šaltinis neleidžia nustatyti, ar rinka buvo įtraukta į sąrašą arba joje buvo galima prekiauti, tai aiškiai nurodykite ir įvertinkite, kiek rezultatas priklauso nuo šio neapibrėžtumo.

Užtikrinkite, kad visumą būtų galima atkurti

Naudingą auditą pradėkite nuo vieno istorinio persvarstymo. Atkurkite kandidatų sąrašą pagal datuotus įtraukimo į sąrašą įrašus ir duomenis, prieinamus nustatytu momentu. Perskaičiuokite rikiavimo rodiklius naudodami tik užbaigtus stebėjimus. Tada palyginkite gautą narystę su sąrašu, kurį iš tiesų naudojo jūsų atgalinis testavimas.

Kartu su testavimo eiga išsaugokite taisyklę, jos duomenų ribinį momentą, narystės sprendimus ir šaltinio versiją. Jei negalite paaiškinti, kodėl konkrečią datą vienas aktyvas buvo įtrauktas, o kitas paliktas nuošalyje, dar negalite pasakyti, ar strategija aptiko pranašumą, ar paveldėjo pagal ateitį sudarytą imtį.

Visumos sudarymo klaidos retai pasireiškia neįmanomomis kainomis. Jos išryškėja kaip strategija, kuri patogiai išvengė rinkų, nustojusių būti patogiomis.

išlikimo šališkumaskonkretaus momento duomenysvisumos sudarymasatgalinis testavimas
← Visi įrašai