Niezawodne wykrywanie wartości odstających w okresach finansowych

16

Szukam pewnych niezawodnych technik usuwania wartości odstających i błędów (bez względu na przyczynę) z danych finansowych szeregów czasowych (tj. Tickdata).

Dane finansowe szeregów czasowych od tyknięcia do tyka są bardzo nieporządne. Zawiera ogromne przerwy (czasowe), gdy giełda jest zamknięta, i wykonuje ogromne skoki, gdy giełda ponownie się otwiera. Gdy giełda jest otwarta, wszelkiego rodzaju czynniki wprowadzają transakcje na poziomach cen, które są nieprawidłowe (nie wystąpiły) i / lub nie są reprezentatywne dla rynku (skok z powodu nieprawidłowo wprowadzonej oferty lub ceny sprzedaży). Ten artykuł autorstwa tickdata.com (PDF) dobrze opisuje problem, ale oferuje kilka konkretnych rozwiązań.

Większość dokumentów, które mogę znaleźć w Internecie, które wspominają o tym problemie, albo go ignorują (zakłada się, że tickdata została odfiltrowana), albo zawierają filtrowanie jako część jakiegoś ogromnego modelu handlowego, który ukrywa wszelkie użyteczne kroki filtrowania.

Czy ktoś jest świadomy bardziej dogłębnej pracy w tym obszarze?

Aktualizacja: te pytania wydają się podobne na powierzchni, ale:

  • Finansowe szeregi czasowe są (przynajmniej na poziomie tyknięcia) nieokresowe.
  • Efekt otwarcia jest dużym problemem, ponieważ nie możesz po prostu użyć danych z ostatniego dnia jako inicjalizacji, nawet jeśli naprawdę tego chcesz (bo inaczej nie masz nic). Zdarzenia zewnętrzne mogą spowodować, że otwarcie nowego dnia będzie się znacznie różnić zarówno pod względem poziomu bezwzględnego, jak i zmienności z poprzedniego dnia.
  • Bardzo nieregularna częstotliwość przychodzących danych. Przy otwarciu i zamknięciu dnia ilość punktów danych na sekundę może być 10 razy większa niż średnia w ciągu dnia. Drugie pytanie dotyczy regularnie pobieranych danych.
  • „Wartości odstające” w danych finansowych wykazują pewne specyficzne wzorce, które można wykryć za pomocą konkretnych technik, które nie mają zastosowania w innych domenach, a ja częściowo szukam tych konkretnych technik.
  • W bardziej ekstremalnych przypadkach (np. Awaria pamięci flash) wartości odstające mogą stanowić ponad 75% danych w dłuższych odstępach czasu (> 10 minut). Ponadto (wysoka) częstotliwość przychodzących danych zawiera pewne informacje o odbiegającym aspekcie sytuacji.
Jilles de Wit
źródło
1
Nie sądzę, że jest to duplikat ze względu na charakter danych. Problem omawiany w drugim pytaniu dotyczył regularnie obserwowanych szeregów czasowych z okazjonalnymi wartościami odstającymi (przynajmniej tak to interpretowałem). Charakter danych tykających po tyknięciu prowadziłby do różnych rozwiązań ze względu na efekt otwarcia giełdy.
Rob Hyndman
możliwy duplikat Prostego algorytmu do detekcji wartości odstających online ogólnych szeregów czasowych To pytanie proponuje się zamknąć jako duplikat. Czy możesz dać nam znać w meta wątku, jeśli i w jaki sposób twój kontekst różni się od pytania, które podłączyłem?
@Rob Ale efekt otwarcia giełdy określa tylko, kiedy trzeba uruchomić algorytm. Podstawowa kwestia pozostaje ta sama. Nawet w przypadku danych sieciowych masz „efekt otwarcia biura”, w którym ruch osiąga szczyt po otwarciu biura. Przynajmniej PO powinien link do tego pytania, zeskanować tam odpowiedzi i wyjaśnić, dlaczego tamtejsze rozwiązania nie działają, aby można było opublikować odpowiednią odpowiedź na to pytanie.
1
Zgadzam się z @Rob. Tego rodzaju dane mogą stanowić wyjątkowe wyzwania, więc nie jest to duplikat.
Shane
1
Myślę, że należy tutaj. Pytanie dotyczy analizy szeregów czasowych o nieregularnych odstępach i bardzo hałaśliwych. Czy oglądałeś „Wprowadzenie do finansów wysokiej częstotliwości” Dacorogny, Olsena i wielu innych? Czy prace tych samych autorów?
PeterR

Odpowiedzi:

14

Problem jest zdecydowanie trudny .

Mechaniczne zasady Podobnie jak +/- N1 razy odchyleń standardowych, lub + / N2 razy MAD, lub +/- N3 IQR albo ... będzie zawieść bo zawsze są jakieś serie, które są różne, jak na przykład:

  • korekty, takie jak stopa międzybankowa, mogą być stałe przez pewien czas, a następnie nagle skakać
  • podobnie w przypadku np. niektórych walut obcych wychodzących z kołka
  • niektóre instrumenty są domyślnie rozprzestrzeniane; mogą one być bliskie zeru dla okresów i nagle

