Spørgsmål:
Robust afsløring af outlier i økonomiske tidsserier
jilles de wit
2010-08-04 15:02:35 UTC
view on stackexchange narkive permalink

Jeg leder efter nogle robuste teknikker til at fjerne outliers og fejl (uanset årsagen) fra økonomiske tidsseriedata (dvs. tickdata).

Tick-by-tick finansielle tidsseriedata er meget rodet. Den indeholder enorme (tids) huller, når børsen er lukket, og gør store spring, når børsen åbner igen. Når børsen er åben, introducerer alle mulige faktorer handler på prisniveauer, der er forkerte (de opstod ikke) og / eller ikke repræsentative for markedet (en stigning på grund af et forkert indtastet bud eller for eksempel pris). Dette papir fra tickdata.com (PDF) gør et godt stykke arbejde med at skitsere problemet, men tilbyder få konkrete løsninger.

De fleste papirer, jeg kan finde online, der nævner dette problem, ignorerer enten det (tickdata antages filtreret) eller inkluderer filtrering som en del af en enorm handelsmodel, der skjuler alle nyttige filtreringstrin.

Er nogen klar over mere dybtgående arbejde på dette område?

Opdatering: dette spørgsmål virker ens på overfladen, men:

  • Økonomisk tidsserie er (i det mindste på krydsniveauet) ikke-periodisk.
  • Åbningseffekten er et stort problem, fordi du ikke bare kan bruge den sidste dags data som initialisering, selvom du virkelig gerne vil (fordi du ellers ikke har noget). Eksterne begivenheder kan medføre, at den nye dags åbning adskiller sig dramatisk både på absolut niveau og i volatilitet fra den foregående dag.
  • vildt uregelmæssig hyppighed af indgående data. Nær åben og tæt på dagen kan mængden af ​​datapunkter / sekund være 10 gange højere end gennemsnittet i løbet af dagen. Det andet spørgsmål handler om regelmæssigt samplede data.
  • "Outliers" i finansielle data udviser nogle specifikke mønstre, der kunne detekteres med specifikke teknikker, der ikke er anvendelige på andre domæner, og jeg er på udkig efter dem specifikke teknikker.
  • I mere ekstreme tilfælde (f.eks. flashnedbrud) kan outliers udgøre mere end 75% af dataene over længere intervaller (> 10 minutter). Derudover indeholder den (høje) frekvens af indgående data nogle oplysninger om situationens afvigende aspekt.
