Rinkos duomenų įrašas gali būti visiškai tikslus ir vis tiek netikti kaip istorinio testavimo įrodymas. Sandoris įvyko, kaina teisinga, o laiko žyma galiojanti, tačiau srautas galėjo ją pateikti pavėluotai, tiekėjas vėliau galėjo ją pataisyti arba nurodyta rinka galėjo būti nepasiekiama jūsų strategijai.
Norėdami sužinoti, ar istoriniais duomenimis buvo galima prekiauti, tikrinkite ne vien įvykio laiko žymą. Turite žinoti, ką įrašas aprašo, kada jis tapo prieinamas sistemai, kokią prekybos vietą ar priemonę atspindi ir ar kotiruotė arba sandoris galėjo pagrįstai padėti įvykdyti jūsų pavedimą.
Ar tikslios istorinės kainos pakanka istoriniam strategijos testavimui?
Ne. Tikslumas atsako į klausimą: „Kokią kainą šaltinis galiausiai užfiksavo?“ Istorinis testavimas taip pat turi atsakyti: „Ką mano strategija galėjo žinoti sprendimo priėmimo metu?“ ir „Ką ji galėjo įvykdyti?“ Tai atskiri klausimai.
Tarkime, kriptovaliutos sandoris įvyksta 12:00:00.120, tačiau duomenų tiekėjo srautas jį pateikia jūsų procesui 12:00:00.480. Strategija, priimanti sprendimą .200, negali pasinaudoti tuo sandoriu, nors įvykio laikas ankstesnis už sprendimą. Jei istoriniame faile išsaugomas tik įvykio laikas, testavimas gali nepastebimai suteikti strategijai informacijos, kurios tiesioginė sistema tuo metu dar nebūtų gavusi.
| Laikas arba laukas | Ką jis parodo | Kokia testavimo klaida kyla, jei jo nėra |
|---|---|---|
| Įvykio laikas | Kada, pasak biržos, įvyko įvykis | Rinkos laiko supainiojimas su duomenų prieinamumu strategijai |
| Gavimo laikas | Kada duomenų rinkiklis gavo pranešimą | Vėluojančių duomenų naudojimas taip, lyg jie būtų gauti akimirksniu |
| Sekos arba atnaujinimo ID | Kur įvykis yra duomenų srauto tvarkoje | Atnaujinimų taikymas ne eilės tvarka arba tylus jų praleidimas |
| Pataisymo laikas | Kada tapo žinoma pataisyta istorinė reikšmė | Testavimas su reikšme, kurios pirminiame sraute nebuvo |
Jei jūsų archyve nėra gavimo laiko žymų, atvirai įvardykite šią spragą. Galite išbandyti prielaidą apie vėlavimą arba apriboti išvadą iki tyrimo pagal įvykio laiką. Tikslaus tuo metu prieinamos informacijos rinkinio atkurti negalite, jei laiko žymos niekada nebuvo išsaugotos.
Kaip nustatyti, ar kotiruotę buvo galima įvykdyti?
Pradėkite nuo rinkos, kurią būtų pasiekęs jūsų pavedimas. Bendra geriausio pirkimo ir pardavimo kainų kotiruotė gali apibendrinti kelias prekybos vietas, tačiau ji neįrodo, kad jūsų paskyra galėjo pasiekti nurodytą kiekį, kad kotiruotė dar galiojo pavedimui atvykus ar kad prekybos vieta būtų priėmusi jūsų tipo pavedimą.
Rinkos pavedimo įvykdymas vidutine kaina dažniausiai tėra fikcija. Naudingesniam įverčiui palyginkite pavedimo dydį su matomu pavedimų knygos gyliu ir pridėkite mokesčius bei vėlavimo arba poveikio rinkai prielaidą. Jei turite tik geriausios kainos duomenis, apribokite išvadą: galite įvertinti pirmą lygį, bet negalite spręsti apie neužfiksuotą gylį.
Ribinio pavedimo atveju kainos pasiekimas nereiškia, kad pavedimas įvykdytas. Pirmiau už jūsų pavedimą eilėje esantys pavedimai gali sunaudoti visą prieinamą kiekį. Iš įprastų momentinių duomenų eiliškumo pozicijos paprastai nustatyti neįmanoma, todėl kainos pasiekimu pagrįstą įvykdymo taisyklę reikėtų laikyti optimistiniu scenarijumi, o ne faktu.
Vienos minutės žvakė gali parodyti, kad žemiausia kaina kirto jūsų ribinę kainą. Tačiau ji neatskleidžia, ar jūsų neįvykdytas pavedimas pasiekė prekybos vietą iki tos kainos, koks kiekis ten buvo parduotas ar kokia eilė buvo prieš jūsų pavedimą.
Ką turėčiau patikrinti prieš pasitikėdamas rinkos duomenų archyvu?
Pirmiausia tikrinu paprastus dalykus. Jie atskleidžia daugiau ydingo tyrimo atvejų nei prie sugadinto srauto prijungtas sudėtingas vykdymo modelis.
- Aprėptis: Ar yra trūkstamų intervalų, pasikartojančių įvykių, sekos spragų arba nepaaiškinamų nulinės apyvartos šuolių?
- Rinkos tapatybė: Ar simbolis visą laiką reiškia tą pačią biržą, kontraktą, kotiravimo valiutą ir priemonės specifikacijas?
- Prieinamumas: Ar išsaugoti ir įvykio, ir gavimo laikai? Jei ne, kokia vėlavimo prielaida apriboja rezultatą?
- Pataisymai: Ar galite atskirti pirminį pranešimą nuo vėlesnių tiekėjo papildymų ar pataisymų?
- Matavimo vienetai: Ar kainos, kiekiai, kontraktų daugikliai ir laiko žymos visur interpretuojami nuosekliai?
Pastarasis patikrinimas skamba kone pernelyg paprastai. Kartą visą rytą aiškinausi tariamą kintamumo režimo pokytį, kuris pasirodė esąs kiekio lauko vienetų pasikeitimas po duomenų srauto perkėlimo. Grafikas atrodė įspūdingai, bet vienetai buvo neteisingi.
Kaip patikrinti, ar duomenų prieinamumas keičia rezultatą?
Atlikite nedidelį jautrumo testą ties strategijos sprendimo riba. Pritaikykite duomenims realistiškus vėlavimus, atmeskite atnaujinimus, kurių sekos tęstinumas nutrūkęs, ir palyginkite įvykdymus pagal tikrosios prekybos vietos pavedimų knygą, jei ją turite. Pateikite ir pradinį, ir pablogintą rezultatą. Jei net menkas vėlavimas panaikina efektą, strategija gali priklausyti nuo informacinio pranašumo, kurio jūsų duomenų rinkimo sistema negali patikimai užtikrinti.
Pavyzdžiui, tarkime, signalas suveikia, kai geriausia pirkimo kaina pakyla 1 žingsniu. Atkurkite strategijos veikimą vieną kartą pagal biržos įvykio laiką, kitą – pagal duomenų rinkiklio gavimo laiką. Jei pagal įvykio laiką sudaroma 40 sandorių, o pagal gavimo laiką – 27, šis skirtumas yra strategijos įrodymų dalis. Kaip ir kiekvieno atkūrimo rezultatai. Neslėpkite silpnesnio atkūrimo vien todėl, kad jo duomenys atrodo mažiau tvarkingi.
Prekyba bandomojoje aplinkoje yra naudingas kitas patikrinimas, nes ji atskleidžia srautų vėlavimus, pasenusias kotiruotes, simbolių susiejimo klaidas ir prekybos vietų apribojimus tame pačiame veikimo kelyje, kurį naudoja jūsų tyrimų sistema. Vis dėlto ji neatkurs kiekvienos gyvos pavedimų eilės ar poveikio rinkai. Aiškiai įvardykite šią ribą.
Ką praktiškai reiškia „duomenys, kuriais galima prekiauti“?
Tai reiškia, kad istorinis testavimas gali paaiškinti, kada įvyko stebėjimas, kada strategija galėjo juo pasinaudoti, iš kokios rinkos jis gautas ir kokie vykdymo duomenys pagrindžia numanomą pavedimo įvykdymą. Tvarkinga kainų seka yra tik pradžia. Tyrimas tampa patikimas, kai patikrinamos jo laiko, prieigos ir įvykdymo prielaidos, o rezultatas išlieka prasmingas ir jas susilpninus.
← Visi įrašai


