🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.matematyka
Article #12800

Re: Wykładnicza średnia krocząca.

#12800
From: Maciek
Date: Fri, 28 Jan 2011 13:23
74 lines
3407 bytes
Użytkownik "Endriu" <nmp3@interia.pl> napisał
w wiadomości news:ihr6qu$s0i$1@usenet.news.interia.pl...
> Czy ktoś byłby w stanie podpowiedzieć lub jakoś
> naprowadzić na odpowiedź odnośnie problemu
> "Wykładniczej średniej kroczącej" dla N-okresów.
>
> Na stronie wikipedii mamy wzór na EMA:
>
> Wykładnicza średnia krocząca
> http://pl.wikipedia.org/wiki/%C5%9Arednia_krocz%C4%85ca
>
> a na stronie:
>
> Moving Averages
> <http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages>
>
> mamy wzór na ta samą EMA, tylko obliczoną na podstawie :
>
> EMA = (Ostatnia wartość - EMApoprzedniego dnia) x alfa + EMApoprzedniego dnia.
>
> lub jak kto woli po przekształceniach:
>
> EMA = (EMApoprzedniego dnia *(1-alfa)) + Ostatnia wartość * alfa
>
> Czy ktoś z tej grupy  jest w stanie udowodnić, albo jakos
> wyprowadzić drugi wzór z pierszego (lub jakoś ??? w oparciu
> o pierwszy) ?. Reasumując, skąd wział się drugi wzór na EMA ?.

Ja bym to raczej wyprowadzał w przeciwną stronę,
bo to drugi wzór jest pierwotny, a pierwszy wtórny. :)
Tak zresztą uzasadniają go w Wiki angielskiej
http://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average


Niech EMA(n) oznacza wartość średniej n okresów (typowo: dni)
wstecz, v(n) wartość z chwili n okresów wstecz. Podobnie uprościmy
zapis zastępując alfa=a i (1 - alfa)=b.
Drugi wzór na wartość średniej w chwili t:

    EMA(t) = a v(t) + b EMA(t-1)

Podstawiając rekurencyjnie:

    EMA(t) = a v(t) + b EMA(t+1)
        = a v(t) + b ( a v(t+1) + b EMA(t+2) )
        = a v(t) + b ( a v(t+1) + b ( a v(t+2) + b EMA(t+3) ) )
        = ...
        = a [ v(t) + b v(t+2) + b^2 v(t+3) + ... + b^n v(t+n+1) + ... ]

Korzystamy z prostej tożsamości

    a = 0 + a = 1 - 1 + a = 1 - (1 - a)

i z niej (wiedząc że 0 < a < 1) otrzymujemy

    1/a = 1/(1 - (1-a))

- liczba 1/a jest sumą szeregu geometrycznego \sum_n{(1 - a)^n}.

Stąd czynnik (a) możemy zmienić na mianownik z sumą szeregu
i ostatecznie dostajemy wzór

    EMA(t)
        = a [ v(t) + b v(t+2) + b^2 v(t+3) + ... + b^n v(t+n+1) + ... ]
        = [ v(t) + b v(t+2) + b^2 v(t+3) + ... + b^n v(t+n+1) + ... ]
          : ( 1 + b + b^2 + b^3 + ... )

Zauważ, że mamy tu dwa nieskończone sumowania (szeregi) wzór
w Wikipedii jest jego obcięciem dla skończonej liczby okresów.
Dlaczego jednak na sztywno związano wartość alfa z N - nie wiem.


Maciek 
Technical Details
Message-ID: <ihug1m$opo$1@opal.futuro.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail
References: <ihr6qu$s0i$1@usenet.news.interia.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail
From: "Maciek" <maciek@elkomtech.com.pl.nospam>
Newsgroups: alt.pl.matematyka
Subject: Re: Wykładnicza średnia krocząca.
Date: Fri, 28 Jan 2011 14:23:59 +0100
Organization: Bractwo Smocze
Lines: 75
Message-ID: <ihug1m$opo$1@opal.futuro.pl>
References: <ihr6qu$s0i$1@usenet.news.interia.pl>
NNTP-Posting-Host: ns.elkomtech.com.pl
Mime-Version: 1.0
X-Trace: opal.futuro.pl 1296221046 25400 62.233.147.142 (28 Jan 2011 13:24:06 GMT)
X-Complaints-To: usenet@futuro.pl
NNTP-Posting-Date: Fri, 28 Jan 2011 13:24:06 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit