Tidsserieanalyse og Statistisk Arbitrage G63.2707, Høst 2009 Hvordan analyserer vi historiske økonomiske data for å utvikle lønnsomme og lavrisikostrategier for handel Dette kurset er en introduksjon til tidsserieanalyse som brukt i finans og handelsstrategier som er relevante for både buy - side og selger side markedsdeltakere. Kurset skal grovt deles i tre deler: Linjære modeller: AR og MA for skalar - og vektorprosesser, og enkel estimering av volatilitet og kovarians. Modellevaluering og gjenværende analyse. Cointegration og dens anvendelse i risikomodellering og parhandelstrategier. Ikke-lineære modeller: ARCH, GARCH, og mer generelle volatilitetsmodeller. Programmer: markedsmikrostruktur, transaksjonskostnadsmodellering og optimale handelsstrategier for både byrå og hovedhandel. Instruktører Lin Li, ll1084 på nyu Forutsetninger Emnet er ment for andreårsstudenter i Courant Institutt MS-programmet på matematikk i finans. Slike studenter forventes å ha et utmerket fundament i matematikk anvendt for å finansiere (stokastisk kalkulator og PDE), en rimelig bakgrunn i økonomi (porteføljeorientering og risikostyring) og i databehandling, men ikke nødvendigvis en intensiv kunnskap om statistikk. Studenter med tilsvarende forberedelse kan registrere om plass er tilgjengelig. Omtrent 5 leksett sett (40 totalt), en quiz (30), og et sluttprosjekt (30). Referanser Vi har en klassekonto hos Wharton Research Data Services. Innloggingsinformasjon vil bli gitt i klassen. Carol Alexander, markedsmodeller. James D. Hamilton, tidsserieanalyse, Princeton University Press 1994. Joel Hasbrouck, Empirical Market Microstructure, Oxford University Press 2006 (mer informasjon om Hasbroucks side). Stephen J. Taylor, Asset Price Dynamics, Volatilitet og Prediksjon, Princeton University Press 2005. Ruey S. Tsay, Analyse av Financial Time Series, 2. utgave, Wiley 2005. Forskningsartikler vil bli gjort tilgjengelige etter behov. Mandag kveld, kl. 7.10 til 21.00 i sølv 713, fra 14. september til 7. desember eller 14. (Det er ingen Columbus Day-ferie i år.) Planen og omrisset nedenfor kan endres avhengig av hvordan kurset utvikler, og på instruktørene reiser krav. På grunn av en ikke-lineær handelsstrategi for finansielle tidsserier Fernanda Strozzi a ,. Jos-Manuel Zaldvar Comenges b. et institutt for miljø og bærekraft, TP272, 21020 Ispra (VA), Italia Godkjent 3. august 2005. Tilgjengelig på nettet 3. oktober 2005. En ny handelsstrategi basert på statens romkonstruksjonsteknikker foreslås. Teknikken bruker den faktiske volumutviklingen i statens romvolum og endringshastigheten som indikatorer. Denne metoden har blitt testet off-line ved hjelp av atten høyfrekvente valutaridsserier med og uten transaksjonskostnader. I vår analyse kan man oppnå en optimal gjennomsnittsverdi på ca. 25 gevinster i disse seriene uten transaksjonskostnader og en optimal gjennomsnittlig verdi på ca. 11 gevinster som antar 0,2 av kostnadene i hver transaksjon. Tabell 1. Fig. 1. Fig. 2. Fig. 3. Fig. 4. Fig. 5. Fig. 6. Tabell 2. Fig. 7. Fig. 8. Fig. 9. Fig. 10. Tabell 3. Fig. 11. Fig. 12. Fig. 13. Fig. 14. Tilsvarende forfatter. Tlf. 39 0331 572634 Faks: 39 0331 480746.Forecasting Financial Times Series - Del I I denne serien av artikler skal vi lage en statistisk robust prosess for å prognostisere økonomiske tidsserier. Disse prognosene vil danne grunnlag for en gruppe automatiserte handelsstrategier. Den første artikkelen i serien vil diskutere modellens tilnærming og en gruppe klassifikasjonsalgoritmer som gjør oss i stand til å forutse markedsretningen. Innenfor disse artiklene vil vi gjøre bruk av scikit-lær. et maskinlæringsbibliotek for Python. Scikit-Learning inneholder implementeringer av mange maskinlæringsteknikker. Ikke bare sparer vi mye tid på å implementere vår egen, men det minimerer risikoen for feil som introduseres av vår egen kode og tillater ytterligere verifisering mot biblioteker skrevet i andre pakker, som R. Dette gir oss en god del av tillit hvis vi trenger å lage vår egen tilpassede implementering (av hensyn til eksekveringshastighet, si). Prosess for prognoser En detaljert forklaring på feltet for statistisk maskinlæring er utenfor denne artikkelen. For å kunne utnytte teknikker som logistisk regresjon. Lineær diskriminerende analyse og kvadratisk diskriminerende analyse må vi skissere noen grunnleggende begreper. Overvåket læringsteknikker Overvåket læringsteknikk involverer et sett med kjente tuples (xi, yi), jeg i, med xi som representerer prediktorvariablene (for eksempel forsinket aksjemarkedsavkastning eller volumhandel) og yi representerer de tilknyttede responsobservasjonsvariablene (for eksempel aksjene markedsavkastning i dag). I denne situasjonen er vi interessert i spådommer. Gitte fremtidige prediktorvariabler ønsker vi å estimere svarene fra disse prediktorene. Dette er i motsetning til inferansen der vi er mer interessert i forholdet mellom variablene. Alle algoritmer vi benytter oss av i denne artikkelen, sammen med mange andre som vi skal ansette i fremtiden, er fra det veiledte læringsdomenet. Måleprediksjonsnøyaktighet Den spesielle klassen av metoder som vi er interessert i innebærer binær klassifisering. Det vil si, vi vil forsøke å fordele prosentvis avkastning for en bestemt dag i to bøtter: opp eller ned. I en produksjonsforsker ville vi være veldig opptatt av størrelsen på denne prediksjonen og avvikene fra prediksjonen fra den faktiske verdien. I slike tilfeller kan vi gjøre bruk av middelkvadratfeilen. Mean Absolute Deviation og Root-Mean-Squared Error for å gi et estimat av prognose nøyaktighet. Litteraturen gir mange andre eksempler på prognoser for nøyaktighetstiltak. I dette tilfellet skal vi bare være opptatt av hitfrekvensen. som er rett og slett prosentandelen ganger som forecasteren oppnådde en presis prediksjon (dvs. opp da dagen var oppe og omvendt). I senere eksempler vil vi benytte seg av en forvirringsmatrise for å bestemme prediksjonsytelsen på en klasse-for-klasse basis. I tillegg beregner vi de nevnte verdiene og inkorporerer dem i vår handelsforskningsprosess. Prognosefaktorer En prognosemetode er bare like god som de faktorer som er valgt som prediktorer. Det er et svimlende antall mulige faktorer å velge mellom når prognosene for børsindekser returneres. I denne artikkelen kommer vi til å begrense faktorene til tidsrammer av gjeldende prosentvis avkastning. Dette er ikke fordi de er de beste prediktorer, men det er fordi det er greit å demonstrere prosessen med prognoser på et lett oppnådd datasett. Forutsigelsesfaktor valg er ekstremt viktig, om ikke den viktigste, komponenten av forecaster. Selv enkle maskinlæringsteknikker vil gi gode resultater på velvalgte faktorer. Legg merke til at det omvendte er ikke ofte tilfelle. Å kaste en algoritme på et problem vil vanligvis føre til dårlig prognose nøyaktighet. For denne forecasteren har jeg valgt den første og andre gangen i prosent av avkastningen som forutsigere for dagens aksjemarkedsretning. Dette er et relativt tilfeldig valg, og det er rikelig med muligheter for endring, for eksempel ved å legge til flere lag eller volumet av aksjer som handles. Det er generelt bedre å ha færre prediktorer i en modell, selv om det finnes statistiske tester som kan demonstrere prediktiv evne til hver faktor. Forventning av SampP500 med logistisk regresjon, LDA og QDA SampP500 er en vektet indeks for de 500 største børsnoterte selskapene (etter markedsverdi) i det amerikanske aksjemarkedet. Det regnes ofte som et aksjemarked. Mange avledede produkter eksisterer for å tillate spekulasjon eller sikring på indeksen. Spesielt er SampP500 E-Mini Index Futures Kontrakt et ekstremt flytende middel for handel med indeksen. I denne seksjonen skal vi bruke tre klassifisere til å forutse retningen av sluttkursen på dag N basert utelukkende på prisinformasjon kjent på dag N-1. En oppadgående retningsbevegelse betyr at sluttkursen på N er høyere enn prisen på N-1, mens et nedadgående flyt innebærer en sluttpris på N lavere enn ved N-1. Hvis vi kan bestemme bevegelsesretningen på en måte som vesentlig overstiger en 50 slagfrekvens, med lav feil og en god statistisk betydning, er vi på vei til å danne en grunnleggende systematisk handelsstrategi basert på våre prognoser. På dette stadiet var ikke opptatt av de mest oppdaterte maskinlæringsklassifikasjonsalgoritmer. Akkurat nå var bare å introdusere konsepter og så godt begynne diskusjonen om prognoser med noen elementære metoder. Logistisk regresjon Den første teknikken vi vurderer er logistisk regresjon (LR). I vårt tilfelle skal vi bruke LR til å måle forholdet mellom en binær kategorisk avhengig variabel (opp eller ned) og flere uavhengige kontinuerlige variabler (den forsinkede prosentvise avkastningen). Modellen gir sannsynligheten for at en bestemt (følgende) dag blir kategorisert som opp eller ned. I denne implementeringen har vi valgt å tilordne hver dag som Opp hvis sannsynligheten overstiger 0,5. Vi kunne bruke en annen terskel, men for enkelhet har jeg valgt 0.5. LR bruker logistikkformelen til å modellere sannsynligheten for å oppnå en oppdag (YU) basert på lagfaktorene (L1, L2): Den logistiske funksjonen brukes fordi den gir en sannsynlighet mellom 0,1 for alle verdier av L1 og L2, i motsetning til lineær regresjon der negative sannsynligheter kan genereres i samme innstilling. For å passe til modellen (dvs. estimere betakoeffisientene) brukes den maksimale sannsynlighetsmetoden. Heldigvis for oss håndteres implementeringen av tilpasning og prediksjon av LR-modellen av scikit-lær-biblioteket. Lineær diskriminerende analyse Den neste teknikken som brukes er lineær diskriminerende analyse (LDA). LDA skiller seg fra LR fordi i LR modellerer vi P (YUL1, L2) som en betinget fordeling av responsen Y gitt prediktorene Li, ved hjelp av en logistisk funksjon. I LDA er fordelingen av Li-variablene modellert separat, gitt Y, og P (YUL1, L2) er oppnådd via Bayes Theorem. I hovedsak oppnår LDA at man antar at prediktorer trekkes fra en multivariat Gauss-distribusjon. Etter kalkulerende estimater for parametrene for denne fordelingen, kan parametrene bli lagt inn i Bayes Theorem for å gjøre spådommer om hvilken klasse en observasjon tilhører. LDA antar at alle klasser deler samme kovariansmatrise. Jeg vil ikke dvele på formlene for å estimere distribusjonen eller bakre sannsynlighetene som er nødvendige for å gjøre spådommer, da igjen scikit-learn håndterer dette for oss. Kvadratisk diskriminerende analyse Kvadratisk diskriminerende analyse (QDA) er nært knyttet til LDA. Den betydelige forskjellen er at hver klasse nå kan ha sin egen kovariansmatrise. QDA utfører generelt bedre når beslutningsgrensene er ikke-lineære. LDA utfører generelt bedre når det er færre treningsobservasjoner (dvs. når det er nødvendig å redusere variansen). QDA, derimot, virker bra når treningssettet er stort (det vil si varians er mindre bekymring). Bruken av den ene eller den andre til syvende og sist kommer ned til bias-variansavvikelsen. Som med LR og LDA, tar scikit-lær seg for QDA-implementeringen, slik at vi bare trenger å gi den opplæringstestdata for parameterestimering og prediksjon. Python Implementering For implementeringen av disse prognoserne vil vi benytte NumPy. pandas og scikit-lær. Ive har tidligere skrevet en veiledning om hvordan man installerer disse bibliotekene. Ive har tungt kommentert koden selv, så det bør være enkelt å finne ut hva som skjer. Det første trinnet er å importere relevante moduler og biblioteker. Kommer til å importere LogisticRegression. LDA og QDA klassifiserer for denne prospektoren: Nå som bibliotekene er importert, må vi opprette en pandas DataFrame som inneholder den forsinkede prosentavkastningen for et tidligere antall dager (standard til fem). createlaggedseries vil ta et aksjesymbol (som anerkjent av Yahoo Finance) og opprette en forsinket DataFrame over den angitte perioden: Den neste hjelpefunksjonen er utformet for å opprette et prosentvis hitrate for hver modell, ved å eliminere duplisert kode. Det bygger på det faktum at logistiske regresjon, LDA og QDA gjenstander har samme metoder (passe og forutsi). Hitraten sendes ut til terminalen: Til slutt knytter vi den sammen med en hovedfunksjon. I dette tilfellet skulle det forsøke å forutse den amerikanske aksjemarkedsretningen i 2005 ved å bruke returdata fra 2001 til 2004: Kodens utgang er som følger: Det kan ses at logistisk regresjon og lineær diskriminantanalysator begge kunne få en 56 suksessrate. Den kvadratiske diskriminerende analysatoren var imidlertid i stand til å forbedre seg på begge, for å produsere en 60 hitrate. For den spesifikke perioden som er analysert, skyldes dette sannsynligvis det faktum at det er noe ikke-linearitet i forholdet mellom de forsinkede faktorene og retningen som ikke er godt tatt i lineær analyse. Det er således håp om at vi kanskje delvis kan forutsi det amerikanske aksjemarkedet. Det er noen advarsler til denne prognosemetoden: Vi har ikke brukt noen form for kryss-validering for å redusere monteringsfeil. En produksjonsforsker vil kreve at en slik analyse anses å være robust. Forecaster har kun blitt trent på data mellom 2001-2004 inkludert. Nyere aksjemarkedsdata kan ha vesentlig forskjellig prediksjonsnøyaktighet. Vi har egentlig ikke forsøkt å bytte ut denne informasjonen. Spesielt, hvordan ville vi faktisk utføre handler. Vil vi bruke den amerikanske e-mini-fremtiden? Vil vi benytte bestillinger på markedet-på-åpne (MOO) eller Market-On-Close (MOC)? Vi må også vurdere transaksjonskostnader. I etterfølgende artikler vil vi se nærmere på disse problemene. En advarsel om tilfeldig prognose I denne delen vil jeg åpenbart markere problemet med statistisk betydning når det gjelder forhandlinger. I tillegg til forutsetningen som er skissert ovenfor, genererte jeg også en prognose-serie basert utelukkende på tegnet av tilfeldige trekk fra en vanlig normalfordeling. Legg merke til at i samme periode har det produsert en prognosemengde på 53,4, og likevel er metoden som brukes til å generere serien, egentlig ikke annerledes enn å kaste en mynt. Vær oppmerksom på dette når du utfører prognoseprosedyrer, da det ofte kan føre til dire handelsopptreden dersom ikke tatt hensyn til det. I de følgende artiklene vil vi vurdere mer avanserte overvåkede, ikke-lineære prognose klassifiserere som kunstige nevrale nettverk (ANN) og støttevektormaskiner (SVM). Med en stabil maskininnlæringsteknologi til disposisjon, vil vi senere kunne benytte ensemblemetoder til å produsere en prognose nøyaktighet og robusthet som noen ganger kan overskride den enkelte forutsyner. Bare å komme i gang med kvantitativ handel Som du kan se fra ovenstående, avviker avkastningen for EURUSD betydelig fra en normal distribusjon (mer om normalitetstester i et fremtidig innlegg), og vi kan allerede se noen kjennetegn ved EURUSD-distribusjonen. For eksempel kan vi se at fordelingen er skjev mot positivt territorium (skewness0.076) og fordelingen er fettstert (kurtosis1.52). Ingen av disse to fakta burde være overraskende for alle som har gjort tidsserieanalyse, da finansielle tidsserier er velkjente for å være tett. Det er imidlertid verdt å merke seg at graden av kurtose og skjevhet forandrer seg mye avhengig av aktivaklassen og symbolet du studerer. På neste del av disse seriene skal vi gå inn i hvordan ulike Forex - og ikke-Forex-symboler sammenligner innenfor denne samme analysen (pluss noen tilleggsstatistikk) og hvordan disse statistikkene er relatert til vår evne til å generere historisk lønnsomme handelssystemer som bruker disse dataene. Du vil se at distribusjoner som har visse egenskaper lett fører til et stort potensialtall historisk lønnsomme strategier, mens fordelinger som har andre egenskaper er svært vanskelig å finne kanter på. For de av dere som er velbevandret i statistikk, er du velkommen til å bidra med hvilke grunnleggende statistiske analysaspekter du finner nyttige og hvilke du vil at jeg skal forklare i et fremtidig innlegg. Hvis du vil lære mer om arbeidet mitt og hvordan du også kan bruke tidsserieanalyse for å utvikle handelsstrategier, vær så snill å bli med Asirikuy. et nettsted fylt med pedagogiske videoer, handelssystemer, utvikling og en lyd, ærlig og gjennomsiktig tilnærming til automatisert handel generelt. Jeg håper du likte denne artikkelen. o) 3 Responses to 8220Using R i Algorithmic Trading: Enkel tidsserie karakterisering. Del One8221 8230 del en av denne serie innlegg har vi oppnådd noen enkle grunnleggende egenskaper fra en Forex Financial Time Series i 8230 8230 for å være den enkleste. Før du følger denne opplæringen, vil jeg også anbefale deg å lese mine to første (1. 2) R opplæringer om grunnleggende tidsserieanalyse, slik at du er kjent med noen grunnleggende R 8230 beklager, men jeg står overfor dette problemet: Feil i plot. window ( 8230). trenger finite 8216xlim8217 verdier I tillegg: Advarselsmeldinger: 1: I min (x). ingen manglende argumenter til min tilbake Inf 2: I maks (x). ingen manglende argumenter til maksimal retur - Inf 3: I min (x). ingen manglende argumenter til min tilbake Inf 4: I maks (x). ingen ikke-manglende argumenter for maksimal retur - Inf gt datasett plot (datasettClose)
Comments
Post a Comment