Przykład praktyki testowania strategii na danych historycznych (z jawnymi założeniami)
Bezpośrednia odpowiedź: czym jest przykład praktyki testowania strategii na danych historycznych
Przykład praktyki testowania strategii na danych historycznych pokazuje krok po kroku, jak zastosować jasno zdefiniowaną regułę do danych historycznych, aby oszacować, co mogłoby się wydarzyć. „Testowanie na danych historycznych” oznacza tutaj symulowanie decyzji na podstawie przeszłych obserwacji, bez zakładania, że przyszłe wyniki będą odpowiadać historii. „Praktyka” oznacza, że rejestrujesz każde założenie, aby inna osoba mogła odtworzyć te same obliczenia i sprawdzić, skąd pochodzi wynik.
Mechanizm i definicja: co robisz podczas testowania na danych historycznych
Praktyka testowania na danych historycznych zazwyczaj obejmuje pięć elementów:
- Regułę decyzyjną: dokładnie kiedy wchodzisz/wychodzisz z pozycji (lub jak obliczasz prognozę/wynik).
- Zbiór danych: historyczne szeregi czasowe ze spójnymi znacznikami czasu.
- Model transakcyjny: jak realizowane są zlecenia (np. przy użyciu otwarcia następnej świecy) i jak uwzględniasz spread.
- Model kosztów: prowizje, opłaty i założenia dotyczące spreadu.
- Metrykę: co mierzysz (np. skumulowany zwrot, maksymalne obsunięcie kapitału, wskaźnik trafności lub średni zwrot na transakcję).
Stabilna mechanika: przepływ pracy (zdefiniuj regułę → wybierz przedział danych → zasymuluj realizację → oblicz metryki → udokumentuj) pozostaje taki sam. Zmienne warunki: reżim rynkowy, jakość danych, szczegóły realizacji i koszty mogą się zmieniać i mogą mieć dominujący wpływ na wyniki.
Przykład praktyczny (scenariusz liczbowy) z jawnymi założeniami
Załóżmy, że celem jest ocena prostej reguły do celów edukacyjnych. Nie jest to rekomendacja i wykorzystuje uproszczenia przypominające dane syntetyczne, aby założenia były jawne.
Reguła („jeśli-to”)
Każdego dnia utrzymujesz pozycję przez dokładnie 1 dzień. Pozycja jest albo „długa” (ekspozycja), albo „zerowa” (brak ekspozycji). Reguła decyzyjna jest następująca:
- Jeśli zamknięcie z poprzedniego dnia jest wyższe niż zamknięcie z dwóch dni temu, otwórz długą pozycję na następny dzień.
- W przeciwnym razie pozostań poza rynkiem na następny dzień.
Zbiór danych (obserwacje historyczne)
Użyj sześciu kolejnych codziennych obserwacji (Dzień 0 do Dnia 5). Załóż, że poniższe zamknięcia są „znanymi” cenami historycznymi do testowania:
- Zamknięcie Dnia 0: 100
- Zamknięcie Dnia 1: 102
- Zamknięcie Dnia 2: 101
- Zamknięcie Dnia 3: 103
- Zamknięcie Dnia 4: 104
- Zamknięcie Dnia 5: 102
Obliczymy decyzje dla Dni 2–5, ponieważ reguła wymaga Dnia t-2.
Założenia dotyczące realizacji i kosztów
Te założenia determinują symulowany zwrot.
- Cena wejścia: otwarcie następnego dnia równa się zamknięciu tego dnia (uproszczenie). Eliminuje to niepewność wewnątrzdniową.
- Cena wyjścia: zamknięcie następnego dnia równa się zamknięciu kolejnego dnia (ponieważ okres utrzymywania pozycji wynosi 1 dzień).
- Spread i prowizja: całkowity koszt transakcyjny wynosi stałe 0,1% wartości nominalnej każdego dnia, w którym jesteś na długiej pozycji. Jeśli pozycja jest zerowa, koszt wynosi 0%.
- Brak ograniczeń dźwigni, brak odsetek od depozytu zabezpieczającego i brak poślizgu poza modelem kosztów.
Definicja metryki
Oblicz „dzienny zwrot netto” od wartości nominalnej:
- Jeśli pozycja długa w dniu t: zwrot netto = (Zamknięcie(t) / Zamknięcie(t-1)) − 1 − 0,001
- Jeśli pozycja zerowa: zwrot netto = 0
Symulacja krok po kroku
Decyzje:
- Dla decyzji Dnia 2: porównaj zamknięcie Dnia 1 (102) z zamknięciem Dnia 0 (100). 102 > 100 → otwórz długą pozycję w Dniu 2.
- Dla decyzji Dnia 3: porównaj zamknięcie Dnia 2 (101) z zamknięciem Dnia 1 (102). 101 > 102 jest fałszem → pozycja zerowa w Dniu 3.
- Dla decyzji Dnia 4: porównaj zamknięcie Dnia 3 (103) z zamknięciem Dnia 2 (101). 103 > 101 → otwórz długą pozycję w Dniu 4.
- Dla decyzji Dnia 5: porównaj zamknięcie Dnia 4 (104) z zamknięciem Dnia 3 (103). 104 > 103 → otwórz długą pozycję w Dniu 5.
Oblicz zwroty netto:
- Dzień 2 (długa pozycja): Zamknięcie(2)/Zamknięcie(1) − 1 − 0,001 = 101/102 − 1 − 0,001 ≈ −0,0098039 − 0,001 = −0,0108039 (≈ −1,08%)
- Dzień 3 (pozycja zerowa): netto = 0
- Dzień 4 (długa pozycja): 104/101 − 1 − 0,001 = 0,0297029 − 0,001 ≈ 0,0287029 (≈ +2,87%)
- Dzień 5 (długa pozycja): 102/104 − 1 − 0,001 = −0,0192308 − 0,001 ≈ −0,0202308 (≈ −2,02%)
Skumulowana prosta suma (ponieważ ten przykład używa małych liczb i ma charakter poglądowy): całkowity zwrot netto ≈ −1,08% + 0% + 2,87% − 2,02% ≈ −0,23% w ocenianym okresie.
Czego uczy ten przykład: wynik jest generowany mechanicznie na podstawie twojej reguły, twoich danych oraz twoich jawnych założeń dotyczących realizacji i kosztów.
Ograniczenia i sposoby niepowodzenia (co może pójść nie tak)
- Przetrenowanie: jeśli reguła jest zbyt dokładnie dopasowana do przeszłych danych (wiele parametrów, wiele testów), może dobrze wyglądać historycznie, ale zawieść gdzie indziej. 2) Realizm realizacji: zakładanie idealnego wypełnienia zleceń lub uproszczonej wyceny może zawyżać wyniki.