Saturday 14 October 2017

Flytte Gjennomsnittet Python Numpy


Dette er en Python wrapper for TA-LIB basert på Cython i stedet for SWIG. Fra hjemmesiden: TA-Lib er mye brukt av handelsprogramvareutviklere som krever å utføre teknisk analyse av finansielle markedsdata. Inkluderer 150 indikatorer som ADX, MACD, RSI, Stochastic, Bollinger Bands, etc. Lysestake mønster anerkjennelse Open-source API for CC, Java, Perl, Python og 100 Managed De originale Python bindingene bruker SWIG som dessverre er vanskelig å installere og arent så effektive som de kunne være. Derfor bruker dette prosjektet Cython og Numpy til å binde seg effektivt til TA-Lib-produserende resultater 2-4 ganger raskere enn SWIG-grensesnittet. Installer TA-Lib eller Les dokumentene I likhet med TA-Lib, gir funksjonsgrensesnittet et lett innpakning av de eksponerte TA-Lib-indikatorene. Hver funksjon returnerer et output-array og har standardverdier for parametrene, med mindre det angis som søkeordargumenter. Vanligvis vil disse funksjonene ha en innledende tilbakekallingsperiode (et nødvendig antall observasjoner før en utgang genereres) satt til NaN. Alle de følgende eksemplene bruker funksjonen API: Beregn et enkelt glidende gjennomsnitt av de lukkede prisene: Beregning av bollinger-bånd, med triple eksponentielt glidende gjennomsnitt: Beregning av momentum av de nære prisene, med en tidsperiode på 5: Abstrakt API Hurtigstart Hvis du allerede kjent med bruk av funksjonen API, bør du føle deg hjemme ved hjelp av abstrakt API. Hver funksjon tar samme innspill, passert som en ordbok med Numpy-arrays: Funksjoner kan enten importeres direkte eller instantiated etter navn: Derfra er anropsfunksjoner i utgangspunktet det samme som funksjonen API: Lær om mer avansert bruk av TA-Lib her . Støttede indikatorer Vi kan vise alle TA-funksjonene som støttes av TA-Lib, enten som en liste eller som en dikt sortert etter gruppe (for eksempel Overlap Studies, Momentum Indicators, etc): FunksjonsgrupperSkikits. timeseries-modulen går ikke lenger i aktiv utvikling. Det er en enestående liste over feil som ikke er løst. Planen er at kjernefunksjonaliteten til denne modulen skal implementeres i pandas. Hvis du ønsker å se denne modulen leve uavhengig av pandaer, vær så snill å gaffel koden og ta den over. Scikits. timeseries-modulen gir klasser og funksjoner for å manipulere, rapportere og plotte tidsserier av forskjellige frekvenser. Fokus ligger på praktisk datatilgang og manipulering mens man utnytter den eksisterende matematiske funksjonaliteten i numpy og scipy. Hvis følgende scenarier høres godt kjent for deg, vil du sannsynligvis finne modulen scikits. timeseries nyttig: Sammenlign mange tidsserier med forskjellige dataområder (f. eks. Aksjekurser) Lag tidsserier med intelligente mellomrom til månedlig ved å ta gjennomsnittsverdien i løpet av hver måned. Arbeid med data som mangler verdier. Bestem den siste virkedagen i forrige månedskvartal for rapporteringsformål. Beregn et flytende standardavvik effektivt. Dette er bare noen av scenariene som gjøres veldig enkle med scikits. timeseries-modulen. DocumentationHybrid Monte-Carlo Sampling Dette er en avansert opplæring, som viser hvordan man kan implementere Hybrid Monte-Carlo (HMC) prøvetaking ved hjelp av Theano. Vi antar at leseren allerede er kjent med Theano og energibaserte modeller som RBM. Koden for denne delen er tilgjengelig for nedlasting her. Maksimal sannsynlighet for læring av energibaserte modeller krever en robust algoritme for å prøve negative fasepartikler (se liknende (4) av Begrenset Boltzmann Machines (RBM) opplæringen). Når du trener RBM med CD eller PCD, gjøres dette vanligvis med blokk Gibbs sampling, hvor de betingede distribusjonene og brukes som overgang operatører av Markov kjeden. I visse tilfeller kan disse betingede distribusjonene imidlertid være vanskelige å prøve fra (dvs. krever dyre matriksinversjoner, som i tilfellet av 8220-middelkovariansen RBM8221). Også, selv om Gibbs sampling kan gjøres effektivt, fungerer det likevel via en tilfeldig spasertur som kanskje ikke er statistisk effektiv for noen distribusjoner. I denne sammenheng, og når sampling fra kontinuerlige variabler, kan Hybrid Monte Carlo (HMC) vise seg å være et kraftig verktøy Duane87. Det unngår random walk-oppførsel ved å simulere et fysisk system som styres av Hamilton-dynamikken, og potensielt unngår vanskelige betingede distribusjoner i prosessen. I HMC blir modellprøver oppnådd ved å simulere et fysisk system hvor partikler beveger seg rundt et høydimensjonalt landskap, utsatt for potensielle og kinetiske energier. Tilpasse notasjonen fra Neal93. partikler kjennetegnes av en positionsvektor eller tilstands - og hastighetsvektor. Den kombinerte tilstanden til en partikkel er betegnet som. Hamilton er da definert som summen av potensiell energi (samme energifunksjon definert av energibaserte modeller) og kinetisk energi, som følger: Leap-Frog-algoritmen I praksis kan vi ikke simulere Hamilton-dynamikken nøyaktig på grunn av problemet med tidsdiskretisering . Det er flere måter man kan gjøre dette på. For å opprettholde invariansjonen av Markov-kjeden, må det imidlertid tas hensyn til å bevare egenskapene til volumbehandlingen og tidenes reversibilitet. Sprang-frøalgoritmen opprettholder disse egenskapene og opererer i tre trinn: I praksis vil bruk av endelige trinnstørrelser ikke bevare nøyaktig og vil introdusere bias i simuleringen. Avrundingsfeil på grunn av bruk av flytende punktum betyr også at transformasjonen ovenfor ikke vil være helt reversibel. I denne opplæringen får vi en ny HMC-prøve som følger: Implementering av HMC Bruke Theano In Theano, oppdatere ordbøker og delte variabler, er en naturlig måte å implementere en prøvealgoritme på. Samplerens nåværende tilstand kan representeres som en Theano-delt variabel, med HMC-oppdateringer implementert av oppdateringslisten over en Theano-funksjon. Vi bryter ned HMC-algoritmen i følgende underkomponenter:

No comments:

Post a Comment