Przykład zrealizowanego backtestu (z wyraźnymi założeniami)

Poznaj praktykę backtestingu na przykładzie zrealizowanym i z założeniami.

Bezpośrednia odpowiedź: czym jest przykład zrealizowanego backtestu

Przykład zrealizowanego backtestu pokazuje krok po kroku, jak zastosować jasno zdefiniowaną regułę do danych historycznych, aby oszacować, co by się wydarzyło. „Backtesting” w tym kontekście oznacza symulowanie decyzji na podstawie wcześniejszych obserwacji, bez zakładania, że przyszłe wyniki będą zgodne z historią. „Praktyka” oznacza, że zapisujesz każde założenie, aby inna osoba mogła odtworzyć te same obliczenia i sprawdzić, skąd bierze się wynik.

Mechanizm i definicja: co robisz w backteście

Praktyka backtestingu zazwyczaj ma pięć wejść:

  1. Reguła decyzyjna: dokładnie kiedy wchodzisz/wychodzisz (lub jak obliczasz prognozę/ocenę).
  2. Zbiór danych: historyczna seria czasowa z konsekwentnymi znacznikami czasu.
  3. Model handlowy: jak realizują się zlecenia (np. z użyciem otwarcia następnej świecy) i jak obsługujesz spread.
  4. Model kosztów: prowizje, opłaty i założenia dotyczące spreadu.
  5. Metryka: co mierzysz (np. skumulowany zwrot, maksymalny spadek, skuteczność, albo średni zwrot na transakcję).

Stabilne mechanizmy: workflow (zdefiniuj regułę → wybierz okno danych → zasymuluj realizacje → policz metryki → udokumentuj) pozostaje takie samo. Zmienne warunki: reżim rynkowy, jakość danych, szczegóły realizacji i koszty mogą się zmieniać i mogą dominować nad wynikami.

Przykład zrealizowany (scenariusz liczbowy) z wyraźnymi założeniami

Załóżmy, że celem jest ocena prostej reguły do celów edukacyjnych. To nie jest rekomendacja i wykorzystuje uproszczenia „syntetyczne”, aby założenia były wyraźne.

Reguła („jeśli–wtedy”)

Dla każdego dnia utrzymujesz pozycję dokładnie przez 1 dzień. Pozycja jest albo „long” (ekspozycja), albo „flat” (brak ekspozycji). Reguła decyzyjna jest następująca:

  • Jeśli zamknięcie poprzedniego dnia jest wyższe niż zamknięcie sprzed dwóch dni, zajmij ekspozycję long na następny dzień.
  • W przeciwnym razie bądź flat na następny dzień.

Zbiór danych (obserwacje historyczne)

Użyj sześciu kolejnych dziennych obserwacji (Dzień 0 do Dzień 5). Załóżmy, że poniższe zamknięcia są „znanymi” cenami historycznymi do backtestingu:

  • Zamknięcie Dzień 0: 100
  • Zamknięcie Dzień 1: 102
  • Zamknięcie Dzień 2: 101
  • Zamknięcie Dzień 3: 103
  • Zamknięcie Dzień 4: 104
  • Zamknięcie Dzień 5: 102

Policzymy decyzje dla Dni 2–5, ponieważ reguła potrzebuje Dnia t-2.

Założenia dot. realizacji i kosztów

Te założenia określają zasymulowany zwrot.

  • Cena wejścia: otwarcie następnego dnia jest równe temu zamknięciu tego dnia (uproszczenie). Usuwa to niepewność śród-dzienną.
  • Cena wyjścia: zamknięcie kolejnego dnia jest równe zamknięciu następnego dnia (ponieważ okres utrzymania wynosi 1 dzień).
  • Spread i prowizja: łączny koszt handlu jest stały i wynosi 0.1% wartości nominalnej każdego dnia, w którym jesteś long. Jeśli jesteś flat, koszt wynosi 0%.
  • Brak ograniczeń dźwigni, brak odsetek od depozytu zabezpieczającego i brak poślizgu poza modelem kosztów.

Definicja metryki

Policz „net daily return” na wartości nominalnej:

  • Jeśli long w dniu t: net return = (Close(t) / Close(t-1)) − 1 − 0.001
  • Jeśli flat: net return = 0

Symulacja krok po kroku

Decyzje:

  • Dla decyzji Dzień 2: porównaj zamknięcie Dzień 1 (102) z zamknięciem Dzień 0 (100). 102 > 100 → idź long w Dzień 2.
  • Dla decyzji Dzień 3: porównaj zamknięcie Dzień 2 (101) z zamknięciem Dzień 1 (102). 101 > 102 jest fałszywe → flat w Dzień 3.
  • Dla decyzji Dzień 4: porównaj zamknięcie Dzień 3 (103) z zamknięciem Dzień 2 (101). 103 > 101 → long w Dzień 4.
  • Dla decyzji Dzień 5: porównaj zamknięcie Dzień 4 (104) z zamknięciem Dzień 3 (103). 104 > 103 → long w Dzień 5.

Policz net returns:

  • Dzień 2 (long): Close(2)/Close(1) − 1 − 0.001 = 101/102 − 1 − 0.001 ≈ −0.0098039 − 0.001 = −0.0108039 (≈ −1.08%)
  • Dzień 3 (flat): net = 0
  • Dzień 4 (long): 104/101 − 1 − 0.001 = 0.0297029 − 0.001 ≈ 0.0287029 (≈ +2.87%)
  • Dzień 5 (long): 102/104 − 1 − 0.001 = −0.0192308 − 0.001 ≈ −0.0202308 (≈ −2.02%)

Skumulowana prosta suma (ponieważ w tym przykładzie użyto małych liczb i ma on charakter ilustracyjny): łączny net return ≈ −1.08% + 0% + 2.87% − 2.02% ≈ −0.23% w ocenianym okresie.

Czego uczy ten przykład zrealizowany: wynik powstaje mechanicznie z Twojej reguły, Twoich danych oraz Twoich wyraźnych założeń dot. realizacji/kosztów.

Ograniczenia i tryby awarii (co może pójść nie tak)

  1. Nadmierne dopasowanie: jeśli reguła jest zbyt ściśle dopasowana do danych z przeszłości (wiele przełączników, wiele testów), może wyglądać dobrze historycznie, ale zawieść gdzie indziej. 2) Realizm realizacji: założenie idealnych wypełnień lub uproszczonej wyceny może wyolbrzymiać wyniki.

DOCUMENT END

Handel walutami i kontraktami CFD wiąże się ze znacznym ryzykiem. Informacje FoxiForex mają charakter edukacyjny i nie są osobistą poradą finansową. Materiały sponsorowane są wyraźnie oznaczone.