Jakie są ograniczenia testowania wstecznego EA?
Bezpośrednia odpowiedź
Testowanie wsteczne EA to proces uruchamiania doradcy eksperta (EA) na historycznych danych rynkowych w celu oszacowania, jak mógłby się zachować w przeszłości. Głównym ograniczeniem jest niepewność: to, co działało historycznie, może zawieść w przyszłości, ponieważ przyszłe ceny, płynność, zmienność i tarcia transakcyjne mogą się różnić, a także dlatego, że konfiguracja testu może nie odzwierciedlać rzeczywistego wykonania.
Mechanika i przyjmowane założenia
Testowanie wsteczne zazwyczaj obejmuje (1) reguły EA, (2) historyczne dane cenowe oraz (3) zestaw założeń modelowych dotyczących sposobu realizacji transakcji. Założenia mogą obejmować zachowanie spreadów i prowizji, to, czy zlecenia są realizowane po pokazanej cenie, czy po opóźnieniach, oraz jak obsługiwany jest poślizg. Nawet jeśli logika EA jest stabilna, test jest tylko tak realistyczny, jak realistyczne jest środowisko testowe.
Przydatnym sposobem myślenia o tym jest oddzielenie stabilnych mechanizmów od zmiennych warunków:
- Stabilne mechanizmy: reguły decyzyjne EA i logika generowania zleceń.
- Zmienne warunki: reżimy rynkowe, płynność, spready bid-ask, szybkość wykonania i faktycznie ponoszone koszty transakcyjne.
Jeśli testowanie wsteczne traktuje zmienne warunki zbyt idealnie (na przykład używając tych samych spreadów, które pokazuje wykres, lub ignorując poślizg), symulowane wyniki mogą być systematycznie odmienne od tego, co wydarzyłoby się, gdyby EA handlował z rzeczywistymi ograniczeniami.
Dowód lub przykład, dlaczego może zawieść
Rozważmy testowanie wsteczne, które pokazuje silne zyski przy użyciu historycznych świec. W handlu na żywo mogą pojawić się co najmniej trzy kategorie różnic:
- Różnice w danych: historyczny strumień danych może nie odzwierciedlać dokładnej ścieżki cenowej, która istniała tick po ticku.
- Różnice w wykonaniu: realizacja może być gorsza z powodu poślizgu, częściowych realizacji lub opóźnień.
- Różnice w środowisku: EA może polegać na warunkach zmienności lub trendu, które później się zmienią.
Nawet bez żadnego „błędnego” kodowania, te różnice mogą zmienić moment transakcji i sekwencję wejść/wyjść, co ma duże znaczenie dla strategii wrażliwych na miejsce składania zleceń i mikrostrukturę rynku.
Ograniczenia i ryzyka
Do istotnych przyczyn niepowodzeń należą:
- Przeuczenie do historii: EA może wydawać się zoptymalizowany pod kątem przeszłych wzorców, podczas gdy przyszłe rynki będą podlegać innej dynamice.
- Błąd wybiegania w przyszłość i ukryte wycieki założeń: ustawienia testu mogą przypadkowo wykorzystywać informacje, których EA nie miałby w danym momencie.
- Błąd przetrwania i błąd selekcji: jeśli okres testowy został wybrany, ponieważ wyglądał korzystnie, wyniki mogą nie być reprezentatywne.
- Niedoszacowanie kosztów i wykonania: niewielkie różnice w prowizjach, spreadach i poślizgu mogą znacząco wpłynąć na rentowność, zwłaszcza w strategiach z częstym handlem.
Kluczowym ograniczeniem jest rozbieżność między „historycznymi zależnościami” a „przyszłymi wynikami”. Historyczne wyniki mogą odzwierciedlać wiele przejściowych warunków; nie są dowodem na to, że te warunki będą się utrzymywać.
Weryfikacja lub kolejne pytanie
Aby niezależnie zweryfikować, co testowanie wsteczne może, a czego nie może powiedzieć, skup się na tym, czy konfiguracja testu odpowiada realistycznym ograniczeniom transakcyjnym: jakości danych, sposobie traktowania spreadów i prowizji oraz modelowaniu poślizgu i czasu realizacji zleceń. Jeśli wyniki EA w dużej mierze zależą od bardzo szczegółowych założeń, testowanie wsteczne jest mniej przydatne jako dowód.
Dobrym kolejnym pytaniem jest: „Które dane wejściowe i założenia dotyczące wykonania najbardziej zmieniłyby wyniki transakcji i jak wrażliwe są wyniki na rozsądne warianty tych założeń?”