Jeg tror ikke, det er en duplikat på grund af dataens art. Problemet, der blev diskuteret i det andet spørgsmål, vedrørte regelmæssigt observerede tidsserier med lejlighedsvise outliers (i det mindste sådan fortolkede jeg det). Karakteren af ​​tick-by-tick-data vil føre til forskellige løsninger på grund af udvekslingsåbningseffekten.
mulig duplikat af [Simpel algoritme til online-outlier-detektion af en generisk tidsserie] (http://stats.stackexchange.com/questions/1142/simple-algorithm-for-online-outlier-detection-of-a-generic-time -serier) Dette spørgsmål foreslås lukket som en duplikat. Kan du venligst fortælle os det på metatråden, hvis og hvordan din kontekst er forskellig fra det spørgsmål, jeg linkede?
@Rob Men udvekslingsåbningseffekten bestemmer kun, hvornår du skal køre algoritmen. Det grundlæggende spørgsmål forbliver det samme. Selv i netværksdata har du 'kontoråbningseffekt', hvor trafikken topper, så snart et kontor åbner. I det mindste skal OP'en linke til det spørgsmål, scanne svarene der og forklare, hvorfor løsningerne der ikke fungerer, så et passende svar kan sendes til dette spørgsmål.
Jeg er enig med @Rob. Denne form for data kan udgøre unikke udfordringer, så dette er ikke en duplikat.
Dette spørgsmål kan i sidste ende blive betjent bedre her på grund af dets domænespecificitet: http://area51.stackexchange.com/proposals/117/quantitative-finance
Jeg tror, ​​det hører hjemme her. Spørgsmålet drejer sig om at analysere uregelmæssigt fordelte, meget støjende tidsserier. Har du kigget på "En introduktion til højfrekvent finansiering" af Dacorogna, Olsen og en flok andre? Eller papirerne fra de samme forfattere?
Jeg så det andet svar og fulgte Robs argumentation. Jeg ændrede mit spørgsmål for at tackle de forskelle, jeg ser.
@jilles Jeg kan ikke se nogen ændringer på dit spørgsmål. Gemte du dine redigeringer? Det kan hjælpe, hvis du også sender et link til det spørgsmål og angiver ændringerne i dit spørgsmål med noget som 'Rediger'.
Jeg har Olsen-bogen, og den behandler ikke udvekslingens åbne / lukke spørgsmål.
@Srikant: færdig, @PeterR: kender du noget specifikt papir fra de forfattere, der behandler dette spørgsmål?
Jeg ønsker, at der er en måde at fortryde min nære stemme på! Jeg tror, ​​det er klart nu, at det ikke er en duplikat.
Tre svar:
Dirk Eddelbuettel
2010-08-04 20:51:54 UTC
view on stackexchange narkive permalink

Problemet er bestemt hårdt .

Mekaniske regler som +/- N1 gange standardafvigelser eller + / N2 gange MAD eller +/- N3 IQR eller ... vil mislykkes, fordi der altid er nogle serier, der er forskellige som for eksempel:

  • fikseringer som interbankrente kan være konstante i et stykke tid og spring så pludselig
  • på samme måde for f.eks visse udenlandske børser, der kommer ud af en pinde
  • visse instrumenter er implicit spredt; disse kan være nær nul i perioder og pludselig hoppe manifold

Har været der, gjort det, ... i et tidligere job. Du kan prøve at parentesere hver serie ved hjælp af arbitrage forhold skibe ( f.eks forudsat at USD / EUR og EUR / JPY formodes at være gode, kan du udarbejde bånd omkring, hvad USD / JPY skal være; ligeledes for derivater fra en underliggende osv. s.

Kommercielle dataleverandører udvider en vis indsats for dette, og de af brug, der er deres klienter, ved ... det udelukker stadig ikke fejl.

+1 ja, intet er perfekt. Tickdata.com (hvis papir er nævnt) inkluderer også outliers, og de fjerner også for meget gode data (sammenlignet med en anden kilde). Olsens data er tæt på at være forfærdelige, og jeg er generelt kun vejledende. Der er en grund til, at banker betaler store operationsteam for at arbejde på dette.
Jeg kan godt lide din idé om at bruge kendte arbitrage-forhold. har du overhovedet prøvet dette i dit tidligere job?
Nej, det formaliserede vi aldrig fuldt ud. Men jeg tror, ​​vi brugte nogle enkle (dvs. ETF vs underliggende indeks osv.). Det har dog været et par år.
Shane
2010-08-04 18:47:37 UTC
view on stackexchange narkive permalink

Jeg tilføjer nogle papirreferencer, når jeg er tilbage på en computer, men her er nogle enkle forslag:

Start absolut med at arbejde med retur. Dette er afgørende for at håndtere den uregelmæssige afstand, hvor du naturligvis kan få store prisforskelle (især omkring weekender). Derefter kan du anvende et simpelt filter for at fjerne returneringer langt uden for normen (f.eks. Vs et stort antal standardafvigelser). Afkastet vil tilpasse sig det nye absolutte niveau, så store reelle ændringer vil kun resultere i tab af kun et kryds. Jeg foreslår, at du bruger et to-pass filter med returneringer taget fra 1 trin og n trin til at håndtere klynger af outliers.

Rediger 1: Med hensyn til brug af priser snarere end afkast: aktivpriserne har tendens til ikke at være stationære, så IMO, der kan udgøre nogle yderligere udfordringer. For at redegøre for uregelmæssigheder og magtretlige virkninger vil jeg anbefale en form for justering, hvis du vil medtage dem i dit filter. Du kan skalere prisændringerne efter tidsintervallet eller efter volatilitet. Du kan henvise til "realiseret volatilitet" litteratur for nogle diskussioner om dette. Også diskuteret i Dacorogna et. al.

For at tage højde for ændringerne i volatiliteten kan du prøve at basere din volatilitetsberegning fra samme tidspunkt på dagen i løbet af den sidste uge (ved hjælp af sæsonbetinget).

Ved kun at bruge afkastene bliver du meget sårbar over for stiger (dvs. en sekvens af priser, der klatrer eller falder væk fra normen, hvor hvert enkelt afkast er acceptabelt, men som en gruppe repræsenterer de en outlier). Ideelt set vil du bruge både retur og det absolutte niveau.
user603
2010-08-04 18:32:07 UTC
view on stackexchange narkive permalink

Jeg har (med en vis forsinkelse) ændret mit svar for at afspejle din bekymring over manglen på 'tilpasningsevne' hos den ubetingede gale / median.

Du kan løse problemet med tidsvarierende volatilitet med den robuste statistisk ramme. Dette gøres ved at bruge en robust estimator af den betingede varians (i stedet for den robuste estimator for den ubetingede afvigelse, som jeg foreslog tidligere): M-estimeringen af ​​GARCH-modellen. Derefter får du et robust tidsvarierende skøn på $ (\ hat {\ mu} _t, \ hat {\ sigma} _t) $, som ikke er de samme som dem, der produceres ved den sædvanlige GARCH-pasform. Især er de ikke drevet af nogle få fjerntliggende outliers. Da disse skøn ikke er drevet af dem, kan du bruge dem til pålideligt at markere afvigende ved hjælp af den historiske fordeling af

$$ \ frac {x_t- \ hat {\ mu} _t} {\ hat { \ sigma} _t} $$

Du kan finde flere oplysninger (og et link til en R-pakke) i dette papir:

Boudt , K. og Croux, C. (2010). Robust M-estimering af multivariate GARCH-modeller.

Jeg har prøvet noget som dette, men denne metode er ikke særlig god til at håndtere pludselige ændringer i volatiliteten. Dette fører til underfiltrering i stille perioder og overfiltrering i mere travle tider.
Jeg forstår ikke dette "Dette fører til underfiltrering i stille perioder og overfiltrering i mere travle tider" pleje at forklare?
I stille perioder har prisvolatilitet tendens til at være lavere, så priser tættere på gennemsnittet kan betragtes som outliers. Men fordi du bruger MAD i (formodentlig) en hel handelsdag (eller endnu længere), er disse outliers mindre end 3 MAD væk fra medianen og filtreres ikke. Det modsatte gælder for travle perioder med højere prisbevægelser (acceptable prisbevægelser filtreres). Således reduceres problemet til korrekt estimering af MAD til enhver tid, hvilket er problemet til at begynde med.


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...