19 września 2026 · backtesting

Dane tick nie uratują twojego backtestu — w przypadku większości strategii pogarszają wyniki

Dane tick nie uratują twojego backtestu — w przypadku większości strategii pogarszają wyniki

Standardowa rada brzmi: jeśli chcesz uczciwego backtestu, zdobądź dane tickowe. Uważam, że w przypadku większości strategii to zła rada, a jej zastosowanie zwykle pogarsza backtest, zamiast go ulepszać. Nie dlatego, że dane tickowe są niedokładne — to najdokładniejsze dane, jakie można zdobyć — lecz dlatego, że większość osób zastępuje rygor większą rozdzielczością, a to nie jest to samo.

Oto, jak dochodzi do problemu. Badacz buduje strategię na świecach 1-minutowych i uzyskuje Sharpe, który mu odpowiada. Potem ktoś — mentor, wpis na forum albo własne uporczywe wątpliwości — mówi mu, że backtest jest nieuczciwy, bo opiera się na świecach. Badacz przebudowuje więc cały proces na danych tickowych: każdy trade, każda aktualizacja kwotowania, znacznik czasu z dokładnością do mikrosekundy. Backtest działa wolniej, kod staje się 3 razy bardziej złożony, a Sharpe... prawie się nie zmienia albo zmienia się w sposób, którego nikt nie potrafi wyjaśnić. Mimo to wdrażają strategię, bo dane tickowe sprawiają wrażenie bardziej rygorystycznych, a wrażenie rygoru to nie to samo co rygor.

Co faktycznie daje rozdzielczość tickowa

Dane tickowe pokazują kolejność i cenę każdego trade'u oraz — jeśli za nie zapłacisz — każdej aktualizacji arkusza zleceń. To prawdziwa informacja. Pozwala odtworzyć pozycję w kolejce, oszacować prawdopodobieństwo realizacji zlecenia na danym poziomie cenowym i dostrzec adverse selection — czyli to, czy rynek porusza się przeciwko tobie zaraz po hipotetycznej realizacji zlecenia. Wszystko to ma ogromne znaczenie, jeśli okres utrzymywania pozycji liczy się w sekundach, a przewagę mierzy się ułamkami ticka.

Jednak większość strategii, które widzimy w Stratmill — podobnie jak większość strategii faktycznie stosowanych przez inwestorów indywidualnych i półprofesjonalnych badaczy — utrzymuje pozycje od minut do dni. W takim horyzoncie o uczciwości backtestu nie decyduje to, czy uwzględniono 40. trade w danej minucie. Decyduje to, czy poprawnie odwzorowano spread, stawkę finansowania, krzywą poślizgu cenowego i fakt, że twoje zlecenie limitowane czeka w kolejce za zleceniami innych osób. Wszystkie 4 kwestie można błędnie zamodelować na danych tickowych i poprawnie na świecach 1-minutowych. Rozdzielczość i uczciwość są od siebie niezależne.

~24Mtrade'ów dziennie, kontrakt perpetual BTCUSDT
1,440świec 1-minutowych w tym samym dniu
0.5–1 ticktypowy szum wynikający z odbijania się ceny między bidem a askiem przy każdym wydruku
3–5x
więcejczasu inżynieryjnego na poprawny proces przetwarzania danych tickowych w porównaniu z procesem opartym na świecach

To ostatnia liczba jest najczęściej niedoceniana. Backtest na poziomie ticków to nie po prostu „ten sam backtest z większą liczbą wierszy”. Na większości giełd trade'y docierają w kolejności innej niż wskazuje czas ich odebrania, są korygowane z mocą wsteczną, dzielone między kilka shardów silnika dopasowującego zlecenia, a na kilku platformach, z których pobieraliśmy dane, po ponownym połączeniu czasem się duplikują albo znikają. Zbudowanie procesu przetwarzania danych tickowych, który jest faktycznie dokładniejszy niż dobrze opracowany proces oparty na świecach, a nie tylko bardziej szczegółowy, to poważny projekt systemowy. Większość zespołów się go nie podejmuje. Podłączają backtester do pliku tickowego od dostawcy i uznają sprawę za zamkniętą. W efekcie zamieniają znany, udokumentowany zestaw przybliżeń (OHLCV) na nieznany i nieudokumentowany zestaw — taki, jaki wynika z logiki uzgadniania danych tickowych stosowanej przez dostawcę w gorszy dzień.

Szum, za który płacisz

Drugi koszt dotyczy bardziej statystyki niż inżynierii. Pojedyncze wydruki transakcji odbijają się między bidem a askiem — to zjawisko bid-ask bounce, znane jako artefakt w literaturze o mikrostrukturze rynku od lat 1980. Jeśli sygnał działa w skali szybszej niż kilka sekund, backtest na poziomie ticków może sprawić, że dostrzeżesz strukturę tam, gdzie jest tylko to odbijanie. Obserwowałem, jak badacz odkrył piękny wzorzec powrotu do średniej w danych z każdej transakcji z osobna, który zniknął, gdy tylko zagregował dane choćby do świec 5-sekundowych — bo wzorzec wynikał z odbijania się ceny.

