eksponentiell glidende gjennomsnitt fra MOVAVG ikke korrekt. Er det noen som har erfaring med å bruke MOVAVG-funksjonen med eksponentiell vekting? Hvis jeg ikke angir e vekting, så får jeg riktig glatt gjennomsnitt. Men når jeg spesifiserer e, får jeg tall som ikke ser ut riktig Jeg er nysgjerrig på om eksponensiell vekting som brukes her, er noe forskjellig fra det som vanligvis antas. For eksempel, for å beregne aksjekursutvikling, beregner man typisk MACD-flytende gjennomsnittlig konvergensdivergens ved å gjøre. MACD 12-dagers eksponensiell glidende gjennomsnitt minus 26-dagers eksponensiell flyttende gjennomsnitt. Så i oktave gjorde jeg følgende. Shortma, Longma movavg data, Pris, 12,26, e MACD Shortma - Longma. For en typisk bestand, er MACD-verdien vanligvis i singelsifrene B ut av min S hortma og L ongma spor P ris veldig tett, og Derfor ligger MACD i området -10 -4, noe som tydeligvis er feil hjelp, vennligst. Eksponensiell flytende gjennomsnitt. Eksponentiell flytende gjennomsnitt. Eksponentielt flytende gjennomsnitt avviger fra et enkelt flytende gjennomsnitt, både etter beregningsmetode og på den måten at prisene vektes Det eksponensielle flytende gjennomsnittet forkortet initialene EMA er effektivt et vektet glidende gjennomsnitt. Med EMA er vekten slik at de siste dagene prisene blir gitt mer vekt enn eldre priser. Teorien bak dette er at nyere priser anses å være viktigere enn eldre priser, spesielt som et langsiktig enkelt gjennomsnitt, for eksempel en 200 dag legger like vekt på prisdata som er over 6 måneder og kan betraktes som litt utdatert. Beregning av EMA er litt mer c omplex enn det enkle flytende gjennomsnittet, men har fordelen at en stor registrering av data som dekker hver sluttpris for de siste 200 dagene eller hvor mange dager som blir vurdert, behøver ikke beholdes. Alt du trenger er EMA for den forrige dagen og dagens sluttkurs for å beregne det nye eksponentielle flytende gjennomsnittet. Beregning av eksponenten. Først må for EMA en eksponent beregnes. For å starte, ta antall dager EMA du vil beregne og legg til ett til antall dager som du vurderer for eksempel for et 200-dagers glidende gjennomsnitt, legger du til en for å få 201 som en del av beregningen. Vi vil ringe til disse dagene 1.Til å få eksponenten, ta bare nummeret 2 og del det med dager 1 for Eksempel Eksponenten for et 200-dagers glidende gjennomsnitt ville være.2 201 Som tilsvarer 0 01.Fullberegning hvis eksponentiell flytende gjennomsnitt. Når vi har eksponenten, trenger alt vi trenger nå to biter av informasjon for å gjøre det mulig for oss å utføre full beregning Den første er i går s Eksponensiell Moving Average Vi antar at vi allerede vet dette som vi ville ha beregnet det i går. Men hvis du ikke allerede er klar over gårdagens EMA, kan du begynne å beregne Simple Moving Average for igår, og bruke dette på plass av EMA for den første beregningen, dvs. dagens beregning av EMA. I morgen kan du bruke EMA du har beregnet i dag osv. Den andre informasjonen vi trenger er dagens sluttkurs. La oss anta at vi vil beregne i dag s 200 dagers eksponentiell flytende gjennomsnitt for en aksje eller aksje som har en tidligere dag s EMA på 120 pence eller cent og en nåværende dags sluttkurs på 136 pence. Full beregning er alltid som følger I dag s Eksponentiell Moving Gjennomsnittlig nåværende dag s avsluttende pris x Eksponent forrige dag s EMA x 1-Exponent. Så, ved hjelp av våre eksempelstall ovenfor, vil dagens 200-dagers EMA være 136 x 0 01 120 x 1- 0 01 Hvilket tilsvarer en EMA for i dag på 120 16. Etter å ha spilt sammen biter fra denne threaen Jeg bygde denne funksjonen med Octave s filterfunksjon. Det begynner med det enkle glidende gjennomsnittet som grunnlaget V er kolonnevektoren av tall for å beregne eksponentiell glidende gjennomsnittlig vindu er et heltall som et antall dager jeg brukte 12. Her er en matematisk forklaring på denne funksjonen. Merk at siden bruker 2 n 1 hvor n er vindu eller antall dager som alfa, men jeg bruker 1 n fordi den verdien av alfa passer til mine behov. Juster alfa etter behov. Alternativt trenger jeg noen ganger min inngang og output vektor s dimensjoner for å matche Jeg fyller ugyldige verdier med NaN ved å legge til meanV NaN window-1,1 meanV som siste linje i funksjonen movingEMean Du kan også fylle den med simpleAvg hvis du vil ha et grovt estimat.
No comments:
Post a Comment