Jak odpowiedzialnie przeprowadzić backtest trendu średniej kroczącej?
Zdefiniuj trend średniej kroczącej i to, co testujesz
Trend średniej kroczącej to podejście podążające za trendem, w którym decyzje wynikają ze zmian średniej kroczącej w czasie lub z relacji między ceną a średnią kroczącą. Typowym celem backtestu jest oszacowanie, jak dana reguła zachowywałaby się historycznie, gdyby została wdrożona dokładnie w określony sposób.
Odpowiedzialny backtest tej koncepcji zaczyna się od oddzielenia stabilnych mechanizmów od zmiennych warunków. Stabilne mechanizmy to reguła matematyczna (na przykład sposób obliczania średniej kroczącej i sposób jej odwzorowania na pozycję). Czynniki zmienne obejmują warunki rynkowe, jakość wykonania i koszty, które mogą różnić się między próbą historyczną a przyszłą rzeczywistością.
Użyj jasnego modelu danych i założeń
Zacznij od określenia danych, których użyjesz, oraz założeń stojących za Twoimi obliczeniami.
Zakres danych (co oznacza historia). Określ ramy czasowe (np. świece dzienne vs. intraday), okres wsteczny oraz to, czy używasz cen skorygowanych, czy nieskorygowanych. Jeśli używasz danych ponownie próbkowanych, dokładnie opisz, jak są zbudowane, ponieważ ponowne próbkowanie może zmienić ścieżkę średniej kroczącej.
Założenia obliczeniowe (co widzi wskaźnik). Średnie kroczące mogą wykorzystywać wyłącznie informacje dostępne w danym momencie. W backteście zdecyduj, czy Twój sygnał używa wartości średniej kroczącej obliczonej na zamknięciu i wykonanej na następnej świecy, czy obliczonej w trakcie świecy i wykonanej natychmiast. Udokumentuj timing, aby uniknąć patrzenia w przyszłość.
Zasady pozycji i transakcji (co oznacza „działanie”). Zdefiniuj, jak pozycje są otwierane i zamykane: czy handlujesz na każdej świecy spełniającej warunek, tylko na zmianach, oraz czy odwracasz kierunek, czy najpierw zamykasz pozycję.
Model kosztów i tarcia (co odejmujesz). Nawet bez rzeczywistych spreadów powinieneś modelować co najmniej ogólne koszty transakcyjne i poślizg wykonawczy jako założenia. Koszty są głównym punktem awarii, ponieważ backtest, który je ignoruje, może wyglądać na zyskowny, podczas gdy rzeczywiste wdrożenie nie byłoby takie.
Dodaj kontrolę obciążeń i dyscyplinę parametrów
Backtesty często zawodzą z powodu obciążeń, najczęściej przypadkowego patrzenia w przyszłość, wycieku danych lub przeuczenia.
Testy poza próbą oparte na czasie. Użyj podziału chronologicznego: jeden okres na podjęcie decyzji o ustawieniach i późniejszy okres, którego nie dotykasz do końca. Zapobiega to przekształceniu backtestu w „historię” dopasowaną do jednego fragmentu historii.
Testy stabilności parametrów. Jeśli dostrajasz długość średniej kroczącej lub inne progi, sprawdź, czy wyniki pozostają znacząco podobne, gdy zmieniasz te parametry w rozsądnym zakresie. Bardzo wrażliwa wydajność zwykle wskazuje na przeuczenie.
Czyszczenie i wyrównanie zdarzeń (higiena timingowa). Jeśli Twoja reguła zależy od wielu danych wejściowych (na przykład średnich kroczących na różnych interwałach czasowych), upewnij się, że każde wejście jest zsynchronizowane z momentem decyzji. Nieprawidłowe wyrównanie może stworzyć subtelne efekty patrzenia w przyszłość.
Linie bazowe kontrolne. Porównaj logikę strategii z prostymi alternatywami (na przykład utrzymywaniem pozycji bez użycia reguły średniej kroczącej lub użyciem losowo permutowanej wersji serii wejściowej), aby zweryfikować, że zaobserwowany efekt nie jest artefaktem statystycznym.
Uwzględnij co najmniej jedno istotne ograniczenie i scenariusz awarii
Odpowiedzialny backtest traktuje swoje wyniki jako niepewne. Należy jawnie rozważyć co najmniej jeden istotny scenariusz awarii:
Ryzyko zmiany reżimu. Logika trendowa zależy od tego, czy rynki generują ruch kierunkowy, który średnie kroczące mogą wychwycić. Gdy zachowanie cen staje się bardziej bocznie lub średnio-zwrotne, średnia krocząca może opóźniać się i generować częste odwrócenia.
Wrażliwość na wykonanie i koszty. Gdy sygnały zmieniają się często, strategia może generować wiele transakcji. Jeśli koszty są niedoszacowane—lub jeśli jakość wykonania się pogarsza—wyniki netto mogą gwałtownie się pogorszyć.
Ryzyko jakości danych. Brakujące dane, nieregularne próbkowanie lub korekty cen historycznych mogą zmienić obliczenia średniej kroczącej. Może to prowadzić do wyników backtestu, które nie odzwierciedlają prawdziwego zachowania sygnału.
Zweryfikuj wyniki testami warunków skrajnych i zdyscyplinowanym raportowaniem
Po uruchomieniu backtestu z wybranymi założeniami i kontrolami obciążeń zweryfikuj solidność:
Testy warunków skrajnych w różnych reżimach. Oceń wydajność w wielu niepokrywających się oknach czasowych, a nie tylko w jednym korzystnym okresie. Szukaj spójnego zachowania, nie tylko szczytowych wyników.
Raportuj z uwzględnieniem niepewności. Skup się na wynikach netto po kosztach, zmienności między okresami i charakterystyce drawdownu, a nie na pojedynczej liczbie nagłówkowej.
Utrzymuj regułę gotową do audytu. Odpowiedzialny backtest jest powtarzalny.