Atgalinis testas gali atrodyti įtikinamesnis, kai pabloginame jo duomenis. Pašaliname negražius kainos įrašus, užpildome spragas tvarkingomis kainomis, ir Sharpe santykis gali pakilti. Toks pagerėjimas gali būti įspėjimas: valymo taisyklė galėjo ištrinti būtent tas rinkos sąlygas, kurias jūsų strategija turi atlaikyti.
Duomenų kokybė svarbi. Susikirtę pirkimo ir pardavimo pavedimai arba pasikartojęs sandoris gali sukurti įvykdymą, kurio niekas nebūtų galėjęs gauti. Tačiau filtras, dėl kurio dingsta nepatogūs stebėjimai, taip pat yra modelio pasirinkimas. Vertinkime jį taip pat įtariai, kaip vertintume naują signalo požymį.
Kada bloga kaina iš tiesų reiškia blogus duomenis?
Pirmiausia paklauskime, ką rodo stebėjimas. Sandoris, kurio kaina gerokai nutolusi nuo vyraujančios rinkos kainos, gali būti sugadintas įrašas, tikras sandoris, įvykęs išsekus ribotam likvidumui, arba konkrečioje prekybos vietoje nutikęs įvykis. 1 minutės žvakė be apyvartos gali reikšti, kad sandorių nebuvo, o trūkstama žvakė gali rodyti tiekimo sutrikimą. Šiuos atvejus reikia tvarkyti skirtingai.
Įsivaizduokime paprastą grįžimo prie vidurkio strategiją: ji perka, kai kaina nukrenta 1% žemiau trumpojo slankiojo vidurkio, ir išeina pasiekusi vidurkį. Naktį, kai likvidumas menkas, įvyksta sandoris, kurio kaina 1.2% žemesnė už ankstesnę, o tada rinka staigiai atsigauna. Jei šis sandoris tikras, strategija galėjo būti įvykdyta pateikus ribinį pavedimą. Jei tai klaidingas kainos įrašas, kurio nepatvirtino joks įvykdomas pirkimo ar pardavimo pavedimas, įskaičiavę tokį įvykdymą išgalvojame pranašumą.
Žvakės ištrynimas savaime nėra saugesnis sprendimas. Strategijos pavedimas vis tiek galėjo būti pateiktas rinkoje, o kitas tikras sandoris galėjo jį įvykdyti. Pagrįstai istorinei simuliacijai reikia modeliuoti, ką strategija galėjo stebėti ir su kokiais sandoriais jos pavedimas tikėtinai galėjo būti įvykdytas.
Kaip valymo taisyklė paveikia rezultatą?
Paleiskime strategiją taikydami aiškiai apibrėžtus duomenų apdorojimo būdus ir palyginkime pokyčius. Išsaugokime pirminį šaltinį ir užregistruokime kiekvieną pašalinimą ar taisymą kartu su jo priežastimi. Tada nurodykime, kokia rezultatų dalis priklauso nuo šių sprendimų.
| Duomenų apdorojimas | Galima nauda | Rizika atgaliniam testui |
|---|---|---|
| Pašalinti kainos įrašą, nepatenkantį į dokumentuotą biržos klaidų intervalą | Neleidžia žinomai negaliojančiam įrašui nustatyti kraštutinės reikšmės | Taisyklė gali klaidingai priskirti teisėtus sandorius prie netinkamų, kai rinka juda greitai |
| Trūkstamu laikotarpiu naudoti paskutinę kainą | Rodikliams apskaičiuoti netrukdo duomenų spragos | Sukuriama kaina, kuria galėjo neįvykti nė vienas sandoris |
| Vietoj paskutinių sandorių naudoti konsoliduotus pirkimo ir pardavimo pavedimus | Geriau parodo skelbiamas įvykdymo kainas | Pavedimų apimtis, prieiga prie prekybos vietos ir pozicija eilėje vis tiek svarbios |
| Pašalinti visas išskirtines žvakes pagal statistinį slenkstį | Sumažėja jautrumas kraštutinėms reikšmėms | Gali būti pašalinti tikri įtampos laikotarpiai, per kuriuos strategija patiria didžiausius nuostolius |
Tarkime, nefiltruoto bandymo Sharpe santykis yra 0.9, o pašalinus 0.8% žvakių jis pakyla iki 1.4. Vien tai dar nereiškia, kad pagerėjo duomenų kokybė. Patikrinkime, ar pašalintos žvakės telkiasi aplink staigius kintamumo šuolius, ar jos sudaro reikšmingą P&L dalį ir ar pašalinimo taisyklė buvo nustatyta dar nepamačius rezultato.
Veskime duomenų išimčių žurnalą: šaltinis, laiko žyma, paveikti laukai, veiksmo priežastis ir informacija, ar sprendimas priimtas prieš strategijos rezultatų peržiūrą, ar po jos.
Kaip patikrinti, ar valymas pakeitė strategijos pranašumą?
Užfiksuokime strategiją ir tomis pačiomis datomis palyginkime kelis pagrįstus apdorojimo būdus. Jei įmanoma, įtraukime simuliaciją su pirminiais duomenimis, dokumentuotų pataisų rinkinį ir konservatyvų įvykdymo scenarijų, kai stebėjimai lieka neaiškūs. Kiekvieno bandymo atveju kartu su Sharpe santykiu pateikime sandorių skaičių, apyvartą, lėšų vertės nuosmukį ir paveiktų intervalų P&L įnašą.
Tada apžiūrėkime pasikeitusius sandorius. Jei pašalinus nedidelę grupę įtartinų kainos įrašų dingsta didžiausi strategijos laimėjimai, peržiūrėkime tuos įrašus po vieną. Jei dingsta nuostoliai, juos tikrinkime taip pat atidžiai. Taisyklė, kurią atidžiai tikriname tik tada, kai ji kenkia atgalinio testo rezultatui, jau atlieka tyrimo darbą.
Kad tyrimą būtų galima atkurti, versijuokime tiekėjo failus arba jų kontrolines sumas, duomenų valymo kodą ir išimčių sąrašą. Tiekėjas gali pakeisti istorinius duomenis; kitas bandymas turėtų leisti nustatyti, ar pasikeitė strategija, ar jos įvesties duomenys.
Bet argi duomenų valyti nebūtina?
Būtina. Palikus akivaizdžiai sugadintą įrašą galima išgalvoti sandorį, iškreipti kintamumą arba sutrikdyti rodiklį. Niekas neturėtų apsimesti, kad pirminis duomenų srautas yra neginčijama tiesa. Praktinis klausimas siauresnis: valymui reikia įrodymų, nekintančios taisyklės ir jautrumo patikros, nes jis gali pakeisti, kokią rinką, kaip teigiama, atspindi atgalinis testas.
Kai duomenų pataisa pagerina rezultatą, paklauskime, kokį stebėjimą ji pašalino ir ar būtume priėmę tą patį sprendimą nematydami nuosavo kapitalo kreivės. Jei atsakymas neaiškus, išsaugokime abi versijas tyrimo įrašuose. Jų skirtumas yra rezultato dalis.
← Visi įrašai


