Nejpoctivější model skluzu bývá často záměrně chybný. Backtest, který z hrubých historických dat vykazuje jediný přesný náklad na exekuci, tvrdí něco, co tato data nemohou doložit.
Může to znít jako argument pro hrubé odhady. Ve skutečnosti je to naopak: použijte jednoduchý model, který dokážete vysvětlit, a pak nechte jeho varianty, ať si navzájem odporují. Pokud strategie funguje jen při jednom příhodně příznivém odhadu ceny plnění, nejistota je součástí výsledku.
Proč může být přesný odhad skluzu zavádějící?
Představte si, že máte minutové OHLCV svíčky a zadáte tržní pokyn na 2,000 akcií. Svíčka ukazuje rozpětí ceny a celkový objem za minutu. Neříká ale, jaký byl bid a ask v okamžiku přijetí vašeho pokynu, kolik pokynů bylo před vámi ve frontě, jak se objem během minuty rozložil ani jakou část z něj by váš pokyn spotřeboval.
Skluzu přesto můžete přiřadit číselnou hodnotu. Můžete předpokládat plnění za otevírací cenu následující svíčky plus pevný náklad v bazických bodech nebo náklad škálovat podle poměru velikosti pokynu k objemu svíčky. Jde o užitečné aproximace, nikoli pozorování. Když výsledek uvedete jako „skluz: 3.2 bazického bodu“, vypadá volba modelu jako měření.
Ukažme si konkrétní příklad. Strategie zadává pokyn na $20,000 na akcii, jejíž objem v následující svíčce činí $400,000. Míra participace je 5%. Model účtující 2 bazické body stojí $4 za pokyn, model účtující 10 bazických bodů stojí $20. Za 500 úplných obchodních cyklů činí rozdíl $16,000 ještě před započtením komisí. Pokud hrubý zisk strategie podle backtestu dosahuje $18,000, má předpoklad o exekuci téměř stejný vliv jako signál.
Sestavte rozpětí odpovídající tomu, co vaše data zachycují
Začněte základním scénářem, který odpovídá typu pokynu strategie a časovému rozlišení dat. Tržní pokyn vyžaduje zohlednit spread a dopad na trh. U limitního pokynu je třeba určit, za jakých podmínek se vůbec provede; předpokládat plnění při každém dotyku ceny je jiný druh chyby v modelu exekuce.
Pak spusťte stejný backtest v několika jasně popsaných scénářích. Signál, velikost pozice i časová razítka ponechte beze změny, abyste mohli změny připsat exekuci:
| Scénář | Předpoklad o exekuci | Co ověřuje |
|---|---|---|
| Příznivý | Základní spread a nízký dopad na trh | Nakolik strategie závisí na příznivých podmínkách obchodování? |
| Základní | Obvyklý spread a dopad škálovaný podle míry participace | Co vyplývá ze zvoleného pracovního předpokladu? |
| Nepříznivý | Širší spread, vyšší dopad na trh a zpožděné plnění | Obstojí výhoda strategie i v realisticky obtížných podmínkách na trhu? |
Nejde o intervaly spolehlivosti, pokud jste je statisticky nekalibrovali. Jsou to scénářové testy. Vysvětlete v reportu, co znamenají, a neslučujte je do smyšleného „očekávaného skluzu“, pokud nemáte podklady pro určení pravděpodobností jednotlivých scénářů.
Nechte model reagovat na pokyn
Pevný poplatek v bazických bodech může být rozumným prvním odhadem pro malé pokyny. S rostoucí mírou participace ale přestává dobře popisovat situaci. Zaznamenávejte alespoň nominální hodnotu pokynu, dostupný objem svíčky a míru participace. Pokud strategie obchoduje futures, zaznamenávejte hodnotu kontraktu a příslušné jednotky objemu. Pokud obchoduje kryptoměny na spotovém trhu, jasně uveďte měnu kotace a burzu.
Jednoduchá křivka dopadu na trh může odhalit tlak na kapacitu strategie, aniž by předstírala, že napodobuje knihu objednávek. Náklad můžete například definovat jako základní poplatek za spread plus složku dopadu, která roste s odmocninou míry participace. Parametry kalibrujte pouze tehdy, máte-li vhodná data o exekucích. Jinak měňte jejich hodnoty a ukažte, jak rychle se výsledek zhoršuje.
Zároveň nedovolte, aby model plnění strategii nenápadně zachraňoval. Dlouhý signál, který přijde po prudkém růstu, by neměl dostat nejnižší cenu svíčky jen proto, že se v ní tato cena vyskytuje. Použijte kauzální pravidlo plnění, pak cenu zhoršete a plnění zpozděte. Pokud zpožděný pokyn propásne pohyb, je to výsledek exekuce, ne nepříjemnost, kterou je třeba vyhladit.
Užitečná otázka: při jakém spreadu, dopadu na trh, zpoždění nebo míře participace klesne čistá výkonnost na nulu? Tento bod zvratu bývá užitečnější pro rozhodování než jediné Sharpeovo číslo z backtestu.
Zpřesňujte rozpětí pomocí paper tradingu
Paper trading neodhalí, za jakou cenu by se váš pokyn provedl v živém párovacím systému. Může vám ale ukázat, zda se proud pokynů v backtestu podobá skutečným rozhodnutím systému: kdy pokyny vznikají, jak jsou velké a jak dlouho zůstávají platné.
Porovnávejte cenu simulovaného pokynu se současnými kotacemi nebo s jinými tržními daty zaznamenávanými vaším systémem pro paper trading. Sledujte rozdíl podle instrumentu, denní doby, velikosti pokynu a typu pokynu. Tato pozorování mohou zpřesnit předpoklady pro dané nastavení. Nelze je automaticky přenést na jinou burzu, tržní režim ani větší pokyn.
Kritici mají pravdu, že pesimistické scénáře mohou být libovolné. Záměrně přísný model může odmítnout životaschopnou strategii stejně, jako ji příznivý model může vykreslit v lepším světle, než si zaslouží. Nepovažujte tedy nejpřísnější scénář za pravdu. Zveřejněte předpoklady, ukažte citlivost a sbírejte data, která vám umožní nahradit odhady kalibrovanými hodnotami.
Backtest nedokáže z historické svíčky zjistit, kde se váš pokyn ve frontě nacházel. Může ale ukázat, zda strategie stále dává smysl, když se exekuce zhorší způsoby, které vaše data nedokážou vyloučit. To je užitečnější odpověď než číslo s přesností na desetinné místo.
← Všechny články


