Jak Przeprowadzić Backtest Strategii Handlowej
Strona Główna
Artykuły
Jak Przeprowadzić Backtest Strategii Handlowej

Jak Przeprowadzić Backtest Strategii Handlowej

Średnio zaawansowany
Opublikowane Dec 17, 2020Zaktualizowane Jun 21, 2023
7m

TL;DR

Myślisz, że masz świetne pomysły dotyczące rynku, ale nie wiesz, jak je przetestować bez ryzykowania swoich funduszy? Umiejętność backtestowania pomysłów handlowych to chleb powszedni dla dobrego systematycznego tradera.

Podstawowym założeniem analizy historycznej jest to, że to, co działało w przeszłości, może działać w przyszłości. Jak sobie z tym poradzić? Jak należy ocenić wyniki? Przejdźmy przez prosty proces backtestingu.


Wprowadzenie

Backtesting jest jednym z kluczowych elementów chartingu i własnych strategii handlowych. Odbywa się on poprzez rekonstrukcję transakcji, które miałyby miejsce w przeszłości w oparciu o dane historyczne. Wyniki analizy historycznej powinny dać ogólne pojęcie o tym, czy strategia inwestycyjna jest skuteczna, czy nie.

Zanim przejdziemy dalej, jeśli chcesz przetestować swoje własne strategie, Binance Futures jest do tego doskonałym miejscem. Jeśli chcesz uzyskać dostęp do danych historycznych z platformy, wypełnij ten formularz zgłoszeniowy.


Czym jest backtesting?

Po pierwsze, jeśli chcesz uzyskać wgląd w to, czym jest analiza historyczna, przeczytaj nasz artykuł Czym jest Backtesting?

Krótko mówiąc, głównym celem analizy historycznej jest pokazanie, czy Twoje pomysły handlowe są dobre. Wykorzystujesz wcześniejsze dane rynkowe, aby zobaczyć, jak poradziłaby sobie strategia. Jeśli strategia wygląda jakby miała potencjał, może być również skuteczna w rzeczywistym środowisku handlowym.


Co zrobić przed rozpoczęciem backtestingu

Zanim omówimy przykład analizy historycznej, należy coś ustalić. Musisz odkryć, jakim jesteś traderem. Czy jesteś traderem uznaniowym czy systematycznym?

Handel uznaniowy jest oparty na decyzjach - traderzy kierują się własnym osądem, kiedy wejść i wyjść. Jest to stosunkowo luźna i otwarta strategia, w której większość decyzji zależy od oceny warunków przez tradera. Jak można się spodziewać, analiza historyczna jest mniej istotna, jeśli chodzi o handel uznaniowy, ponieważ strategia nie jest ściśle zdefiniowana.

To oczywiście nie oznacza, że jeśli jesteś traderem uznaniowym, nie powinieneś w ogóle przeprowadzać backtestów ani "handlować na papierze". Oznacza to po prostu, że wyniki mogą nie być tak wiarygodne, jak w przypadku tradera systematycznego.

Handel systematyczny jest bardziej odpowiedni dla naszego omawianego tematu. Systematyczni traderzy polegają na systemie handlowym, który definiuje i mówi im dokładnie, kiedy wejść i wyjść. Chociaż mają pełną kontrolę nad strategią, sygnały wejścia i wyjścia są określane przez strategię. Wyobraź sobie prostą strategię systematyczną jako:

  • Kiedy A i B zdarzą się w tym samym czasie, wejdź w transakcję.
  • Kiedy wydarzy się X, wyjdź z transakcji.

Niektórzy traderzy wolą to podejście. Pozwala ono w pewnym stopniu wyeliminować emocjonalne decyzje z handlu i zapewnić rozsądny stopień pewności, że system handlowy jest opłacalny. Oczywiście nadal nie ma żadnej gwarancji.

Dlatego ważne jest, aby upewnić się, że w systemie obowiązują bardzo szczegółowe zasady dotyczące wchodzenia i wychodzenia z pozycji. Jeśli strategia nie jest dobrze zdefiniowana, wyniki również będą niespójne. Jak można się spodziewać, ten rodzaj handlu jest bardziej popularny przy handlu algorytmicznym.

Istnieje oprogramowanie do backtestingu, które możesz kupić, jeśli chcesz wykonywać automatyczne analizy historyczne. Możesz wprowadzić własne dane, a oprogramowanie przeprowadzi backtest za Ciebie. Jednak w tym przykładzie przeprowadzimy manualny backtest strategii. Będzie wymagało to trochę więcej pracy, ale jest całkowicie bezpłatne.


Jak przeprowadzić backtest strategii handlowej

Szablon arkusza kalkulacyjnego Arkuszy Google można znaleźć pod tym linkiem. Jest to podstawowy szablon, którego możesz użyć jako punktu wyjścia do stworzenia własnego. Daje ogólne pojęcie o tym, jakie informacje może zawierać arkusz do analizy historycznej. Niektórzy handlowcy wolą używać Excela lub zakodować to w Pythonie - nie ma tutaj ścisłych zasad. Możesz dodać znacznie więcej danych, generalnie wszystko, co uznasz za przydatne.
Data
Rynek
Kierunek
Wejście
Stop LossTake ProfitRyzykoNagrodaPnL

12/08

BTCUSD

Long

$18,000

$16,200

$21,600

10%

20%

3600

12/09

BTCUSD

Short

