Slik beregner du Flytte Gjennomsnitt i Excel Excel Data Analyse For Dummies, 2. utgave Kommandoen Data Analyse gir et verktøy for å beregne flytende og eksponentielt glatte gjennomsnitt i Excel. Anta, for illustrasjons skyld, at du har samlet inn daglig temperaturinformasjon. Du vil beregne tre-dagers glidende gjennomsnitt 8212 gjennomsnittet for de siste tre dagene 8212 som en del av noen enkle værprognoser. For å beregne bevegelige gjennomsnitt for dette datasettet, gjør du følgende trinn. For å beregne et bevegelige gjennomsnittsnivå, klikker du først på kommandoknappen Data tab8217s Data Analyse. Når Excel viser dialogboksen Dataanalyse, velger du elementet Flytende gjennomsnitt fra listen, og klikker deretter OK. Excel viser dialogboksen Moving Average. Identifiser dataene du vil bruke til å beregne det bevegelige gjennomsnittet. Klikk i tekstboksen Inngangsområde i dialogboksen Moving Average. Deretter identifiserer du innspillingsområdet, enten ved å skrive inn et regnearkområdeadresse eller ved å bruke musen til å velge regnearkområdet. Ditt referanseområde bør bruke absolutte celleadresser. En absolutt celleadresse går foran kolonnebrevet og radnummeret med tegn, som i A1: A10. Hvis den første cellen i innspillingsområdet inneholder en tekstetikett for å identifisere eller beskrive dataene dine, velger du avmerkingsboksen Etiketter i første rad. I tekstboksen Intervall, fortell Excel hvor mange verdier som skal inkluderes i gjennomsnittlig beregning i glidende retning. Du kan beregne et glidende gjennomsnitt ved å bruke et hvilket som helst antall verdier. Som standard bruker Excel de siste tre verdiene til å beregne glidende gjennomsnitt. For å angi at et annet antall verdier skal brukes til å beregne det bevegelige gjennomsnittet, skriv inn verdien i Intervall-tekstboksen. Fortell Excel hvor du skal plassere de bevegelige gjennomsnittsdataene. Bruk tekstboksen Utgangsområde for å identifisere arbeidsarkområdet som du vil plassere de bevegelige gjennomsnittsdataene i. I regnearkseksemplet er de bevegelige gjennomsnittsdataene plassert i regnearkområdet B2: B10. (Valgfritt) Angi om du vil ha et diagram. Hvis du vil ha et diagram som viser den bevegelige gjennomsnittlige informasjonen, markerer du avkrysningsboksen Kartutgang. (Valgfritt) Angi om du vil beregne standard feilinformasjon. Hvis du vil beregne standardfeil for dataene, merker du av for Standard feil. Excel plasserer standard feilverdier ved siden av de bevegelige gjennomsnittsverdiene. (Standardfeilinformasjonen går inn i C2: C10.) Når du er ferdig med å angi hvilken flytende gjennomsnittsinformasjon du vil beregne, og hvor du vil plassere den, klikker du OK. Excel beregner flytende gjennomsnittsinformasjon. Merk: Hvis Excel doesn8217t har nok informasjon til å beregne et glidende gjennomsnitt for en standardfeil, plasserer den feilmeldingen i cellen. Du kan se flere celler som viser denne feilmeldingen som en verdi. Eksponering Den eksponentielt vektede Flytende Gjennomsnittlig volatilitet er det vanligste risikobilledet, men det kommer i flere smaker. I en tidligere artikkel viste vi hvordan du kan beregne enkel historisk volatilitet. (For å lese denne artikkelen, se Bruke volatilitet for å måle fremtidig risiko.) Vi brukte Googles faktiske aksjekursdata for å beregne den daglige volatiliteten basert på 30 dagers lagerdata. I denne artikkelen vil vi forbedre den enkle volatiliteten og diskutere eksponentielt vektet glidende gjennomsnitt (EWMA). Historisk Vs. Implisitt volatilitet Først kan vi sette denne metriske inn i litt perspektiv. Det er to brede tilnærminger: historisk og underforstått (eller implisitt) volatilitet. Den historiske tilnærmingen antar at fortid er prolog, vi måler historie i håp om at det er forutsigbart. Implisitt volatilitet, derimot, ignorerer historien den løser for volatiliteten underforstått av markedsprisene. Det håper at markedet vet best, og at markedsprisen inneholder, selv om det implisitt er, et konsensusoverslag over volatiliteten. Hvis du fokuserer på bare de tre historiske tilnærmingene (til venstre over), har de to trinn til felles: Beregn serien av periodisk avkastning Bruk en vektingsplan Først må vi beregne periodisk avkastning. Det er vanligvis en serie av daglige avkastninger der hver retur er uttrykt i kontinuerlig sammensatte vilkår. For hver dag tar vi den naturlige loggen av forholdet mellom aksjekursene (det vil si prisen i dag fordelt på pris i går, og så videre). Dette gir en rekke daglige avkastninger, fra deg til deg i-m. avhengig av hvor mange dager (m dager) vi måler. Det får oss til det andre trinnet: Det er her de tre tilnærmingene er forskjellige. I den forrige artikkelen (Bruke volatilitet for å måle fremtidig risiko) viste vi at det med noen akseptable forenklinger er den enkle variansen gjennomsnittet av kvadreret retur: Legg merke til at dette beløper hver periodisk avkastning, og deler deretter den totale av antall dager eller observasjoner (m). Så, det er egentlig bare et gjennomsnitt av den kvadratiske periodiske avkastningen. Sett på en annen måte, hver kvadret retur blir gitt like vekt. Så hvis alfa (a) er en vektningsfaktor (spesifikt en 1m), ser en enkel varianse slik ut: EWMA forbedrer seg på enkel variasjon Svakheten i denne tilnærmingen er at alle avkastningene tjener samme vekt. Yesterdays (veldig nylig) avkastning har ingen større innflytelse på variansen enn de siste månedene tilbake. Dette problemet er løst ved å bruke det eksponentielt vektede glidende gjennomsnittet (EWMA), der nyere avkastning har større vekt på variansen. Det eksponentielt vektede glidende gjennomsnittet (EWMA) introduserer lambda. som kalles utjevningsparameteren. Lambda må være mindre enn en. Under denne betingelsen, i stedet for likevekter, vektlegges hver kvadret retur med en multiplikator på følgende måte: Risikostyringsfirmaet RiskMetrics TM har for eksempel en tendens til å bruke en lambda på 0,94 eller 94. I dette tilfellet er den første ( siste) kvadratiske periodiske avkastningen er vektet av (1-0.94) (.94) 0 6. Den neste kvadrerade retur er bare et lambda-flertall av den tidligere vekten i dette tilfellet 6 multiplisert med 94 5,64. Og den tredje forrige dagens vekt er lik (1-0,94) (0,94) 2 5,30. Det er betydningen av eksponensiell i EWMA: hver vekt er en konstant multiplikator (dvs. lambda, som må være mindre enn en) av den tidligere dagens vekt. Dette sikrer en variasjon som er vektet eller forspent mot nyere data. (For å lære mer, sjekk ut Excel-regnearket for Googles volatilitet.) Forskjellen mellom bare volatilitet og EWMA for Google er vist nedenfor. Enkel volatilitet veier effektivt hver periodisk avkastning med 0,196 som vist i kolonne O (vi hadde to års daglig aksjekursdata. Det er 509 daglige avkastninger og 1509 0,196). Men merk at kolonne P tildeler en vekt på 6, deretter 5,64, deretter 5,3 og så videre. Det er den eneste forskjellen mellom enkel varians og EWMA. Husk: Etter at vi summerer hele serien (i kolonne Q) har vi variansen, som er kvadratet av standardavviket. Hvis vi vil ha volatilitet, må vi huske å ta kvadratroten av den variansen. Hva er forskjellen i den daglige volatiliteten mellom variansen og EWMA i Googles tilfelle. Det er signifikant: Den enkle variansen ga oss en daglig volatilitet på 2,4, men EWMA ga en daglig volatilitet på bare 1,4 (se regnearket for detaljer). Tilsynelatende avviklet Googles volatilitet mer nylig, derfor kan en enkel varianse være kunstig høy. Dagens variasjon er en funksjon av Pior Days Variance Du vil legge merke til at vi trengte å beregne en lang rekke eksponentielt avtagende vekter. Vi vil ikke gjøre matematikken her, men en av EWMAs beste egenskaper er at hele serien reduserer til en rekursiv formel: Rekursiv betyr at dagens variansreferanser (dvs. er en funksjon av tidligere dager-variansen). Du kan også finne denne formelen i regnearket, og det gir nøyaktig samme resultat som longhandberegningen. Det står: Dagens varians (under EWMA) er lik ydersidens varians (veid av lambda) pluss yderdagskvadret retur (veid av en minus lambda). Legg merke til hvordan vi bare legger til to begreper sammen: Yesterdays weighted variance og yesterdays weighted, squared return. Likevel er lambda vår utjevningsparameter. En høyere lambda (for eksempel som RiskMetrics 94) indikerer tregere forfall i serien - relativt sett vil vi ha flere datapunkter i serien, og de kommer til å falle av sakte. På den annen side, hvis vi reduserer lambda, indikerer vi høyere forfall: vikene faller av raskere, og som et direkte resultat av det raske forfallet blir færre datapunkter benyttet. (I regnearket er lambda en inngang, slik at du kan eksperimentere med følsomheten). Sammendrag Volatilitet er den øyeblikkelige standardavviket for en aksje og den vanligste risikometrisk. Det er også kvadratroten av variansen. Vi kan måle variansen historisk eller implisitt (implisitt volatilitet). Når man måler historisk, er den enkleste metoden enkel varians. Men svakheten med enkel varians er alle returene får samme vekt. Så vi står overfor en klassisk avvei: vi vil alltid ha mer data, men jo flere data vi har jo mer vår beregning er fortynnet av fjernt (mindre relevant) data. Det eksponentielt vektede glidende gjennomsnittet (EWMA) forbedres på enkel varians ved å tildele vekt til periodisk retur. Ved å gjøre dette kan vi begge bruke en stor utvalgsstørrelse, men gi også større vekt til nyere avkastninger. (For å se en filmopplæring om dette emnet, besøk Bionic Turtle.) Nedenfor kan du se min C-metode for å beregne Bollinger Bands for hvert punkt (flytte gjennomsnitt, oppbånd, nedbånd). Som du kan se, bruker denne metoden 2 for sløyfer for å beregne den bevegelige standardavviket ved hjelp av glidende gjennomsnitt. Det pleide å inneholde en ekstra sløyfe for å beregne det bevegelige gjennomsnittet i løpet av de siste n periodene. Denne jeg kunne fjerne ved å legge til den nye poengverdien til totalverdien ved begynnelsen av løkken og fjerne i-n-punktverdien på slutten av løkken. Spørsmålet mitt nå er i utgangspunktet: Kan jeg fjerne gjenværende indre sløyfe på samme måte som jeg klarte med det bevegelige gjennomsnittet spurte Jan 31 13 kl 21:45 Svaret er ja, det kan du. På midten av 80-tallet utviklet jeg bare en slik algoritme (sannsynligvis ikke original) i FORTRAN for en prosessovervåking og kontrollapplikasjon. Dessverre var det over 25 år siden, og jeg husker ikke de eksakte formlene, men teknikken var en forlengelse av den for flytte gjennomsnitt, med andre ordreberegninger i stedet for bare lineære. Etter å ha sett på koden din, tror jeg at jeg kan se hvordan jeg gjorde det igjen da. Legg merke til hvordan din indre sløyfe gjør en sum av kvadrater: på samme måte som gjennomsnittet ditt må ha opprinnelig hatt en sum av verdier. De eneste to forskjellene er ordren (dens kraft 2 i stedet for 1) og at du trekker gjennomsnittet hver verdi før du kvitterer den. Nå som kan se uatskillelig, men faktisk kan de skilles: Nå er første termen bare en Sum of Squares, du håndterer det på samme måte som du gjør summen av Verdier for gjennomsnittet. Siste termen (k2n) er bare den gjennomsnittlige kvadrertiden perioden. Siden du deler opp resultatet i løpet av perioden, kan du bare legge til den nye gjennomsnittskvadrat uten ekstra sløyfe. Til slutt, i andre termen (SUM (-2vi) k), siden SUM (vi) totalt kn kan du da endre det til dette: eller bare -2k2n. som er -2 ganger gjennomsnittet kvadratet, når perioden (n) er delt ut igjen. Så den endelige kombinasjonsformelen er: (Pass på å sjekke gyldigheten av dette, siden jeg henter det fra toppen av hodet mitt). Og å inkludere i koden din, bør se slik ut: Takk for dette. Jeg brukte det som grunnlag for en implementering i C for CLR. Jeg oppdaget at i praksis kan du oppdatere slik at newVar er et veldig lite negativt tall, og sqrt mislykkes. Jeg introduserte en hvis å begrense verdien til null for denne saken. Ikke ide, men stabil. Dette skjedde da alle verdier i mitt vindu hadde samme verdi (jeg brukte en vindusstørrelse på 20 og verdien i spørsmålet var 0,5, hvis noen vil prøve og reprodusere dette.) Ndash Drew Noakes Jul 26 13 kl 15:25 Ive brukt commons-math (og bidratt til det biblioteket) for noe som ligner på dette. Den åpne kilden, porten til C, burde være lett som butikkkjøp (har du prøvd å lage en kake fra grunnen av). Sjekk det ut: commons. apache. orgmathapi-3.1.1index. html. De har en StandardDeviation-klasse. Gå til byen svarte Jan 31 13 kl 21:48 Du er veldig velkommen Beklager, jeg hadde ikke svaret du leter etter. Jeg mener absolutt ikke å foreslå å portere hele biblioteket. Bare den minste nødvendige koden, som skal være noen få hundre linjer eller så. Legg merke til at jeg ikke har noen anelse om hvilke juridiske rettighetsbegrensninger apache har på den koden, så du må sjekke det ut. I tilfelle du forfølger det, her er lenken. Så Variansen FastMath ndash Jason Jan 31 13 kl 22:36 Viktigste opplysninger er allerede gitt ovenfor --- men kanskje dette er fortsatt av generell interesse. Et lite Java-bibliotek for å beregne glidende gjennomsnitt og standardavvik er tilgjengelig her: githubtools4jmeanvar Implementeringen er basert på en variant av Welfords-metoden som er nevnt ovenfor. Metoder for å fjerne og erstatte verdier er avledet som kan brukes til å flytte verdifallvinduer.
No comments:
Post a Comment