Byłem tam, zrobiłem to, ... w poprzedniej pracy. Możesz spróbować uzupełnić każdą serię za pomocą statków relacji arbitrażowych ( np. Zakładając, że USD / EUR i EUR / JPY są uważane za dobre, możesz wypracować przedziały wokół tego, jaka powinna być USD / JPY; podobnie dla instrumentów pochodnych od bazowych itp. Pp.

Dostawcy danych komercyjnych starają się w tym celu, a ci, którzy są ich klientami, wiedzą… nadal nie wyklucza to błędów.

Dirk Eddelbuettel
źródło
+1 tak, nic nie jest idealne. Tickdata.com (o której wspomniano) zawiera także wartości odstające i usuwają zbyt wiele dobrych danych (w porównaniu z innym źródłem). Dane Olsena są bliskie bycia strasznymi, a ja generalnie tylko orientacyjny. Istnieje powód, dla którego banki płacą dużym zespołom operacyjnym za pracę nad tym.
Shane
Podoba mi się twój pomysł wykorzystania znanych relacji arbitrażowych. czy w ogóle próbowałeś tego w swojej poprzedniej pracy?
jilles de wit
Nie, nigdy nie sformalizowaliśmy tego w pełni. Ale myślę, że użyliśmy kilku prostych (np. ETF vs. bazowy indeks itp.). Minęło jednak kilka lat.
Dirk Eddelbuettel
8

Dodam referencje w formie papierowej, gdy wrócę do komputera, ale oto kilka prostych sugestii:

Zdecydowanie zacznij od pracy ze zwrotami. Jest to bardzo ważne, aby poradzić sobie z nieregularnymi odstępami, w których można naturalnie uzyskać duże różnice cenowe (szczególnie w weekendy). Następnie możesz zastosować prosty filtr, aby usunąć zwroty znacznie poza normą (np. W porównaniu z dużą liczbą odchyleń standardowych). Zwroty dostosują się do nowego poziomu bezwzględnego, więc duże rzeczywiste zmiany spowodują utratę tylko jednego tiku. Sugeruję użycie filtra dwuprzebiegowego ze zwrotami pobranymi z 1 kroku n kroków, aby poradzić sobie z klastrami wartości odstających.

Edycja 1: Jeśli chodzi o wykorzystanie cen zamiast zwrotów: ceny aktywów zwykle nie są stacjonarne, więc IMO może stanowić dodatkowe wyzwanie. Aby uwzględnić skutki dotyczące nieregularności i mocy, doradziłbym jakąś korektę, jeśli chcesz uwzględnić je w swoim filtrze. Możesz skalować zmiany cen według przedziału czasu lub według zmienności. Możesz odnieść się do literatury „zrealizowanej zmienności” w celu omówienia tego. Omówiono także w Dacorogna i in. glin.

Aby uwzględnić zmiany zmienności, możesz spróbować oprzeć obliczenia zmienności o tej samej porze dnia w ciągu ostatniego tygodnia (wykorzystując sezonowość).

Shane
źródło
Używając tylko zwrotów, stajesz się bardzo wrażliwy na drabiny (tj. Sekwencję cen, która rośnie lub spada poza normę, gdzie każdy indywidualny zwrot jest akceptowalny, ale jako grupa stanowią wartość odstającą). Idealnie byłoby użyć zarówno zwrotu, jak i poziomu bezwzględnego.
jilles de wit
5

Zmieniłem (z pewnym opóźnieniem) moją odpowiedź, aby wyrazić twoje obawy związane z brakiem „możliwości dostosowania” bezwarunkowego wariata / mediany.

(μ^t,σ^t) , które nie są takie same jak te produkowane przez zwykłego GARCH dopasowanie. W szczególności nie kieruje nimi kilka odległych wartości odstających. Ponieważ te szacunki nie są przez nich oparte, można ich użyć do wiarygodnego oznaczenia wartości odstających, korzystając z historycznego rozkładu

xt-μ^tσ^t

Możesz znaleźć więcej informacji (i link do pakietu R) w tym dokumencie :

Boudt, K. i Croux, C. (2010). Solidne oszacowanie M wielowymiarowych modeli GARCH.

użytkownik603
źródło
Próbowałem czegoś takiego, ale ta metoda nie jest zbyt dobra w radzeniu sobie z nagłymi zmianami zmienności. Prowadzi to do niedostatecznego filtrowania w cichych okresach i do nadmiernego filtrowania w bardziej obciążonych czasach.
jilles de wit
Nie rozumiem tego: „To prowadzi do niedostatecznego filtrowania w spokojnych okresach i nadmiernego filtrowania w bardziej obciążonych czasach”. Chcesz wyjaśnić?
user603,
W spokojnych okresach zmienność cen jest zwykle niższa, więc ceny bliższe średniej można uznać za wartości odstające. Ponieważ jednak używasz MAD przez (przypuszczalnie) przez cały dzień handlowy (lub nawet dłużej), wartości odstające są mniej niż 3 MAD od mediany i nie będą filtrowane. Odwrotna sytuacja obowiązuje w okresach intensywnego użytkowania z wyższymi ruchami cen (ruchy cen dopuszczalne będą filtrowane). Tak więc problem sprowadza się do właściwego oszacowania MAD przez cały czas, co jest problemem na początek.
jilles de wit