Bezpośrednia odpowiedź
Informacje o praktyce backtestingu można zweryfikować, sprawdzając (1) jaką dokładnie metodę zastosowano, (2) jakie przyjęto dane wejściowe (dane, koszty, reguły realizacji), (3) czy wyniki da się odtworzyć na podstawie tych danych wejściowych oraz (4) czy przetestowano znane tryby awarii. Twierdzenie ma sens tylko wtedy, gdy jest na tyle konkretne, by dało się je ponownie uruchomić, i na tyle niezależne, by inna osoba mogła dojść do tych samych wniosków przy tych samych założeniach.
Definicja i weryfikacja „co”
Praktyka backtestingu to proces oceny modelu transakcyjnego lub reguły decyzyjnej poprzez zastosowanie jej do danych historycznych i zasymulowanie tego, co by się wydarzyło przy jasno określonym zestawie reguł. Weryfikacja zaczyna się od rozdzielenia:
- Stabilnej mechaniki: kroków algorytmicznych (logika wejścia/wyjścia, reguły pozycji, kalkulacje ryzyka) oraz procedury obliczeniowej.
- Zmiennych warunków: zachowania rynku w czasie oraz wszelkich założeń, które mogą zmienić wynik, takich jak spready, prowizje, slippage, płynność i timing realizacji.
Przydatnym celem weryfikacji jest kompletna specyfikacja. Co najmniej informacje powinny wskazywać, jaka reguła decyzyjna była testowana, z jakiego okresu/okresów danych korzystano, jak sygnały były generowane w czasie oraz jak symulowano transakcje.
Dowody i przykładowe sprawdzenia, które możesz odtworzyć
Użyj hierarchii źródeł, która odpowiada temu, jak twierdzenia stają się możliwe do przetestowania:
- Opis metody pierwotnej: oryginalny opis procedury backtestingu (logika i wzory).
- Przejrzystość danych wejściowych: źródło danych historycznych oraz kroki wstępnego przetwarzania (czyszczenie, resampling, znaczniki czasu).
- Model realizacji: reguły, według których zlecenia byłyby realizowane (źródło ceny, założenia dotyczące opóźnień oraz sposób, w jaki stosuje się koszty).
- Ślad obliczeń: wystarczająco dużo szczegółów, by odtworzyć metryki z surowych wyników (lista transakcji, obliczenia pozycji/rozmiaru pozycji oraz metoda agregacji).
Powtarzalne kroki weryfikacji:
- Krok 1: Zapisz założenia. Zapisz wszystkie założenia, które wpływają na wyniki: strefę czasową i wyrównanie świec, czy model używa ceny zamknięcia vs otwarcia, koszty transakcyjne oraz czy wypełnienia zakładają dostępność tej samej ceny w obrębie świecy.
- Krok 2: Sprawdź timing zdarzeń (look-forward vs look-back). Upewnij się, że decyzje w czasie t wykorzystują tylko informacje, które byłyby znane w czasie t. Typową pomyłką jest używanie przyszłych świec do tworzenia cech lub do podejmowania decyzji o wejściach.
- Krok 3: Zweryfikuj logikę realizacji. Potwierdź, jak model zamienia reguły decyzyjne na transakcje: kiedy zmieniają się pozycje, jak odejmuje się koszty oraz czy pomija się lub przybliża częściowe wypełnienia bądź slippage.
- Krok 4: Przelicz metryki na podstawie dziennika transakcji. Jeśli backtest podaje tylko statystyki zbiorcze, poproś o bazowe wyniki „transakcja po transakcji” albo odtwórz je z podanych wzorów.
- Krok 5: Uruchom test wrażliwości. Zmieniaj jedno założenie naraz w rozsądnych zakresach (na przykład nieco inne założenia dotyczące kosztów lub wypełnień) i sprawdź, czy wyniki są odporne, czy się załamują.
Istotne ograniczenie i tryby awarii, których należy szukać wprost:
- Bias look-ahead (wykorzystywanie informacji niedostępnych w momencie podejmowania decyzji).
- Overfitting i powtarzane testowanie (strojenie parametrów tak, by pasowały do historycznych osobliwości).
- Nierealistyczne wypełnienia (zakładanie idealnej realizacji bez wpływu płynności lub slippage).
- Bias selekcyjny (wybieranie korzystnych okresów po zobaczeniu wyników).
Ponieważ zależności historyczne nie gwarantują wyników w przyszłości, weryfikacja powinna koncentrować się na tym, czy metoda jest spójna wewnętrznie oraz czy pokazuje odporność na wiarygodne zmiany założeń.
Ograniczenia i ryzyka
Nawet gdy backtesting jest wykonywany starannie, wyniki pozostają zależne od podanych założeń. Koszty, timing realizacji i mikrostruktura rynku mogą znacząco różnić się między okresami, a nawet niewielkie różnice w modelowaniu mogą powodować duże zmiany w metrykach. Dlatego weryfikacja nie powinna traktować silnego backtestu jako dowodu przyszłej skuteczności; jest to dowód, że dana metoda może zachowywać się w określony sposób w określonych, zasymulowanych warunkach.
Lista kontrolna weryfikacji i kolejne pytanie
Aby niezależnie zweryfikować twierdzenie o backteście, potwierdź, że jasno wskazano i da się ponownie uruchomić wszystko z poniższych:
- Zakres danych i szczegóły wstępnego przetwarzania.
- Dokładna logika decyzyjna i to, jak mapuje się na zlecenia.
- Założenia dotyczące timing realizacji oraz to, jak wybierane są ceny do wypełnień.
- Założenia dotyczące kosztów i to, jak stosuje się je do każdej transakcji.
- Odtwarzalne wyniki (co najmniej dziennik transakcji lub ślad obliczeń).
Jeśli którekolwiek z tych elementów brakuje, nadal możesz ocenić twierdzenie jakościowo, ale nie możesz go w pełni zweryfikować. Kolejne pytanie, które warto zadać, brzmi: Czy ten sam backtest da się odtworzyć end-to-end wyłącznie na podstawie dostarczonych informacji, bez dodawania ukrytych założeń?