Jak można odpowiedzialnie przeprowadzić backtesting WMA?
Co oznacza backtesting WMA
WMA oznacza Weighted Moving Average (ważona średnia krocząca). Średnia krocząca to wygładzony szereg czasowy zbudowany z ostatnich obserwacji; „ważona” oznacza, że nowsze (lub określone) obserwacje mają większy wpływ niż starsze, w oparciu o wybrany schemat wag.
Backtesting to proces stosowania historycznej metody do danych z przeszłości w celu zmierzenia, jak by się ona zachowała. W przypadku WMA zazwyczaj oznacza to obliczenie WMA na historycznych seriach cenowych, a następnie ocenę wybranych kryteriów (na przykład, jak często WMA zmienia kierunek, jak ściśle podąża za ceną lub jak reguła zbudowana na jej wartości sprawdziłaby się w przeszłości).
Odpowiedzialny backtesting to nie tylko generowanie wyników. Koncentruje się na zdefiniowaniu tego, co testujesz, stosowaniu realistycznych danych wejściowych i unikaniu błędów analitycznych, które sprawiają, że wyniki wyglądają lepiej, niż mogłyby być w czasie rzeczywistym.
Mechanika: dane wejściowe, założenia i powtarzalność
Aby odpowiedzialnie przeprowadzić backtesting WMA, zacznij od mechaniki i udokumentuj ją tak, aby inna osoba mogła odtworzyć te same liczby.
- Zdefiniuj serię cenową używaną (na przykład zamknięcie do zamknięcia, punkt środkowy lub inną spójną definicję).
- Ustal ustawienia WMA: długość okna, regułę wag oraz sposób obsługi brakujących wartości i pierwszych okresów, w których WMA jest niezdefiniowana.
- Określ synchronizację, aby uniknąć ukrytego wycieku informacji. W praktyce musisz zdecydować, czy wartość WMA w czasie t jest obliczana wyłącznie na podstawie danych dostępnych do t, oraz czy jakakolwiek decyzja, którą testujesz, może zostać wykonana w czasie t, czy dopiero w t+1.
- Podaj wszystkie założenia obliczeniowe (np. czy zaokrąglasz, interpolujesz, czy używasz dokładnej arytmetyki).
Ponieważ rynki i źródła danych różnią się, odpowiedzialny backtesting oddziela stabilną mechanikę (wzór WMA i metodę oceny) od zmiennych warunków (zachowanie rynku, koszty i szczegóły wykonania).
Możesz również przeprowadzić backtesting WMA jako samodzielnego wygładzacza, testując błąd odwzorowania (tracking error) lub opóźnienie, bez przekształcania go w „sygnał” transakcyjny. Może to być przydatne do zrozumienia zachowania przed połączeniem go z jakąkolwiek regułą decyzyjną.
Dowody: modeluj warstwę kosztów i testuj z kontrolą obciążeń
Backtesty często zawodzą, ponieważ pomijają lub upraszczają warstwę kosztów oraz ponieważ przypadkowo dopasowują się do szumu.
Uwzględnij koszty i założenia dotyczące wykonania
Nawet bez rekomendowania transakcji, Twoja ocena powinna odzwierciedlać tarcia rynkowe. Typowe składniki kosztów, które powinieneś modelować jako założenia, obejmują:
- Spread i prowizję (jeśli mają zastosowanie w Twoim przypadku).
- Poślizg (ruch ceny między momentem sygnału a momentem wykonania).
Musisz również jasno określić swoje założenie dotyczące wykonania, na przykład: wykonujesz po cenie z następnego słupka lub po zamodelowanej cenie wykonania uwzględniającej poślizg.
Jeśli nie uwzględnisz kosztów, backtesting może systematycznie zawyżać wyniki.
Kontrola wybiegania w przyszłość i nadmiernego dopasowania
Istnieją co najmniej trzy typowe sposoby popełniania błędów:
- Błąd wybiegania w przyszłość (lookahead bias): wykorzystanie danych, które nie byłyby znane w momencie podejmowania decyzji.
- Nadmierne dopasowanie (overfitting): wybór długości okna lub progów po zobaczeniu wyników.
- Niestacjonarność: wyniki, które pasują tylko do jednego reżimu rynkowego.
Aby je ograniczyć, stosuj kontrolę obciążeń, taką jak:
- Ocena krocząca (walk-forward): wybieraj parametry na podstawie wcześniejszych okresów, a następnie oceniaj na późniejszych, nieznanych okresach.
- Testowanie poza próbą: zachowaj jedną część historii wyłącznie do końcowej oceny.
- Wiele reżimów: powtórz tę samą ocenę w różnych przedziałach czasowych (na przykład w okresach zmiennych vs. spokojniejszych), zamiast polegać na jednym ciągłym okresie.
Ograniczenia i ryzyka
Historyczne backtesty nie gwarantują niczego w kwestii przyszłego zachowania. Nawet przy starannej mechanice wyniki oparte na WMA mogą się zmienić, ponieważ:
- Warunki rynkowe ewoluują, co sprawia, że historyczne zależności nie są przenośne.
- Jakość danych jest zróżnicowana (brakujące słupki, działania korporacyjne, różne definicje cen).
- Rzeczywistość wykonania różni się od założeń dotyczących czasu realizacji, poślizgu i płynności.
Istotnym ograniczeniem dla WMA jest to, że wygładzanie wiąże się z kompromisem między reaktywnością a szumem. Dłuższe okno może zmniejszyć krótkoterminowe wahania, ale może bardziej opóźniać; krótsze okno może reagować szybciej, ale może podążać za szumem. Ten kompromis może wyglądać dobrze w jednym okresie, a pogarszać się w innym.
Innym sposobem popełnienia błędu jest przekształcenie backtestu w test „sygnału” typu tak/nie bez zrozumienia podstawowego zachowania wygładzacza. Jeśli nie potrafisz wyjaśnić, dlaczego kryterium oceny zmienia się wraz z różnymi danymi wejściowymi, backtest może mierzyć coś niezamierzonego.
Weryfikacja i praktyczny następny krok
Odpowiedzialne podejście do weryfikacji polega na tym, aby móc samodzielnie odpowiedzieć na następujące pytania: