Najbolj pošten model zdrsa je pogosto namenoma napačen. Backtest, ki iz grobih zgodovinskih podatkov poroča o enem natančnem strošku izvršitve, trdi nekaj, česar podatki ne morejo podpreti.
To se sliši kot zagovor grobih predpostavk. V resnici gre za nasprotno: uporabite preprost model, ki ga znate pojasniti, nato pa poskrbite, da si bo nasprotoval. Če strategija deluje le ob eni priročno ugodni oceni izvedbe, je negotovost del rezultata.
Zakaj je lahko natančna ocena zdrsa zavajajoča?
Recimo, da imate 1-minutne OHLCV svečnike in oddate tržno naročilo za 2,000 delnic. Svečnik pokaže razpon in skupni obseg v eni minuti. Ne pove pa vam, kakšna sta bila bid in ask ob prejemu naročila, kakšna čakalna vrsta je bila pred vami, kako se je obseg porazdelil skozi minuto ali kolikšen del bi porabilo vaše naročilo.
Zdrsu lahko še vedno določite številčno vrednost. Lahko predpostavite izvedbo po otvoritveni ceni naslednjega svečnika, povečani za fiksni strošek v bazičnih točkah, ali pa strošek skalirate glede na razmerje med velikostjo naročila in obsegom svečnika. To so uporabni približki. Niso meritve. Če rezultat prikažete kot »zdrs: 3.2 bazične točke«, je videti, kot da gre za meritev, čeprav gre za izbiro modela.
Poglejmo konkreten primer: strategija oddaja naročila v vrednosti $20,000 za delnico, katere obseg v naslednjem svečniku znaša $400,000. Stopnja udeležbe je 5%. Model, ki zaračuna 2 bazični točki, stane $4 na naročilo; model z 10 bazičnimi točkami pa $20. Pri 500 zaključenih obratih je razlika $16,000 pred provizijami. Če je bruto dobiček strategije po backtestu $18,000, ima predpostavka o izvrševanju skoraj tolikšen vpliv kot signal.
Oblikujte razpon, ki odraža, kaj lahko zaznajo vaši podatki
Začnite z osnovnim scenarijem, ki ustreza vrsti naročila strategije in ločljivosti podatkov. Tržno naročilo zahteva upoštevanje razpona bid-ask in vpliva na trg. Pri limitnem naročilu potrebujete pravilo, ki določa, ali se sploh izvede; predpostavka, da se izvede vsako naročilo, katerega cena je bila dosežena, pomeni drugo napako pri modeliranju izvršitve.
Nato isti backtest zaženite v nekaj izrecno opredeljenih scenarijih. Signal, velikost pozicij in časovne oznake naj ostanejo nespremenjeni, da lahko spremembe pripišete izvrševanju:
| Scenarij | Predpostavka o izvrševanju | Kaj preverja |
|---|---|---|
| Ugoden | Osnovni razpon bid-ask in majhen vpliv na trg | Koliko je strategija odvisna od ugodnih pogojev trgovanja? |
| Osnovni | Običajen razpon bid-ask in vpliv na trg, prilagojen stopnji udeležbe | Kaj nam pove izbrana delovna predpostavka? |
| Neugoden | Širši razpon bid-ask, večji vpliv na trg in zakasnjena izvedba | Ali prednost preživi verjetne težavne razmere na trgu? |
To niso intervali zaupanja, razen če ste jih statistično kalibrirali. Gre za scenarijske preizkuse. V poročilu pojasnite, kaj pomenijo, in jih ne združujte v izmišljeni »pričakovani zdrs«, če nimate dokazov o verjetnostih posameznih scenarijev.
Poskrbite, da se model odziva na naročilo
Fiksni strošek v bazičnih točkah je lahko primeren prvi približek za majhna naročila. Ko stopnja udeležbe naraste, pa postane slaba razlaga. Zabeležite vsaj nominalno vrednost naročila, razpoložljivi obseg svečnika in stopnjo udeležbe. Če strategija trguje s terminskimi pogodbami, beležite vrednost pogodbe in ustrezne enote obsega; če trguje s kriptovalutami na promptnem trgu, jasno navedite kotacijsko valuto in borzo.
Preprosta krivulja vpliva na trg lahko pokaže pritisk na kapaciteto, ne da bi se pretvarjala, da posnema knjigo naročil. Strošek lahko na primer določite kot osnovni strošek razpona bid-ask in dodaten člen vpliva, ki narašča s kvadratnim korenom stopnje udeležbe. Parametre prilagodite le, če imate ustrezne podatke o izvršitvah. Sicer spreminjajte parametre in pokažite, kako hitro se rezultat poslabša.
Modelu izvedbe ne dovolite, da strategijo potihem rešuje. Dolg signal, ki prispe po močnem dvigu, ne bi smel dobiti najnižje cene svečnika samo zato, ker se ta pojavi znotraj njegovega razpona. Uporabite vzročno pravilo za izvedbo, nato pa obremenitveno preizkusite ceno in dodajte zakasnitev. Če zaradi zakasnjenega naročila zamudite premik, je to izid izvrševanja, ne nevšečnost, ki jo je treba zgladiti.
Uporabno vprašanje: pri kakšnem razponu bid-ask, vplivu na trg, zakasnitvi ali stopnji udeležbe neto uspešnost pade na nič? Ta točka preloma je pogosto uporabnejša od ene same vrednosti Sharpe po backtestu.
Z paper tradingom zožite razpon
Paper trading ne bo razkril izvedbe, ki bi jo dobili v živo v mehanizmu za ujemanje naročil. Še vedno pa vam lahko pove, ali je tok naročil iz backtesta podoben dejanskim odločitvam sistema: kdaj se naročila ustvarijo, kako velika so in kako dolgo ostanejo izvršljiva.
Primerjajte simulirano ceno naročila s sočasnimi kotacijami ali drugimi tržnimi podatki, ki jih beleži vaš sistem za paper trading. Spremljajte odstopanje glede na instrument, uro dneva, velikost naročila in vrsto naročila. Ta opažanja lahko zožijo predpostavke za konkretno konfiguracijo. Ne prenesejo se samodejno na drugo borzo, drug tržni režim ali večje naročilo.
Kritiki imajo prav, da so lahko pesimistični scenariji arbitrarni. Namenoma strog model lahko zavrne izvedljivo strategijo, prav tako kot jo lahko ugoden model prikaže v lepši luči, kot si zasluži. Zato najstrožjega scenarija ne razglasite za resnico. Objavite predpostavke, prikažite občutljivost in zbirajte podatke, s katerimi boste ugibanja nadomestili s kalibriranimi ocenami.
Backtest iz svečnika ne more poznati zgodovinskega položaja v čakalni vrsti. Lahko pa pokaže, ali je zamisel še vedno smiselna, ko se izvrševanje poslabša na načine, ki jih vaši podatki ne morejo izključiti. To je uporabnejši odgovor kot dodatna decimalka.
← Vse objave


