Dažnai sąžiningiausias praslydimo modelis yra tyčia netikslus. Atgalinis testavimas, pateikiantis vieną tikslią vykdymo kainą pagal apytikslius istorinius duomenis, teigia tai, ko tie duomenys negali pagrįsti.
Gali atrodyti, kad tai argumentas už grubias prielaidas. Yra priešingai: naudokite paprastą, paaiškinamą modelį ir tada leiskite jam pačiam sau prieštarauti. Jei strategija veikia tik parinkus jai palankią pavedimo įvykdymo kainą, šis neapibrėžtumas yra rezultato dalis.
Kodėl tiksli praslydimo sąmata gali klaidinti?
Tarkime, turite vienos minutės OHLCV žvakes ir pateikiate rinkos pavedimą pirkti 2,000 akcijų. Žvakė parodo vienos minutės kainų intervalą ir bendrą apyvartą. Tačiau neparodo pirkimo ir pardavimo kainų, kai atėjo jūsų pavedimas, prieš jus eilėje buvusių pavedimų, apyvartos pasiskirstymo per minutę ar to, kokią jos dalį būtų sunaudojęs jūsų pavedimas.
Vis tiek galite priskirti praslydimui skaičių. Galite laikyti, kad pavedimas įvykdomas kitos žvakės atidarymo kaina, pridėjus fiksuotą bazinių punktų mokestį, arba skaičiuoti mokestį pagal pavedimo dydžio ir žvakės apyvartos santykį. Tai naudingi apytiksliai skaičiavimai. Tai nėra stebėjimai. Rezultatą pateikus kaip „praslydimas: 3.2 bazinio punkto“, pasirinktas modelis atrodo tarsi matavimo rezultatas.
Pateikime konkretų pavyzdį. Tarkime, strategija kiekvienu pavedimu prekiauja už $20,000 akcijomis, kurių kitos žvakės apyvarta siekia $400,000. Dalyvavimo rinkoje rodiklis yra 5%. Taikant 2 bazinių punktų mokestį, vienas pavedimas kainuoja $4; taikant 10 bazinių punktų mokestį – $20. Per 500 pirkimo ir pardavimo ciklų skirtumas siekia $16,000, neįskaitant komisinių. Jei bendrasis atgalinio testavimo pelnas yra $18,000, vykdymo prielaida rezultatui turi beveik tokią pačią įtaką kaip signalas.
Sudarykite intervalą pagal tai, ką leidžia matyti jūsų duomenys
Pradėkite nuo bazinio scenarijaus, atitinkančio strategijos pavedimų tipą ir duomenų detalumą. Rinkos pavedimui reikia įvertinti pirkimo ir pardavimo kainų skirtumą bei poveikį rinkai. Limitiniam pavedimui reikia taisyklės, ar jis apskritai įvykdomas; prielaida, kad pavedimas įvykdomas kiekvieną kartą, kai kaina paliečia limito lygį, yra atskira vykdymo klaida.
Tada atlikite tą patį atgalinį testavimą pagal kelis aiškiai apibrėžtus scenarijus. Signalą, pozicijos dydį ir laiko žymas palikite nepakeistus, kad galėtumėte pokyčius priskirti vykdymui:
| Scenarijus | Vykdymo prielaida | Ką tai parodo |
|---|---|---|
| Palankus | Bazinis kainų skirtumas ir mažas poveikis rinkai | Kiek strategija priklauso nuo palankių prekybos sąlygų? |
| Bazinis | Įprastas kainų skirtumas ir pagal dalyvavimą rinkoje apskaičiuotas poveikis | Ką reiškia pasirinkta darbinė prielaida? |
| Nepalankus | Didesnis kainų skirtumas ir poveikis rinkai, pavėluotas pavedimo įvykdymas | Ar pranašumas išlieka tikėtinoje, sudėtingoje rinkoje? |
Tai nėra pasikliautinieji intervalai, nebent juos statistiškai kalibravote. Tai scenarijų testai. Ataskaitoje paaiškinkite, ką jie reiškia, ir neapskaičiuokite jų vidurkio kaip išgalvoto „tikėtino praslydimo“, jei neturite duomenų apie scenarijų tikimybes.
Susiekite modelį su pavedimu
Fiksuotas bazinių punktų mokestis gali būti tinkamas pradinis įvertis mažiems pavedimams. Didėjant dalyvavimui rinkoje, toks modelis tampa vis mažiau įtikinamas. Bent jau registruokite pavedimo nominaliąją vertę, prieinamą žvakės apyvartą ir dalyvavimo rinkoje rodiklį. Jei strategija prekiauja ateities sandoriais, registruokite kontrakto vertę ir atitinkamus apyvartos vienetus; jei prekiauja neatidėliotina kriptovaliuta, aiškiai nurodykite kotiruojamą valiutą ir prekybos vietą.
Paprasta poveikio rinkai kreivė gali atskleisti pajėgumo ribas, neapsimetant, kad atkuriama pavedimų knyga. Pavyzdžiui, nustatykite sąnaudas kaip bazinį kainų skirtumo mokestį ir poveikio rinkai dedamąją, kuri didėja proporcingai dalyvavimo rinkoje rodiklio kvadratinei šakniai. Parametrus kalibruokite tik turėdami tinkamų vykdymo duomenų. Kitu atveju keiskite parametrus ir parodykite, kaip greitai prastėja rezultatas.
Neleiskite, kad pavedimų įvykdymo modelis tyliai išgelbėtų strategiją. Jei pirkimo signalas gaunamas po staigaus kainos kilimo, pavedimas neturėtų būti įvykdytas žvakės žemiausia kaina vien todėl, kad ši kaina yra žvakės ribose. Taikykite priežastinę pavedimo įvykdymo taisyklę, tada patikrinkite didesnę kainą ir vėlavimą. Jei dėl vėluojančio pavedimo praleidžiamas kainos pokytis, tai vykdymo rezultatas, o ne nepatogumas, kurį reikėtų išlyginti.
Naudingas klausimas: kokiam kainų skirtumui, poveikiui rinkai, vėlavimui ar dalyvavimo rinkoje rodikliui esant grynasis rezultatas tampa lygus nuliui? Šis lūžio taškas dažnai naudingesnis už vieną atgalinio testavimo Sharpe rodiklį.
Patikslinkite intervalą prekiaudami imitavimo režimu
Prekyba imitavimo režimu neatskleis, kokia kaina pavedimas būtų įvykdytas realioje pavedimų suderinimo sistemoje. Tačiau ji gali parodyti, ar atgalinio testavimo pavedimų srautas atitinka tikruosius sistemos sprendimus: kada generuojami pavedimai, kokio jie dydžio ir kiek laiko išlieka vykdytini.
Palyginkite imituojamą pavedimo kainą su tuo metu galiojusiomis kotiruotėmis arba kitais rinkos duomenimis, kuriuos registruoja jūsų imitavimo sistema. Stebėkite skirtumą pagal instrumentą, paros laiką, pavedimo dydį ir tipą. Šie stebėjimai gali susiaurinti prielaidas konkrečiam nustatymui. Jie automatiškai netinka kitai prekybos vietai, rinkos režimui ar didesniam pavedimui.
Kritikai pagrįstai teigia, kad pesimistiniai scenarijai gali būti savavališki. Tyčia griežtas modelis gali atmesti perspektyvią strategiją taip pat, kaip palankus modelis gali pagražinti silpnos strategijos rezultatus. Todėl nelaikykite griežčiausio scenarijaus tiesa. Paskelbkite prielaidas, parodykite jautrumą ir rinkite duomenis, kad spėjimus galėtumėte pakeisti kalibruotais įverčiais.
Atgalinis testavimas negali nustatyti istorinės vietos eilėje pagal žvakę. Tačiau jis gali parodyti, ar idėja išlieka nuosekli vykdymo sąlygoms blogėjant būdais, kurių jūsų duomenys negali atmesti. Tai naudingesnis atsakymas nei papildomas skaitmuo po kablelio.
← Visi įrašai


