Masz już czysty wynik: twoja strategia krypto przynosi większość zysków między 13:00 a 14:00 UTC. Sprawdziłeś opłaty, ponownie uruchomiłeś backtest i przetestowałeś sygnał na koncie demo. Teraz przygotowujesz wersję dla amerykańskich akcji i okazuje się, że najlepsza godzina przypada między 09:30 a 10:30 czasu nowojorskiego.
Zanim zaufasz któremukolwiek z tych wyników, sprawdź, co zrobił zegar. W USA zmiana czasu na letni przesuwa otwarcie sesji w Nowym Jorku o godzinę względem UTC. Jeśli twoje cechy, oznaczenia sesji i zlecenia korzystają z różnych definicji czasu, strategia może wykorzystywać granicę kalendarzową zamiast powtarzalnego wzorca rynkowego.
Nie musisz rezygnować z badań nad porą dnia. Musisz określić, którego zegara dotyczy twoja hipoteza, a następnie konsekwentnie stosować go w każdej części backtestu.
Najpierw określ, co oznacza ta godzina
„Pierwsza godzina” brzmi precyzyjnie, dopóki nie określisz zegara odniesienia. Może oznaczać pierwsze 60 minut po otwarciu NYSE, przedział 09:30–10:30 według czasu lokalnego w Nowym Jorku albo stały przedział UTC. Te definicje są zgodne przez część roku, ale rozchodzą się w okolicach zmiany czasu.
W hipotezie dotyczącej akcji użyj lokalnego czasu sesji giełdowej: 09:30 czasu nowojorskiego oznacza 09:30 zarówno wtedy, gdy w Nowym Jorku obowiązuje EST, jak i EDT. W hipotezie dotyczącej krypto zamierzonym czynnikiem może być stała godzina UTC. Kryptowalutami handluje się przez całą dobę, więc nie ma otwarcia giełdy, do którego można odnieść tę tezę.
Zapisz definicję, zanim zaczniesz dostrajać strategię. „Handluj w pierwszej godzinie po otwarciu regularnej sesji” to hipoteza, którą można sprawdzić. „Handluj w godzinie, w której sygnał działa najlepiej” pozwala optymalizatorowi dobrać konwencję czasu razem ze strategią.
Gdzie pojawiają się niezgodności zegarów
Załóżmy, że dane giełdowe przechowujesz w UTC, kod cech grupuje wiersze według godzin UTC, a reguły realizacji zleceń otwierają pozycje o 09:30 czasu nowojorskiego. Po zmianie czasu na letni otwarcie rynku przesuwa się z 14:30 UTC na 13:30 UTC. Cecha oznaczona jako „pierwsza godzina” według przedziału UTC odnosi się teraz do innego fragmentu sesji.
Podobna pułapka kryje się w tworzeniu świec ze znaczników czasu. Jeśli agregujesz dane w UTC, a potem przeliczasz etykiety na czas nowojorski, możesz otrzymać nieoczekiwane granice, zwłaszcza podczas wiosennej zmiany, gdy jedna godzina lokalna nie istnieje, oraz jesiennej, gdy jedna godzina lokalna występuje dwukrotnie. Znacznik 01:30 czasu lokalnego jest niejednoznaczny w tę jesienną niedzielę, chyba że zawiera przesunięcie względem UTC albo jest zapisany w UTC.
Wynik dotyczący krypto również może zależeć od kalendarza. Strategia oparta na godzinie UTC może przez wiele miesięcy pokrywać się z aktywnością na rynku amerykańskim, a potem pozornie przesunąć się po zmianie czasu w USA. To nie unieważnia strategii, ale zmienia to, co możesz o niej powiedzieć. Być może zmierzyłeś stały wzorzec UTC, który czasami pokrywa się z otwarciem rynku w USA, a nie efekt związany z tym otwarciem.
Uwzględnij zegar sesji w teście
Przechowuj znaczniki czasu zdarzeń w UTC jako kanoniczny zapis. Wyprowadzaj pola lokalnej sesji z nazwanej strefy czasowej, takiej jak America/New_York, korzystając z bazy stref czasowych, która obsługuje historyczne zmiany reguł. Nie wpisuj na sztywno „UTC minus pięć” ani „UTC minus cztery”: żadne z tych przesunięć nie określa całorocznego czasu w Nowym Jorku.
| Decyzja | Przykład dla akcji | Przykład dla krypto |
|---|---|---|
| Zegar hipotezy | Minuty od otwarcia regularnej sesji | Godzina UTC |
| Źródło sesji | Kalendarz giełdowy, uwzględniający święta i skrócone sesje | Ciągły kalendarz UTC |
| Moment złożenia zlecenia | Następne zdarzenie umożliwiające realizację po sygnale | Następne zdarzenie umożliwiające realizację po sygnale |
Następnie przetestuj osobno tygodnie, w których zmienia się czas. Porównaj wyniki przed każdą zmianą i po niej, a potem sprawdź, czy najlepszy przedział pozostaje powiązany z sesją rynkową, czy też jest stały względem UTC. Jeśli przeszukałeś wiele godzin, dat i przesunięć, żeby znaleźć najlepszy wynik, uwzględnij ten proces w ocenie przeuczenia — wybór zegara był kolejną próbą.
Strefa czasowa to zestaw reguł, a nie liczba godzin do odjęcia. Zapisuj zdarzenia w UTC; lokalny czas rynku wyliczaj wtedy, gdy go potrzebujesz.
Co powinien potwierdzić test na koncie demo
Uruchamiając strategię na koncie demo, zapisuj zarówno znacznik czasu zdarzenia w UTC, jak i minutę liczoną od początku sesji. Dzięki temu szybko wykryjesz, że strategia uznaje 09:30 za godzinę otwarcia, ale w rzeczywistości uruchamia się o 10:30 czasu lokalnego. Sprawdzaj też święta i skrócone sesje; skopiowany na każdy dzień tygodnia harmonogram zwykłej sesji bez problemu wygeneruje transakcje w dni, kiedy giełda jest zamknięta.
Gdy zmieni się czas, oprzyj się pokusie „naprawiania” wyniku przez przesunięcie sygnału, aż krzywa kapitału znów będzie wyglądać znajomo. Najpierw zweryfikuj sformułowaną hipotezę, kalendarz i moment składania zleceń. Jeśli wynik przesuwa się wraz z sesją rynkową, dowiedziałeś się czegoś o zachowaniu podczas sesji. Jeśli pozostaje przy tej samej godzinie UTC, dowiedziałeś się czegoś innego. Backtest powinien zachować to rozróżnienie.
← Wszystkie wpisy