$19,000

$20,900

$13,300

10%

30%

-1900


Przetestujmy więc prostą strategię handlową. Oto nasz pomysł:

  • Kupujemy jednego Bitcoina przy pierwszym dziennym zamknięciu po golden crossie. Rozważamy golden cross, gdy 50-dniowa średnia krocząca przekroczy 200-dniową średnią kroczącą.
  • Sprzedajemy jednego Bitcoina przy pierwszym dziennym zamknięciu po death crossie. Rozważamy death cross, gdy 200-dniowa średnia krocząca przebije się się poniżej 50-dniowej średniej kroczącej.

Jak widać, zdefiniowaliśmy również ramy czasowe, w których strategia jest wykonywana. Oznacza to, że nie uznamy tego za sygnał handlowy, jeśli na 4-godzinnym wykresie pojawi się golden cross.

Na potrzeby tego przykładu przyjrzymy się tylko okresowi do początku 2019 r. Jeśli jednak chcesz uzyskać dokładniejsze i bardziej wiarygodne wyniki, możesz cofnąć się znacznie dalej, mówiąc w kategoriach akcji cenowej Bitcoina.

Zobaczmy teraz, jakie sygnały handlowe wygenerował ten system w danym okresie:

  • Kup za ~$5,400
  • Sprzedaj za ~$9,200
  • Kup za ~$9,600
  • Sprzedaj za ~$6,700
  • Kup za ~$9,000


Oto jak nasze sygnały prezentują się na wykresie:

Strategia golden cross-death cross. Źródło: TradingView.


Nasza pierwsza transakcja przyniosłaby zysk w wysokości około $3800, podczas gdy druga transakcja przyniosłaby stratę w wysokości około $2900. Oznacza to, że nasze zrealizowane PnL wynosi obecnie $900.

Jesteśmy również w aktywnym handlu, który na grudzień 2020 r. ma niezrealizowany zysk w wysokości około $9000. Jeśli będziemy trzymać się naszej wstępnie zdefiniowanej strategii, zakończymy tę transakcję, gdy nastąpi następny death cross.



Ewaluacja wyników backtestingu

Więc co pokazują te wyniki? Nasza strategia przyniosłaby rozsądny zwrot, ale jak dotąd nie pokazuje niczego wyjątkowego. Moglibyśmy zrealizować obecnie otwartą transakcję, co drastycznie zwiększyłoby nasz zrealizowany PnL, ale to zniweczyłoby cel backtestingu. Jeśli nie będziemy trzymać się planu, wyniki również nie będą wiarygodne.

Mimo że jest to systematyczna strategia, warto również wziąć pod uwagę kontekst. Nierentowna transakcja z $9600 do $6700 miała miejsce w czasie crashu związanego z COVID-19 w marcu 2020 r. Taki czarny łabądź może mieć ogromny wpływ na każdy system handlowy. To kolejny powód, dla którego warto cofnąć się dalej, aby sprawdzić, czy ta strata jest wartością odstającą od normy, czy tylko efektem ubocznym strategii.
W każdym razie tak może wyglądać prosty proces backtestingu. Ta strategia może być obiecująca, jeśli cofniemy się jeszcze bardziej i przetestujemy ją z większą ilością danych lub uwzględnimy inne wskaźniki techniczne, aby potencjalnie wzmocnić wytwarzane przez nią sygnały.

Ale co jeszcze mogą Ci pokazać wyniki backtestingu?

  • Pomiar zmienności: twoje maksymalne i minimalne osiągnięte wartości.
  • Ekspozycja: kwota kapitału, jaką musisz przeznaczyć na strategię z całego Twojego portfolio.
  • Roczny zwrot: roczny procentowy zwrot ze strategii.
  • Współczynnik zwycięstw do porażek: ile transakcji w systemie jest zwycięskich a ile przegranych.
To tylko kilka przykładów i nie jest to wyczerpująca lista. To, jakie dane chcesz śledzić, zależy wyłącznie od Ciebie. W każdym razie im więcej szczegółów na temat konfiguracji zapiszesz, tym więcej możliwości będziesz musiał wziąć pod uwagę podczas analizy wyników. Niektórzy traderzy są bardzo rygorystyczni w przeprowadzaniu analiz historycznych i może to również odbijać się na ich wynikach.
Ostatnią rzeczą godną rozważenia jest optymalizacja. Jeśli przeczytałeś nasz artykuł o backtestingu, będziesz wiedział, jaka jest różnica między analizą historyczną a forward testingiem lub handlem na papierze. Pomocne może być przetestowanie i optymalizacja pomysłów w "żywym" środowisku handlowym, takim jak testnet Binance Futures.


Przemyślenia końcowe

Przeszliśmy przez podstawowy proces przeprowadzania ręcznego backtestu strategii handlowej. Pamiętaj, że wyniki osiągnięte w przeszłości nie gwarantują przyszłych wyników.

Środowiska rynkowe zmieniają się i będziesz musiał dostosować się do tych zmian, jeśli chcesz poprawić swój handel. Ogólnie rzecz biorąc, nie warto też ślepo ufać danym. Zdrowy rozsądek może być zaskakująco przydatnym narzędziem do oceny rezultatów.

Nadal masz pytania dotyczące backtestingu i krypto? Sprawdź naszą platformę pytań i odpowiedzi Zapytaj Akademię, gdzie społeczność Binance odpowie na Twoje pytania.