Filtr CUSUM: próbkowanie zdarzeń na rynkach finansowych
Dowiedz się, jak symetryczny filtr CUSUM zamienia logarytmiczne stopy zwrotu w znaczniki czasu zdarzeń, jak wybierać stałe i dynamiczne progi oraz unikać look-ahead.
W tym przewodnikuNa jakie pytanie odpowiada filtr CUSUM
Krótkie podsumowanie
Filtr CUSUM zapisuje chwilę, w której kolejne logarytmiczne stopy zwrotu o tym samym znaku skumulują się powyżej progu. Wynikiem są znaczniki czasu zdarzeń służące do budowy próby, a nie prognoza kierunku ceny, etykieta wyniku ani gwarancja stacjonarności rynku.
Na jakie pytanie odpowiada filtr CUSUM
Jeśli model dostaje jeden wiersz na każdą sesję, okresy bez istotnych zmian mogą zdominować próbę. Filtr CUSUM według określonej reguły wybiera chwile, w których ruchy w jednym kierunku skumulowały się do odpowiedniej wielkości. Nadal sprawdzany jest każdy zwrot, ale jako zdarzenia zapisywane są tylko bary spełniające warunek. „Filtr” oznacza tu selekcję czasu obserwacji, a nie sygnał kupna lub sprzedaży.
Idea sumy kumulacyjnej (CUSUM) wywodzi się z sekwencyjnego monitorowania statystycznego. E. S. Page opisał schematy ciągłej inspekcji w artykule z 1954 roku. W finansach rozdział 2 książki Advances in Financial Machine Learning ujmuje próbkowanie jako element tworzenia struktur danych. Dokumentacja mlfinpy opisuje symetryczny filtr CUSUM wybierający bary na podstawie skumulowanych ruchów.
Oblicz dwie sumy z logarytmicznych stóp zwrotu
Dla dodatniej ceny zamknięcia (P_t) oblicz logarytmiczną stopę zwrotu (r_t=\ln(P_t/P_{t-1})). Filtr prowadzi dwie sumy, obie początkowo równe zeru: dodatnią i ujemną. Ich rekurencje to S+_t = max(0, S+_(t-1) + r_t) oraz S-_t = min(0, S-_(t-1) + r_t). Pierwsza zachowuje narastanie powyżej zera, a druga poniżej zera.
Przy symetrycznym progu (h>0) zapisuj chwilę (t), gdy S+_t > h lub S-_t < -h. Po zdarzeniu wzrostowym wyzeruj S+, a po spadkowym — S-. Następne zwroty nadal są przetwarzane. To coś innego niż wyzwalanie zdarzenia tylko wtedy, gdy pojedynczy zwrot przekracza próg: kilka małych zwrotów w tym samym kierunku może się zsumować.
Zasada dla wartości dokładnie równej progowi musi być ustalona z góry. Opis w dokumentacji mlfinpy mówi o osiągnięciu lub przekroczeniu progu, natomiast sprawdzona implementacja stosuje ścisłe porównania > i <. Gdy (S=h) dokładnie, wyniki tych konwencji są różne. Wybierz i opisz regułę równości; sama nazwa CUSUM nie określa zachowania na granicy.
Prześledź hipotetyczną ścieżkę cen
Załóżmy, że kolejne ceny zamknięcia wynoszą 100,00 → 100,20 → 100,40 → 100,60 → 100,40 → 100,20 → 100,00, a próg to (h=0,005) w jednostkach logarytmicznej stopy zwrotu, czyli 0,5%. Ceny i wyniki są wyłącznie ilustracyjne, nie są danymi rynkowymi ani cenami realizacji.
Podczas wzrostu skumulowana zmiana logarytmiczna od 100,00 do 100,60 wynosi ln(100,60 / 100,00) = 0,005982, czyli około 0,598%. Dodatnia suma przekracza próg przy zamknięciu 100,60. Ta chwila staje się zdarzeniem wzrostowym, a dodatnia suma zostaje wyzerowana. Potem cena spada. Gdy ścieżka wraca do 100,00, suma logarytmiczna od resetu wynosi ln(100,00 / 100,60) = -0,005982. Suma ujemna spada poniżej -h, więc 100,00 staje się zdarzeniem spadkowym.
Oba zdarzenia wynikają z reguły próbkowania. Pierwsze nie oznacza, że filtr prognozuje dalszy wzrost; drugie nie jest rekomendacją sprzedaży. Aby sprawdzić implementację, obliczaj zwroty i sumy bar po barze i upewnij się, że znaczniki czasu odpowiadają wybranym regułom progu oraz resetu.
Dobierz próg do skali rynku
Stały próg jest łatwy do audytu: każda suma jest porównywana z tą samą wartością (h). Jednak ruch o 0,5% może być duży na spokojnym rynku i zwyczajny przy wysokiej zmienności. Próg dynamiczny może podążać za skalą zmienności, na przykład h_t = k × σ_(t-1), gdzie (k) jest wybranym mnożnikiem, a (sigma) miarą zmienności zwrotów.
Aby uniknąć look-ahead, ustal, kiedy (sigma) jest dostępne. Jeśli decyzję o próbkowaniu podejmujesz po zamknięciu w chwili (t), próg wyznaczony na podstawie danych do (t-1) jest jasnym wyborem przyczynowym. Zachowaj spójność estymatora, okna, skali na bar lub w ujęciu rocznym oraz sposobu traktowania wartości odstających i brakujących. Nie dobieraj (k) wyłącznie dlatego, że daje atrakcyjny historyczny ciąg zdarzeń; sprawdź go poza próbą.
Zbyt niski próg tworzy wiele zdarzeń, w tym małe ruchy, które mogą zostać pochłonięte przez szum, spread, prowizje i poślizg. Zbyt wysoki próg ogranicza liczbę zdarzeń i może pomijać istotne ruchy. Nie istnieje uniwersalna wartość. Dla rozsądnego zakresu parametrów porównaj liczbę zdarzeń, odstępy między nimi, stabilność w różnych okresach i późniejsze koszty.
Zachowaj przyczynowy porządek cen i czasu
Logarytmiczna stopa zwrotu wymaga dodatniej ceny. Instrumentu, którego cena może wynieść zero lub być ujemna, nie można bezpośrednio przetwarzać logarytmem ceny. Stopa prosta lub inna transformacja zmienia skalę i zachowanie filtra, więc wymaga osobnej definicji i ponownej walidacji. Sprawdź też korekty splitów i dywidend. Cena zamknięcia skorygowana tylko o splity nie jest szeregiem całkowitego zwrotu, a ciągła seria kontraktów futures może mieć skoki rolowania, które nie są ruchem jednego zbywalnego kontraktu.
Zdarzenie wyzwolone na zamknięciu jest znane dopiero po ustaleniu ceny zamknięcia. Cechy modelu mogą korzystać z informacji faktycznie dostępnych w tym momencie lub wcześniej, ale backtest nie powinien zakładać realizacji po cenie zamknięcia, która wywołała zdarzenie, chyba że reguła wykonania i dane to uzasadniają. Często zlecenie modeluje się po cenie lub kwotowaniu po sygnale, uwzględniając spread, poślizg, wpływ na rynek, finansowanie i prowizje.
Filtr zwraca znaczniki czasu zdarzeń; nie przekształca całej historii w równomiernie rozłożone obserwacje. Bary bez zdarzeń nadal mogą być potrzebne do cech opartych na czasie, zmienności i stanie rynku. Nie stosuj wzorów zakładających równe odstępy między obserwacjami — na przykład annualizacji statystyk — bez sprawdzenia rzeczywistych odstępów i definicji horyzontu.
Rozróżnij próbkowanie, testy stabilności i etykiety wyników
Ta sama nazwa bywa używana dla różnych procedur. Opisany tu cenowy filtr CUSUM sumuje kierunkowe logarytmiczne stopy zwrotu, aby wybrać zdarzenia. Test ekonometryczny, taki jak test CUSUM stabilności regresji i reszt rekurencyjnych, bada wzorce reszt względem założenia o stabilnych parametrach regresji. To nie jest ta sama reguła próbkowania cen. Żadna z tych metod nie zapewnia stacjonarności danych lub procesu tylko dlatego, że przekroczono granicę.
Filtr nie definiuje celu uczenia. Po wybraniu czasu zdarzenia cechy powinny korzystać wyłącznie z informacji dostępnych wtedy. Etykieta (y) jest budowana osobno na podstawie przyszłego wyniku według jawnej reguły. Metoda triple barrier do etykietowania zdarzeń finansowych odpowiada na inne pytanie: która bariera zostanie osiągnięta jako pierwsza po zdarzeniu. CUSUM nie przypisuje tej etykiety automatycznie, nie prognozuje kierunku i nie gwarantuje płynności ani zysku.
Podczas walidacji odtwórz każdy próg wyłącznie z danych dostępnych w danym momencie, zachowaj porządek czasowy i zapobiegaj przeciekowi informacji przez nakładające się przedziały etykiet. Uwzględnij spread bid-ask, prowizje, finansowanie, poślizg, pojemność i opóźnienie między sygnałem a realizacją. Mniejsza liczba zdarzeń nie dowodzi lepszej strategii; miary i założenia dotyczące realizacji powinny pasować do planowanego zastosowania.
Częste pytania
Q1Czy filtr CUSUM jest tym samym co ekonometryczny test CUSUM?
Nie. Filtr z tego artykułu sumuje logarytmiczne stopy zwrotu cen, aby wybrać zdarzenia. Test CUSUM regresji korzysta z reszt rekurencyjnych i ocenia stabilność modelu według własnych założeń i wartości krytycznych.
Q2Czy próg 0,5% nadaje się na każdy rynek?
Nie. Częstotliwość uruchamiania stałego progu zależy od zmienności, częstotliwości barów i instrumentu. Porównuj stałe i dynamiczne progi, korzystając z informacji dostępnych przyczynowo i uwzględniając późniejsze koszty.
Q3Czy znacznik czasu CUSUM oznacza realizację zlecenia po cenie zamknięcia?
Nie. Znacznik jest znany dopiero po udostępnieniu ceny zamknięcia. Symuluj wysłanie i realizację zlecenia po wyzwoleniu, używając odpowiednich danych i założeń kosztowych.
Źródła i dalsza lektura
Zgłoś problem
Przygotujemy e-mail z linkiem do tego artykułu. Mark otrzyma zgłoszenie dopiero po jego wysłaniu
Szybki test
Przeczytano? Sprawdź się w 3 pytaniach
Pytanie 01
Kiedy filtr CUSUM zapisuje bar jako zdarzenie?
Wybierz odpowiedź, aby zobaczyć wyjaśnienie
Słownik opcji
The current IV's position between a lookback-period low and high; one outlier can distort it, so it should not be read as a standalone signal.
Czytaj szczegółowy przewodnikIV percentileThe percentage of observations in a lookback window below the current IV; the result depends on the data series, window, and treatment of missing or extreme values.
Czytaj szczegółowy przewodnikVIXA constant 30-day expected-volatility measure for the S&P 500 calculated from a strip of SPX option prices; it is not the IV of an individual stock or contract.
Czytaj szczegółowy przewodnik