Flytte gjennomsnitt: Hva er de Blant de mest populære tekniske indikatorene, er glidende gjennomsnitt brukt til å måle retningen for den nåværende trenden. Hver type bevegelige gjennomsnitt (vanligvis skrevet i denne opplæringen som MA) er et matematisk resultat som beregnes ved å beregne et antall tidligere datapunkter. Når det er bestemt, blir det resulterende gjennomsnittet plottet på et diagram for å tillate handelsmenn å se på glatt data, i stedet for å fokusere på de daglige prisfluktuasjonene som er iboende i alle finansmarkeder. Den enkleste formen for et bevegelige gjennomsnitt, riktig kjent som et enkelt glidende gjennomsnitt (SMA), beregnes ved å ta det aritmetiske gjennomsnittet av et gitt sett av verdier. For eksempel, for å beregne et grunnleggende 10-dagers glidende gjennomsnitt vil du legge til sluttkursene fra de siste 10 dagene, og deretter dele resultatet med 10. I figur 1 er summen av prisene for de siste 10 dagene (110) dividert med antall dager (10) for å komme fram til 10-dagers gjennomsnittet. Hvis en forhandler ønsker å se et 50-dagers gjennomsnitt i stedet, vil samme type beregning bli gjort, men det vil inkludere prisene i løpet av de siste 50 dagene. Det resulterende gjennomsnittet under (11) tar hensyn til de siste 10 datapunktene for å gi handelsmenn en ide om hvordan en eiendel er priset i forhold til de siste 10 dagene. Kanskje du lurer på hvorfor tekniske handelsfolk kaller dette verktøyet et bevegelige gjennomsnitt og ikke bare en vanlig gjennomsnitt. Svaret er at når nye verdier blir tilgjengelige, må de eldste datapunktene slippes fra settet og nye datapunkter må komme inn for å erstatte dem. Dermed går datasettet kontinuerlig til å regne for nye data etter hvert som det blir tilgjengelig. Denne beregningsmetoden sikrer at bare den nåværende informasjonen blir regnskapsført. I figur 2 flyttes den røde boksen (som representerer de siste 10 datapunktene) til høyre, og den siste verdien av 15 blir tapt fra beregningen når den nye verdien av 5 er lagt til settet. Fordi den relativt små verdien av 5 erstatter den høye verdien på 15, ville du forvente å se gjennomsnittet av datasettets reduksjon, som det gjør, i dette tilfellet fra 11 til 10. Hva ser Moving Averages Like Når verdiene til MA har blitt beregnet, de er plottet på et diagram og deretter koblet til for å skape en bevegelig gjennomsnittslinje. Disse svingete linjene er vanlige på diagrammer av tekniske handelsfolk, men hvordan de brukes kan variere drastisk (mer om dette senere). Som du kan se i figur 3, er det mulig å legge til mer enn ett glidende gjennomsnitt i et diagram ved å justere antall tidsperioder som brukes i beregningen. Disse svingete linjene kan virke distraherende eller forvirrende i begynnelsen, men du vil bli vant til dem når tiden går videre. Den røde linjen er bare gjennomsnittsprisen de siste 50 dagene, mens den blå linjen er gjennomsnittsprisen de siste 100 dagene. Nå som du forstår hva et glidende gjennomsnitt er, og hvordan det ser ut, kan du godt presentere en annen type glidende gjennomsnitt og undersøke hvordan det er forskjellig fra det tidligere nevnte enkle glidende gjennomsnittet. Det enkle glidende gjennomsnittet er ekstremt populært blant handelsfolk, men som alle tekniske indikatorer har det kritikere. Mange individer hevder at bruken av SMA er begrenset fordi hvert punkt i dataserien vektes det samme, uavhengig av hvor det forekommer i sekvensen. Kritikere hevder at de nyeste dataene er mer signifikante enn de eldre dataene, og bør ha større innflytelse på sluttresultatet. Som svar på denne kritikken begynte handelsmenn å gi mer vekt på nyere data, som siden har ført til oppfinnelsen av ulike typer nye gjennomsnitt, hvorav den mest populære er det eksponentielle glidende gjennomsnittet (EMA). (For videre lesing, se Grunnleggende om vektede bevegelige gjennomsnitt og hva som er forskjellen mellom en SMA og en EMA) Eksponentiell flytende gjennomsnitt Det eksponentielle glidende gjennomsnittet er en type bevegelige gjennomsnitt som gir mer vekt til de siste prisene i et forsøk på å gjøre det mer responsivt til ny informasjon. Å lære den noe kompliserte ligningen for å beregne en EMA kan være unødvendig for mange forhandlere, siden nesten alle kartleggingspakker gjør beregningene for deg. Men for deg matematiske geeks der ute, her er EMA-ligningen: Når du bruker formelen til å beregne det første punktet til EMA, kan det hende du merker at det ikke er noen verdi tilgjengelig for bruk som den forrige EMA. Dette lille problemet kan løses ved å starte beregningen med et enkelt glidende gjennomsnitt og fortsette videre med den ovennevnte formelen derfra. Vi har gitt deg et eksempelkart som inneholder virkelige eksempler på hvordan du kan beregne både et enkelt glidende gjennomsnitt og et eksponentielt glidende gjennomsnitt. Forskjellen mellom EMA og SMA Nå som du har en bedre forståelse av hvordan SMA og EMA beregnes, kan vi se på hvordan disse gjennomsnittene er forskjellige. Ved å se på beregningen av EMA, vil du legge merke til at det legges større vekt på de siste datapunktene, noe som gjør det til en type vektet gjennomsnitt. I figur 5 er antall tidsperioder som brukes i hvert gjennomsnitt identisk (15), men EMA reagerer raskere på de endrede prisene. Legg merke til hvordan EMA har en høyere verdi når prisen stiger, og faller raskere enn SMA når prisen senker. Denne responsen er den viktigste grunnen til at mange handelsmenn foretrekker å bruke EMA over SMA. Hva betyr de forskjellige dagene Gjennomsnittlig flytteverdi er en helt tilpassbar indikator, noe som betyr at brukeren fritt kan velge hvilken tidsramme de vil ha når man lager gjennomsnittet. De vanligste tidsperioder som brukes i bevegelige gjennomsnitt er 15, 20, 30, 50, 100 og 200 dager. Jo kortere tidsrammen som brukes til å skape gjennomsnittet, jo mer følsomt blir det for prisendringer. Jo lengre tidsrom, jo mindre følsomt, eller mer utjevnet, vil gjennomsnittet være. Det er ingen riktig tidsramme som skal brukes når du oppretter dine bevegelige gjennomsnitt. Den beste måten å finne ut hvilken som passer best for deg, er å eksperimentere med en rekke forskjellige tidsperioder til du finner en som passer til din strategi. Hva er formelen for eksponensiell flytende gjennomsnitt (EMA) og hvordan beregnes EMA eksponentiell flytting gjennomsnittlig (EMA) er et vektet glidende gjennomsnitt (WMA) som gir mer vekt eller viktighet til siste prisdata enn det enkle glidende gjennomsnittet (SMA) gjør. EMA reagerer raskere på de siste prisendringene enn SMA. Formelen for beregning av EMA involverer bare å bruke en multiplikator og starte med SMA. Beregningen for SMA er veldig grei. SMA for et gitt antall tidsperioder er bare summen av sluttkursene for det antall tidsperioder dividert med samme nummer. Så for eksempel er en 10-dagers SMA bare summen av sluttkursene de siste 10 dagene, delt med 10. De tre trinnene for å beregne EMA er: Beregn SMA. Beregn multiplikatoren for vekting av EMA. Beregn gjeldende EMA. Den matematiske formelen, i dette tilfellet for å beregne en 10-årig EMA, ser slik ut: SMA: 10 periode sum10 Beregning av vektingsmultiplikatoren: (2 (valgt tidsperiode 1)) (2 (10 1)) 0,1818 (18,18) Beregning EMA: (sluttpris-EMA (forrige dag)) x multiplikator EMA (forrige dag) Vektingen gitt til den siste prisen er større for en kortere periode EMA enn for en lengre periode EMA. For eksempel brukes en 18.18 multiplikator til de nyeste prisdataene for en 10 EMA, mens for en 20 EMA brukes bare en 9,52 multiplikatorvekting. Det er også små variasjoner av EMA ankommet ved å bruke den åpne, høye, lave eller medianprisen i stedet for å bruke sluttkursen. Bruk eksponentiell glidende gjennomsnitt (EMA) for å skape en dynamisk forex tradingstrategi. Lær hvordan EMAer kan utnyttes veldig. Les svar Lær de viktige potensielle fordelene ved å bruke et eksponentielt glidende gjennomsnitt når du handler, i stedet for en enkel bevegelse. Les svar Lær om enkle bevegelige gjennomsnitt og eksponentielle glidende gjennomsnitt, hva disse tekniske indikatorene måler og forskjellen. Les svar Lær formelen for den bevegelige gjennomsnittlige konvergensdivergensmomentindikatoren og finn ut hvordan du beregner MACD. Les svar Lær om ulike typer bevegelige gjennomsnittsverdier, samt å flytte gjennomsnittlige overganger, og forstå hvordan de brukes. Les svar Oppdag de primære forskjellene mellom eksponentielle og enkle glidende gjennomsnittlige indikatorer, og hvilke ulemper EMAs kan. Les svar Beta er et mål for volatiliteten, eller systematisk risiko, av en sikkerhet eller en portefølje i forhold til markedet som helhet. En type skatt belastet kapitalgevinster pådratt av enkeltpersoner og selskaper. Kapitalgevinst er fortjenesten som en investor. En ordre om å kjøpe en sikkerhet til eller under en spesifisert pris. En kjøpsgrenseordre tillater handelsmenn og investorer å spesifisere. En IRS-regelen (Internal Revenue Service) som tillater straffefri uttak fra en IRA-konto. Regelen krever det. Det første salg av aksjer av et privat selskap til publikum. IPO er ofte utstedt av mindre, yngre selskaper som søker. Gjeldsgrad er gjeldsraten som brukes til å måle selskapets økonomiske innflytelse eller en gjeldsgrad som brukes til å måle en person. Jeg har en kontinuerlig verdi som Id liker å beregne et eksponentielt glidende gjennomsnitt. Normalt bruker Id bare standardformelen for dette: hvor S n er det nye gjennomsnittet, alfa 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. Jeg kan kanskje jeg kan prøve mest, 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 regner med at, uansett forsinkelser, vil samplingsfrekvensen være langt, langt over Nyquist-grensen, og derfor trenger jeg ikke bekymre meg for aliasing. Jeg regner med at jeg kan håndtere dette på en mer eller mindre rimelig måte ved å variere alfa hensiktsmessig, basert på lengden på tid siden siste prøve. En del av tanken min på at dette vil fungere er at EMA interpolerer lineært mellom det forrige datapunktet og det nåværende. Hvis vi vurderer å beregne en EMA av følgende liste med 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. det ville være det samme som intervallet t beregning beregning på 0,2,2,4,4, som det ikke gjør. Eller er det fornuftig i det hele tatt Kan noen fortelle meg hvordan du kan variere alfaet på riktig måte Vennligst vis arbeidet ditt. Dvs. vis meg matematikken som viser at metoden virkelig gjør det rette. spurte 21 juni 09 kl 13:05 Du burde ikke få samme EMA for ulike innspill. Tenk på EMA som et filter, prøvetakingen ved 2 t er lik nedsampling, og filteret kommer til å gi en annen utgang. Dette 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 på flyet slik at det gir samme utgang. Kanskje jeg savner noe ndash freespace 21 juni 09 kl 15:52 Men inngangen er ikke annerledes, det er bare samplet sjeldnere. 0,2,4 i intervaller 2t er som 0, 2, 4 med intervaller t, der det indikerer at prøven ignoreres ndash Curt Sampson 21 juni 09 kl 23:45 Dette svaret er basert på min gode forståelse av lavpas filtre (eksponentiell glidende gjennomsnitt er egentlig bare et enkeltpolet lavpasfilter), men min dumme forståelse av hva du leter etter. Jeg tror at følgende er det du vil: For det første kan du forenkle din likning 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 input, som du har gjort). For det andre er verdien av alpha her lik 1-e-deltatt hvor Deltat er tiden mellom prøvene, og tau er tidskonstanten for lavpassfilteret. Jeg sier lik i anførselstegn fordi dette fungerer bra når Deltattau er liten sammenlignet med 1, og alpha 1-e-Delta asymp Deltattau. (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 tilstandsvariabelen S, der N-log 2 (alfa).) For større verdier av Deltattau filtreringseffekten begynner å forsvinne, til du kommer til det punktet hvor alfa er nær 1 og du er i utgangspunktet bare tilordnet inngangen til utgangen. Dette skal fungere skikkelig med varierende verdier av Deltat (variasjonen av Deltat er ikke så viktig så lenge alfa er liten, ellers vil du gå inn i noen ganske rare Nyquist-problemer, aliasering etc.), og hvis du jobber med en prosessor der multiplikasjon er billigere enn divisjon, eller faste punktproblemer er viktige, forhåndskalkulerte omega 1tau, og vurdere å prøve å omtrentliggjøre formelen for alfa. Hvis du virkelig vil vite hvordan du skal utlede formelen alpha 1-e-Delta, kan du vurdere dens differensialligningskilde: som, når X er en enhetstegningsfunksjon, har løsningen Y 1 - e - ttau. For små verdier av Deltat, kan derivatet tilnærmet av DeltaYDeltat, noe som gir Y tau DeltaYDeltat X DeltaY (XY) (Deltattau) alfa (XY), og ekstrapoleringen av alfa 1-e-deltast kommer fra å forsøke å samsvare oppførselen med Enhetssteg-funksjonssak. Ønsker du å utdype quottrying for å matche oppførselenquot-delen Jeg forstår din kontinuerlige tidsløsning Y 1 - exp (-t47) og generaliseringen til en skalert trinnfunksjon med størrelsen x og innledende tilstand y (0). men jeg ser ikke hvordan å sette disse ideene sammen for å oppnå ditt resultat. ndash Rhys Ulerich 4 mai 13 kl 22:34 Dette er ikke et komplett svar, men kan være starten på en. Det er så langt jeg fikk med dette om en time å spille Im postering 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 gjennomsnittet som følge av forrige gjennomsnitt S -1 og prøven Y 0 tatt ved t 0. (t 1 - t 0) er mitt utvalgsintervall og alfa er satt til det som er aktuelt for det prøveintervallet og perioden over hvilken jeg vil 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, vi kan begynne med å utvide ligningen for å se hva som ville ha skjedd hvis vi hadde hatt Y 1: Jeg merker at serien ser ut til å strekke uendelig på denne måten, fordi vi kan erstatte S n i høyre side på ubestemt tid: Ok , så det er egentlig ikke et polynom (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 glidende gjennomsnitt. Uansett har jeg dette x 0 x 1 x 2 x 3. ting går, 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. Eventuelle svar på dette spørsmålet, eller noe bevis på korrekthet av et slikt svar, avhenger svært av dataene du måler. Hvis prøvene dine ble tatt ved t 0 0ms. t 1 0,9ms og t 2 2,1ms. men valget ditt av alpha er basert på intervaller på 1 ms, og derfor vil du ha en lokalt justert alpha n. Beviset på korrekt valg av valget ville bety at man kjente utvalgsverdiene ved t1ms og t2ms. 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å så vidt jeg ser det, er det logiske valget av en mellom-verdi Y (t) er det senest beregnede gjennomsnittet. dvs. Y (t) asymp Sn hvor n er maksimal slik at t n ltt. Dette valget har en enkel konsekvens: Forlat alfa alene, uansett hva tidsforskjellen var. Hvis det derimot er mulig å interpolere verdiene dine, så vil dette gi deg gjennomsnittsverdier med konstant intervall. Til slutt, hvis det er mulig å interpolere gjennomsnittet selv, ville det gjøre spørsmålet meningsløst. besvart 21 juni 09 kl 15:08 balpha 9830 27.1k 9679 10 9679 87 9679 117 Jeg tror at jeg kan interpolere dataene mine: gitt at jeg prøver det med diskrete intervaller, gjør jeg det allerede med en standard EMA. Uansett, antar at jeg trenger en kvotebevis som viser at den fungerer, fungerer som en standard EMA, som også har, vil gi et feilresultat hvis verdiene ikke endres ganske jevnt mellom prøveperioder. ndash Curt Sampson 21 juni 09 kl 15:21 Men det er det jeg sier: Hvis du vurderer EMA en interpolering av verdiene dine, har du gjort det 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 citerer, så vel som en standard EMAquot - hva som er galt med originalen. Med mindre du har mer informasjon om dataene du måler, vil eventuelle lokale tilpasninger til alfa i beste fall være vilkårlige. ndash balpha 9830 21 Jun 09 kl 15:31 Jeg ville legge alfaverdien alene, og fyll ut de manglende dataene. Siden du ikke vet hva som skjer i løpet av tiden du ikke kan prøve, kan du fylle disse prøvene med 0s, eller holde den forrige verdien stabil og bruke disse verdiene for EMA. Eller noen bakoverinterpolering når du har en ny prøve, fyll ut de manglende verdiene, og rekomputer EMA. Det jeg prøver å få på er at du har et 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 xnM. hvor M er antall manglende prøver og n begynnelsen av gapet. Muligens selv å bruke verdier før n. besvart 21 juni 09 kl 13:35 Fra å bruke en time eller så, mucking litt om matematikken for dette, tror jeg det bare å variere alfa vil faktisk gi meg riktig interpolering mellom de to punktene du snakker om, men i en mye enklere måte. Videre tror jeg at varierende alfa også vil håndtere prøver som tas mellom standard prøvetaking intervaller. Med andre ord, leter jeg etter det du har beskrevet, men prøver å bruke matte for å finne ut den enkle måten å gjøre det på. ndash Curt Sampson 21 Jun 09 kl 14:07 Jeg tror ikke det er et slikt dyr som citerer interpolationquot. Du vet bare ikke hva som skjedde i tiden du ikke er prøvetaking. God og dårlig interpolering innebærer litt kunnskap om hva 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 plassere begrensninger, dvs. med maksimal akselerasjon, fart, etc. Jeg tror at hvis du vet hvordan du modellerer de manglende dataene, så vil du bare modellere de manglende dataene, og deretter bruke EMA-algoritmen uten endring, heller enn å endre alfa. Bare min 2c :) ndash freespace 21 Jun 09 kl 14:17 Dette er akkurat det jeg fikk på i min redigering til spørsmålet for 15 minutter siden: quotYou bare vet ikke hva som skjedde i tiden du ikke er sampling, men det er sant selv om du prøver på hvert angitt intervall. Dermed er Nyquist-begrunnelsen min: Så lenge du vet bølgeformen, endrer du ikke retninger mer enn hvert par prøver, det faktiske utvalgsintervallet burde ikke matter, og bør kunne variere. EMA-ligningen virker for meg akkurat å regne ut som om bølgeformen endret lineært fra den siste samplingsverdien til den nåværende. ndash Curt Sampson 21 Jun 09 kl 14:26 Jeg tror ikke det er helt sant. Nyquists teorem krever at det kreves minst 2 prøver per periode for å 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, 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 quotwaveform endres lineært fra siste utvalg til nåværende onequot. Kan du vær så snill å forklare Skål, Steve. ndash freespace 21 juni 09 kl 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 å bakke dette forslaget ennå. Oppdater amp sammendrag: Vil gjerne holde utjevningsfaktoren (alfa) uavhengig av kompensasjonsfaktoren (som jeg refererer til som beta her). Jasons gode svar allerede 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 kunne 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å bedre utjevning, må vi justere alfa mens du bruker formelen 8 ganger i forrige tilfelle. Hva vil denne utjevningsmessige tilnærmingen savne Den har allerede gått glipp av 7 eksempler i eksemplet ovenfor Dette ble tilnærmet i trinn 1 med en flatet gjengivelse av gjeldende verdi ytterligere 7 ganger. Hvis vi definerer en tilnæringsfaktor beta som vil bli anvendt sammen med alpha (som alfabet i stedet for bare alfa), antas vi at de 7 savnede prøvene endret seg jevnt mellom forrige og nåværende samplingsverdier. svarte 21 juni 09 klokka 13:35 Jeg tenkte på dette, men det var litt å kaste med matematikken 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. ndash Curt Sampson 21 Jun 09 kl 13:47 Den enkle søknaden er greit. Det jeg ikke er sikker på om ennå, er hvor god er tilnærmingen til de 7 manglende verdiene. Hvis den kontinuerlige bevegelsen gjør verdien jitter mye over 8 millisekunder, kan tilnærmingene være ganske utenfor virkeligheten. Men hvis du er prøvetaking på 1ms (høyeste oppløsning eksklusive forsinkede prøver) har du allerede funnet jitteren innen 1ms ikke relevant. Fungerer denne resonnementet for deg (jeg prøver fortsatt å overbevise meg selv). ndash nik 21 juni 09 kl 14:08 Høyre. Det er faktoren beta fra beskrivelsen min. En beta-faktor beregnes basert på forskjellintervallet og gjeldende og tidligere prøver. Den nye alfa vil være (alfabetisk), men den vil bare bli brukt for den prøven. Mens du synes å være 39moving39 alfaen i formelen, har jeg en tendens til konstant alfa (utjevningsfaktor) og en uavhengig beregnet beta (en stemmingsfaktor) som kompenserer for prøver som ikke blir savnet akkurat nå. ndash nik Jun 21 09 at 15:23 Jeg har i hovedsak en rekke verdier som dette: Ovennevnte array er forenklet, jeg samler 1 verdi per millisekund i min ekte kode og jeg må behandle utdataene på en algoritme jeg skrev for å finne den nærmeste topp før et tidspunkt. Min logikk feiler fordi i mitt eksempel over, er 0.36 den virkelige toppen, men min algoritme vil se bakover og se det aller siste nummeret 0,25 som toppen, da det er en reduksjon til 0,24 før den. Målet er å ta disse verdiene og bruke en algoritme til dem som vil glatte dem ut litt, slik at jeg har mer lineære verdier. (dvs.: Jeg synes at resultatene mine skal være svingete, ikke sjokkerende) Jeg har blitt fortalt å bruke et eksponentielt glidende gjennomsnittsfilter til mine verdier. Hvordan kan jeg gjøre dette? Det er veldig vanskelig for meg å lese matematiske ligninger, jeg har mye bedre med kode. Hvordan behandler jeg verdier i mitt utvalg, og bruker en eksponentiell glidende gjennomsnittlig beregning til selv dem ut spurt 8. februar kl 20:27 For å beregne et eksponentielt glidende gjennomsnitt. du trenger å holde noen stat rundt og du trenger en tuning parameter. Dette krever en liten klasse (forutsatt at du bruker Java 5 eller nyere): Instantiate med decay-parameteren du vil ha (kanskje ta tuning skal være mellom 0 og 1) og bruk deretter gjennomsnittlig () for å filtrere. Når du leser en side om matematisk tilbakevending, trenger du bare å vite når du gjør det til kode, at matematikere liker å skrive indekser i arrays og sekvenser med abonnementer. (De har også et par andre notater, noe som ikke hjelper.) EMA er imidlertid ganske enkel, da du bare trenger å huske en gammel verdi, ingen kompliserte tilstandsarrayer kreves. svarte 8. februar kl 12:42 TKKocheran: Ganske mye. Det er ikke bra når ting kan være enkle (Hvis du starter med en ny sekvens, får du en ny gjennomsnittlig.) Vær oppmerksom på at de første betingelsene i gjennomsnittssekvensen vil hoppe rundt litt på grunn av grenseeffekter, men du får de med andre bevegelige gjennomsnitt også. En god fordel er imidlertid at du kan pakke den bevegelige gjennomsnittlige logikken inn i avvergeren og eksperimentere uten å forstyrre resten av programmet for mye. ndash Donal Fellows 9 Feb 12 kl 0:06 Jeg har det vanskelig å forstå dine spørsmål, men jeg vil prøve å svare uansett. 1) Hvis algoritmen din fant 0,25 i stedet for 0,36, så er det feil. Det er feil fordi det forutsetter en monotonisk økning eller reduksjon (det går alltid opp eller går alltid ned). Med mindre du gjennomsnittlig ALLE dataene dine, er datapunktene dine --- som du presenterer dem --- ikke-lineære. Hvis du virkelig vil finne den maksimale verdien mellom to poeng i tid, skar du matrisen din fra tmin til tmax og finn maksimalt for den subarrayen. 2) Nå er begrepet bevegelige gjennomsnitt veldig enkle: forestill deg at jeg har følgende liste: 1.4, 1.5, 1.4, 1.5, 1.5. Jeg kan glatte det ut ved å ta gjennomsnittet av to tall: 1,45, 1,45, 1,45, 1,5. Legg merke til at første nummer er gjennomsnittet på 1,5 og 1,4 (andre og første tall) den andre (nye listen) er gjennomsnittet på 1,4 og 1,5 (tredje og andre gamle liste) den tredje (nye listen) gjennomsnittet på 1,5 og 1,4 (fjerde og tredje), og så videre. Jeg kunne ha gjort det perioden tre eller fire, eller n. Legg merke til hvordan dataene er mye jevnere. En god måte å se glidende gjennomsnitt på jobben er å gå til Google Finance, velg en aksje (prøv Tesla Motors ganske flyktig (TSLA)) og klikk på technicals nederst i diagrammet. Velg Moving Average med en gitt periode, og eksponentiell glidende gjennomsnitt for å sammenligne forskjellene sine. Eksponentielt glidende gjennomsnitt er bare en annen utbygging av dette, men veier de eldre dataene mindre enn de nye dataene, dette er en måte å forvirre utjevningen mot baksiden. Vennligst les Wikipedia-oppføringen. Så dette er mer en kommentar enn et svar, men den lille kommentarboksen var bare for liten. Lykke til. Hvis du har problemer med matematikken, kan du gå med et enkelt bevegelige gjennomsnitt i stedet for eksponentiell. Så utgangen du får, vil være de siste x-vilkårene delt med x. Ikke testet pseudokode: Vær oppmerksom på at du må håndtere start - og slutten av dataene, siden du klart ikke kan bruke de siste 5 vilkårene når du er på ditt andre datapunkt. Det er også mer effektive måter å beregne dette glidende gjennomsnittet (sum sum - eldste nyeste), men dette er å få konseptet av hva som skjer over. besvart 8. februar kl 12:41
Comments
Post a Comment