Znany mi quant — wcześniej zajmował się market makingiem, a teraz prowadzi niewielki portfel kryptowalutowy — ujął to tak: „Dane tickowe są jak lupa. Jeśli skierujesz ją na swoją przewagę, świetnie. Jeśli skierujesz ją na szum, przez 6 miesięcy będziesz pięknie modelować własny szum”. Teraz backtestuje niemal wszystko na świecach 1-sekundowych lub 1-minutowych, a po dane tickowe sięga tylko wtedy, gdy chce odpowiedzieć na konkretne pytanie: „czy to zlecenie limitowane rzeczywiście zostałoby zrealizowane?”. To pytanie o prawdopodobieństwo realizacji, a nie o sygnał.

To właściwe podejście i zarazem rzecz, którą większość zwolenników danych tickowych pomija. Uczciwe wykorzystanie danych tickowych nie polega na uruchamianiu na nich całej strategii — chodzi o ich precyzyjne zastosowanie do 1 lub 2 pytań, na które dane świecowe naprawdę nie potrafią odpowiedzieć.

Kiedy krytycy mają rację

Mimo wszystko istnieją strategie, w których dane tickowe są niezbędne. Twierdzenie czegoś innego byłoby przesadą. Jeśli prowadzisz strategię przypominającą market making — kwotujesz po obu stronach rynku, zarządzasz zapasami z dokładnością do ticka i liczy się dla ciebie miejsce w kolejce na konkretnym poziomie cenowym — dane świecowe w ogóle nie są w stanie odwzorować twojego problemu. Cała ekonomika tej strategii rozgrywa się w obrębie minuty, a nie między minutami. To samo dotyczy arbitrażu statystycznego wrażliwego na opóźnienia między platformami, gdzie pytanie brzmi dosłownie „która transakcja odbyła się jako pierwsza”, oraz market makingu opcji przy dużych wolumenach, gdzie kilkaset milisekund adverse selection po wydruku decyduje o wszystkim. W takich warunkach backtest na świecach nie jest uproszczeniem, lecz błędem kategorialnym — nie testujesz strategii w niższej rozdzielczości, tylko inną strategię, która przypadkiem nosi tę samą nazwę co prawdziwa.

Horyzont strategiiCzego nie pokazują dane świecoweCzy dane tickowe są konieczne?
Market making / strategie oparte na kolejcePrawdopodobieństwo realizacji, adverse selection, pozycja w kolejceTak — są niezbędne
Arbitraż wrażliwy na opóźnienia / między platformamiKolejność transakcji, która platforma poruszyła się jako pierwszaTak
Momentum śróddzienne, powrót do średniej (minuty–godziny)Moment realizacji zlecenia w obrębie świecy, koszt spreaduTylko do analizy prawdopodobieństwa realizacji, nie sygnału
Swing / wiele dni, kierunkowe strategie opcyjnePrawie niczego istotnegoNie — świece wystarczają i często dają czytelniejszy obraz
Jeśli nie potrafisz w 1 zdaniu powiedzieć, na jakie pytanie dotyczące twojej konkretnej strategii odpowiadają dane tickowe, a dane świecowe nie, to jeszcze ich nie potrzebujesz. Potrzebujesz lepszego modelu realizacji zleceń dla danych świecowych, które już masz.

Nie twierdzimy więc, że „dane tickowe są złe”. Często sięganie po nie pozwala uniknąć trudniejszego i mniej efektownego pytania: czy mój model kosztów jest poprawny? Czy moje założenia dotyczące realizacji zleceń są właściwe? Czy to zlecenie rzeczywiście zostałoby zrealizowane, czy zakładam realizację po cenie, której arkusz zleceń nigdy tak naprawdę nie oferował? Na te pytania można odpowiedzieć na świecach 1-minutowych, a nawet 1-sekundowych, jeśli uczciwie uwzględni się pozycję w kolejce i spread. Dane tickowe pozwalają odpowiedzieć dokładniej, ale wymagają kilkukrotnie większego nakładu pracy inżynieryjnej. W przypadku strategii, dla których ta dodatkowa precyzja nie zmienia wniosków, wysiłek ten niczego nie wnosi. Poświęcaj dodatkową pracę tam, gdzie wymaga tego horyzont, a wszędzie indziej ją pomijaj — to lepsze wykorzystanie czasu zespołu badawczego niż domyślne sięganie po najbardziej szczegółowe dostępne dane tylko dlatego, że ich większa szczegółowość sprawia wrażenie większego rygoru.

dane tickowemikrostruktura rynkubacktestinginżynieria danychkontrakty futures na kryptowaluty
← Wszystkie wpisy