Monday 13 November 2017

Flytte Gjennomsnittet Matematisk Ligningen


Flytende gjennomsnitt. Dette eksempelet lærer deg hvordan du beregner det bevegelige gjennomsnittet av en tidsserie i Excel. Et glidende gjennomsnitt brukes til å utjevne uregelmessigheter topper og daler for å enkelt gjenkjenne trender. 1 Først, la oss ta en titt på våre tidsserier.2 På Data-fanen klikker du Data Analysis. Note kan ikke finne Data Analysis-knappen Klikk her for å laste Analysis ToolPak-tillegget.3 Velg Flytt gjennomsnitt og klikk OK.4 Klikk i feltet Inngangsområde og velg området B2 M2. 5 Klikk i intervallboksen og skriv inn 6.6 Klikk i feltet Utmatingsområde og velg celle B3.8 Plott en graf av disse verdiene. Planlegging fordi vi angir intervallet til 6, er det bevegelige gjennomsnittet gjennomsnittet for de foregående 5 datapunktene og det nåværende datapunktet Som et resultat, blir tømmer og daler utjevnet Grafen viser en økende trend Excel kan ikke beregne det bevegelige gjennomsnittet for de første 5 datapunktene fordi det ikke er nok tidligere datapunkter.9 Gjenta trinn 2 til 8 for intervall 2 og intervall 4. Konklusjon La rger intervallet, desto mer toppene og dalene blir utjevnet. Jo mindre intervallet, desto nærmere er de bevegelige gjennomsnittene til de faktiske datapunktene. Hvordan beregner du det. Beregning av eksponentielt flytende gjennomsnitt - en veiledning. Eksponentiell flytende gjennomsnittlig EMA for kort er en av de mest brukte indikatorene i teknisk analyse i dag Men hvordan beregner du det selv, bruker et papir og en penn eller foretrekker et regnearksprogram etter eget valg La oss finne ut i denne forklaringen av EMA-beregning. Beregning av eksponentiell flytende gjennomsnittlig EMA gjøres selvfølgelig automatisk av de fleste handels - og teknisk analyse programvare der ute i dag. Her er hvordan man beregner det manuelt, som også legger til forståelsen av hvordan det fungerer. I dette eksemplet skal vi beregne EMA for en pris på en aksje. Vi ønsker en 22 dagers EMA som er en vanlig nok tidsramme for en lang EMA. Formelen for beregning av EMA er som følger. EMA Pris tk EMA og 1 kt i dag, i går, N antall dager i EMA, k 2 N 1. Bruk t han følger trinnene for å beregne en 22-dagers EMA.1 Begynn med å beregne k for gitt tidsramme 2 22 1 0,0869,2 Legg sluttpriser for de første 22 dagene sammen og del dem med 22.3 Du er nå klar til å begynne å bli den første EMA dag ved å ta følgende dag s dag 23 sluttkurs multiplisert med k deretter multiplisere forrige dag s glidende gjennomsnitt med 1-k og legg til de to.4 Gjør trinn 3 om og om igjen for hver dag som følger for å få hele spekteret av EMA. Dette kan selvfølgelig bli lagt inn i Excel eller en annen regnearkprogramvare for å gjøre prosessen med å beregne EMA halvautomatisk. For å gi deg en algoritmisk oversikt over hvordan dette kan oppnås, se under. public float CalculateEMA float todaysPris, float numberOfDays, flyte EMAY i går float k 2 numberOfDays 1 return todaysPrice k EMAY i går 1 k. Denne metoden vil vanligvis bli kalt fra en loop gjennom dataene dine, ser noe slikt ut. foreach DailyRecord sdr i DataRecords ring EMA-beregningen ema nummerOfDays, yesterdayEMA sett den beregnede ema i en gruppe ema sørg for at igårEMA blir fylt med EMA vi brukte denne gangen igårEMA ema. Legg merke til at dette er psuedo-kode. Du vil vanligvis trenger å sende i går CLOSE-verdien som går igår, til i går er det beregnet fra i dag s EMA Det skjer bare etter at løkken har gått flere dager enn antall dager du har beregnet din EMA for. For en 22 dagers EMA, er det bare 23 gang i løkken og deretter at yesterdayEMA ema er gyldig. Dette er nei big deal, siden du trenger data fra minst 100 handelsdager for en 22 dagers EMA for å være gyldig. Relaterte Posts. Jeg har en kontinuerlig verdi som jeg vil gjerne beregne et eksponentielt glidende gjennomsnitt Normalt bruker jeg bare standarden formel for dette. Hvor S n er det nye gjennomsnittet, er alfa, Y er prøven, og S n-1 er forrige gjennomsnitt. Dessverre, på grunn av ulike problemer, har jeg ikke en konsekvent prøvetid som jeg kanskje vet jeg kan prøve på det meste, si, en gang per millisekund, men på grunn av faktorer utenfor min kontroll kan jeg kanskje ikke ta et utvalg i flere millisekunder av gangen. Et sannsynlig mer vanlig tilfelle er imidlertid at jeg enkelt prøver litt tidlig eller sent i stedet for prøvetaking på 0, 1 og 2 ms jeg prøver på 0, 0 9 og 2 1 ms Jeg forventer at, uansett forsinkelser, vil samplingsfrekvensen være langt, langt over Nyquist-grensen, og derfor trenger jeg ikke bekymre meg for aliasing. Jeg tror at jeg kan håndtere med dette på en mer eller mindre rimelig måte ved å variere alfaet hensiktsmessig, basert på lengden på tiden siden den siste prøven. I motsetning til at dette vil fungere, er det at EMA interpolerer lineært mellom det forrige datapunktet og dagens en Hvis vi vurderer å beregne en EMA av følgende liste av prøver med intervaller t 0,1,2,3,4 Vi bør få det samme resultatet hvis vi bruker intervall 2t, hvor inngangene blir 0,2,4, høyre Hvis EMA hadde antatt at ved t 2 var verdien 2 siden t 0 som ville være det samme som intervallet t beregning calcula ting på 0,2,2,4,4, som det ikke gjør, eller gjør det fornuftig i det hele tatt. Kan noen fortelle meg hvordan du kan variere alfabetisk. Vennligst vis arbeidet ditt, jeg viser meg matematikken som viser at metoden din virkelig gjør den riktige tingen. Skrevet 21. juni 09 kl. 13 05. Du burde ikke få samme EMA for forskjellige innspill. Tenk på EMA som et filter, prøvetakingen ved 2 t er lik nedsampling, og filteret kommer til å gi et annet utgang Dette er tydelig for meg siden 0,2,4 inneholder høyere frekvenskomponenter enn 0,1,2,3,4 Med mindre spørsmålet er, hvordan bytter jeg filteret i fly for å få det samme output Kanskje jeg mangler noe freespace 21 juni 09 til 15 52. Men inngangen er ikke annerledes, det er bare samplet sjeldnere 0,2,4 med intervaller 2t er som 0, 2, 4 i intervaller t, der det indikerer at prøven er ignorert Curt Sampson 21 juni 09 på 23 45. Dette svaret basert på min gode forståelse av lavpassfiltrene eksponentielt glidende gjennomsnitt er egentlig bare et enkeltpolet lavpasfilter, men min dårlige forståelse av hva du leter etter, jeg tror følgende er det du vil. Først kan du forenkle ligningen din litt, ser mer komplisert ut, men det er lettere i kode jeg skal bruke Y for utgang og X for inngang i stedet for S for utgang og Y for inngang, som du har gjort. Selv er verdien av her lik 1-e-t hvor t er tiden mellom prøvene, og er tidskonstanten for lavpassfilteret jeg sier like i anførselstegn fordi dette virker bra når t er liten i forhold til 1 og 1-e-tt. Men ikke for liten, du kommer til å kvantisere problemer, og med mindre du bruker noen eksotiske teknikker, trenger du vanligvis en ekstra N bits oppløsning i din tilstandsvariabel S, der N-log 2 For større verdier av t filtreringseffekten begynner å forsvinne, til du kommer til punktet hvor det er nær 1, og du re er i utgangspunktet bare å tilordne inngangen til utgangen. Dette skal fungere skikkelig med varierende verdier av t er variasjonen av t ikke veldig viktig så lenge alfa er liten, othe Rwise vil du gå inn i noen ganske rare Nyquist-problemer, aliasing osv., og hvis du jobber på en prosessor hvor multiplikasjon er billigere enn divisjon, eller faste punktproblemer er viktige, forutregne 1, og vurder å prøve å omtrentliggjøre formelen for. Hvis du virkelig ønsker å vite hvordan man kan oppnå formelen. en vurdere dens differensialligningskilde. Når X er en enhetstrinnsfunksjon, har løsningen Y 1 - e - t For små verdier av t, kan derivatet tilnærmet ved Y t , yielding. and ekstrapoleringen av 1-e-t kommer fra å forsøke å samsvare oppførselen med enhetens trinnfunksjonssak. Vil du gjerne forsøke å forsøke å samsvare oppførselsdelen Jeg forstår din kontinuerlige løsning Y 1 - exp - t og generaliseringen til en skalert trinn-funksjon med størrelsen x og innledende tilstanden y 0, men jeg kan ikke se hvordan disse ideene blir satt sammen for å oppnå ditt resultat Rhys Ulerich 4. mai kl. 22 34. Dette er ikke et komplett svar, men kan være starten på en det s så langt jeg fikk med dette om en time å spille jeg m skrev det som et eksempel på det jeg leter etter, og kanskje en inspirasjon til andre som jobber med problemet. Jeg starter med S 0 som er den gjennomsnittlige resultatet fra forrige gjennomsnitt S -1 og prøven Y 0 tatt ved t 0 t 1 - t 0 er mitt utvalgsintervall og er satt til det som er passende for det prøveintervallet og perioden over som jeg ønsker å gjennomsnittlig. Jeg vurderte hva som skjer hvis jeg savner prøven på t 1 og i stedet må gjøre med prøven Y 2 tatt på t 2 Vel, kan vi begynne med å utvide ligningen for å se hva som ville ha skjedd hvis vi hadde Y 1. Jeg merker at serien synes å strekke uendelig på denne måten, fordi vi kan erstatte S n på høyre side på ubestemt tid. Også, så er det egentlig ikke et polynomisk dumt meg, men hvis vi multipliserer den første termen av en, ser vi et mønster. Hm det er en eksponentiell serie Quelle overraskelse Forestill deg at det kommer ut av ligningen for et eksponentielt bevegelige gjennomsnitt. Så en Yway, jeg har denne x 0 x 1 x 2 x 3 ting å gå, og jeg er sikker på at jeg lukter e eller en naturlig logaritme som sparker rundt her, men jeg kan ikke huske hvor jeg var på vei neste, før jeg løp ut av tiden. Svar på dette spørsmålet, eller noe bevis på korrekthet av et slikt svar, avhenger av de dataene du måler. Hvis dine prøver ble tatt på t 0 0ms t 1 0 9ms og t 2 2 1ms men valget ditt er basert på 1 - intervaller, og derfor vil du ha en lokalt justert n. Beviset om korrekt valget ville bety at du visste prøvens verdier ved t 1ms og t 2ms. Dette fører til spørsmålet. Kan du interpolere dataene dine resonably for å ha sanne gjetninger om hva mellomliggende verdier kan ha vært eller kan du selv interpolere gjennomsnittet selv. Hvis ingen av disse er mulige, så er det logiske valget av en mellomliggende verdi Y t det siste beregnet gjennomsnittet, dvs. Y t S n hvor n er maksimal slik at tn t. Dette valget har en enkel konsekvens. Forlat alene, uansett hvilken tid forskjellen var. Hvis det derimot er mulig å interpolere verdiene dine, så vil dette gi deg gjennomsnittsverdier med konstantintervall. Endelig, hvis det er mulig å interpolere gjennomsnittet selv, ville det gjøre spørsmålet meningsløst. Besvart juni 21 09 på 15 08.balpha 27 2k 10 87 118. Jeg tror at jeg kan interpolere dataene mine gitt at jeg prøver det med diskrete intervaller, jeg gjør det allerede med en standard EMA. Uansett, antar at jeg trenger et bevis som viser det fungerer så vel som en standard EMA som også har vil gi et feil resultat hvis verdiene ikke endres ganske jevnt mellom prøveperioder Curt Sampson 21 juni 09 til 15 21. Men det er det jeg sier Hvis du vurderer EMA en interpolering av verdiene dine, blir du ferdig hvis du forlater alfa som det er fordi du legger inn det siste gjennomsnittet da Y ikke endrer gjennomsnittet. Hvis du sier at du trenger noe som fungerer, så vel som en standard EMA - hva er galt med originalen Med mindre du har mer informasjon abou t de dataene du måler, vil eventuelle lokale tilpasninger til alpha være i beste fall vilkårlig balpha 21 juni 09 ved 15 31. Jeg vil legge alfaverdien alene og fylle ut de manglende dataene. Som du ikke vet hva som skjer i løpet av tiden når du kan t prøve, kan du fylle disse prøvene med 0s, eller holde den forrige verdien stabil og bruke disse verdiene for EMA eller litt bakover interpolering når du har en ny prøve, fyll inn de manglende verdiene og rekomputer EMA. What Jeg prøver å få på at du har en inngang xn som har hull Det er ingen måte å komme seg rundt det faktum at du mangler data Så du kan bruke et nullordre-hold, eller sett det til null eller en slags interpolering mellom xn og xn M hvor M er antall manglende prøver og n begynnelsen av gapet. Muligvis til og med bruk av verdier før n. answered 21. juni 09 på 13 35. Fra å tilbringe en time eller så, mucking litt om matematikken for dette, jeg tror at det bare er å variere alfaen, vil faktisk gi meg riktig interpolering mellom de to peker på at du snakker om, men på en mye enklere måte Videre tror jeg at varierende alfa også vil håndtere prøver som tas mellom standardprøvetagningsintervallene. Med andre ord, jeg søker etter det du har beskrevet, men prøver å bruke matte til finne ut den enkle måten å gjøre det på Curt Sampson 21 juni 09 kl 14 07. Jeg tror ikke det er et slikt dyr som riktig interpolering Du vet bare ikke hva som skjedde i tiden du ikke prøver. God og dårlig interpolering innebærer litt kunnskap av det du savnet, siden du må måle mot det for å bedømme om en interpolering er god eller dårlig. Selv om det er sagt, kan du legge inn begrensninger, dvs. med maksimal akselerasjon, hastighet osv. Jeg tror at hvis du vet hvordan du modellerer de manglende dataene , da ville du bare modellere de manglende dataene, og deretter bruke EMA-algoritmen uten endring, heller enn å endre alfa. Bare min 2c freespace 21. juni 09 kl 14 17. Dette er akkurat det jeg fikk på i redigeringen til spørsmålet 15 minutter siden du bare d På t vet hva som skjedde i tiden du ikke er prøvetaking, men det er sant selv om du prøver på hvert bestemt intervall. Således vil Nyquist-begrunnelsen min så lenge du vet bølgeformen ikke endre retninger mer enn hvert par prøver, den faktiske prøveintervallet burde ikke variere. EMA-ligningen virker for meg akkurat som å regne ut som om bølgeformen endret lineært fra den siste samplingsverdien til den nåværende Curt Sampson 21. juni kl. 14 26. Jeg tror ikke at er helt sant Nyquist s sats krever at minimum 2 prøver per periode skal kunne identifisere signalet unikt Hvis du ikke gjør det, får du aliasing Det ville være det samme som sampling som fs1 for en tid, deretter fs2 og deretter tilbake til fs1 og du får aliasing i dataene når du prøver med fs2 hvis fs2 er under Nyquist-grensen. Jeg må også bekjenne at jeg ikke forstår hva du mener med bølgeform endringer lineært fra siste prøve til nåværende. Kan du vær så snill å forklare Cheers, Steve ledig plass Jun 21 09 på 14 36. Dette ligner på et åpent problem på min todo liste Jeg har en plan utarbeidet i en viss grad, men har ikke matematisk arbeid for å tilbakebetale dette forslaget ennå. Oppdateringsoppsummering Vil gjerne holde utjevningsfaktoren alfa-uavhengig av kompensasjonsfaktoren som jeg refererer til som beta her, Jason s utmerket svar som allerede er akseptert her, fungerer bra for meg. Hvis du også kan måle tiden siden den siste prøven ble tatt i avrundede multipler av din konstante prøvetakingstid - så 7 8 ms siden siste prøve ville være 8 enheter, som kan brukes til å bruke utjevning flere ganger. Bruk formelen 8 ganger i dette tilfellet. Du har effektivt gjort en utjevning partisk mer mot dagens verdi. For å få en bedre utjevning, må vi finjustere alfaen mens du bruker formelen 8 ganger i det forrige tilfellet. Hva vil denne utjevningstilnærmingen gå glipp av. Det har allerede gått glipp av 7 eksempler i eksemplet ovenfor. Dette ble tilnærmet i trinn 1 med en flatet gjengivelse av dagens va lue ytterligere 7 ganger. Hvis vi definerer en tilnæringsfaktor beta som vil bli brukt sammen med alfa som alfa beta i stedet for bare alfa, antas det at de 7 savnede prøvene endret seg jevnt mellom forrige og nåværende utvalgsverdier. 21 09 på 13 35. Jeg tenkte på dette, men litt av å mucking om med matte fikk meg til det punktet der jeg tror det, i stedet for å bruke formelen åtte ganger med prøveverdien, kan jeg gjøre en beregning av en ny alfa som vil tillate meg å bruke formelen en gang og gi meg det samme resultatet Videre vil dette automatisk håndtere spørsmålet om prøver som er kompensert fra eksakte prøvetider Curt Sampson 21. juni kl. 13 47. Den eneste applikasjonen er bra Hva jeg er ikke sikker på om ennå er hvor god tilnærmingen til de 7 manglende verdiene er. Hvis kontinuerlig bevegelse gjør verdien jitter mye over 8 millisekunder, kan tilnærmingene være ganske av virkeligheten. Men da, hvis du prøver på 1m høyeste reso lution utenom de forsinkede prøvene du allerede har funnet jitteren innen 1 ms er ikke relevant. Fungerer denne begrunnelsen for deg. Jeg forsøker fortsatt å overbevise meg selv nik 21. juni kl 14 08. Rett Det er faktoren beta fra min beskrivelse En beta-faktor ville beregnes basert på forskjellintervallet og nåværende og tidligere prøver. Den nye alfa vil være alfa beta, men den vil bare bli brukt for den prøven. Mens du synes å flytte alfa i formelen, har jeg en tendens til konstant alfa-utjevningsfaktor og en uavhengig beregnet beta en stemmingsfaktor som kompenserer for prøver savnet akkurat nå nik 21 juni 09 kl 15 23.

No comments:

Post a Comment