본문 바로가기
Research/금융,블록체인

이동평균법(EMA) 개념

by dohk325 2018. 12. 20.
반응형

                                                                                                                                                         

                                                                                                                                                                                                                   

                                                                                                                                                         

                                                                                                                                                                                                              

                                                                                                                                                                                                              

이동평균법

In statistics, a moving average (rolling average or running average) is a calculation to analyze data points by creating series of averages of different subsets of the full data set. 

The EMA for a series Y may be calculated recursively:

{\displaystyle S_{t}={\begin{cases}Y_{1},&t=1\\\alpha \cdot Y_{t}+(1-\alpha )\cdot S_{t-1},&t>1\end{cases}}}
Where:
  • The coefficient α represents the degree of weighting decrease, a constant smoothing factor between 0 and 1. A higher α discounts older observations faster.
  • Yt is the value at a time period t.(시간 간격)
  • St is the value of the EMA at any time period t.(시간 간격내의 특정한 포인트)

 

평균 개념은 누구나 쉽게 인지하고 있다. 가령, 5명의 평균 나이를 계산하라고 하면 5명의 나이 합을 5로 나누어서 구한다. 이동평균이라는 것은 5명 대신 5일로 바뀌었을 뿐 산출하는 방법은 동일하다. 따라서 평균과 이동평균을 그냥 동일 개념으로 생각하고 넘어가기도 한다. 그럼 그냥 평균이라고 쓰면 되는데 왜 굳이 이동평균이라고 할까?

평균과 이동평균의 가장 큰 차이점은 시간이라는 개념이다. 사람들은 보통, 위험을 선호하는 경향이 았기 때문에, 기대값이 음수임에도 불구하고 로또를 구매한다. 

평균은 동일시점에서 산출되는 것이 흔한 반면, 이동평균은 동일 대상이지만 시점이 서로 상이해서 발생한다. 
어떤 시점에서의 특정 값을 추정하려고 할 때, 각 시점의 기대치를 단순 합해서 나누는 방법을 사용할 수도 있다. 혹은 가장 마지막 기대치를 통해 측정할 수도 있다. 가장 최근 기대치에 가장 많은 가중치를 주어서 측정할 수도 있다. 

평균은 동일 시점에서 발생하기 때문에 단순 평균이 많이 사용된다. 하지만 시간시점이 다를 경우 최근의 정보가 더 많은 영향력을 미칠 수 있기 때문에 최근에 단순 평균보다 최근 정보에 가중치를 더 주는 방법을 사용할 수도 있다. 그 결과 이동평균을 구하는 방법엔
단순이동평균(Simple Moving Average)
가중이동평균(Weighted Moving Average)
지수이동평균(Exponential Moving Average)
방법이 존재한다.
 
단순이동평균(Simple Moving Average)
일반적인 평균을 구하는 방법이다.
n1 , n2, n3 가 존재한다고 가정하면, (n1 + n2 + n3) / 3 이다.

가중이동평균(Weighted Moving Average)
n1 , n2, n3 가 존재한다고 가정하고 각각의 가중치를 w1, w2, w3라고 하면 
(w1n1 + w2n2 + w3*n3) / (w1 + w2 + w3) 이다.
일반적으로 최근일에 높은 가중치를 준다. 상황에 따라서 이벤특 발생한 특정일에 높은 가중치를 주어 사용할 수도 있다.

지수이동평균(Exponential Moving Average)
최근에 높은 가중치를 주지만, 오래된 과거도 비록 낮은 영향력이지만 가중치를 두여하도록 고려한 방법이다. 
EMV(t) = (1-w) * EMV(t-1) + w * Price(t)
오늘의 종가에 w의 가중치를 주고 (1-w)를 어제의 이동평균에 주는 방식이다.
EMV(t) = (1-w) * ((1-w) * EMV(t-2) + w * Price(t-1)) + w * Price(t)
  = (1-w)^2 * EMV(t-2) + (1-w )*w* Price(t-1)) + w * Price(t-1))
   ...
  = (1-w)^n * EMV(0) + (1-w)^(n-1)*w*Price(1) + ... + w * Price(t-1)
결국 과거의 값도 지속적으로 영향력이 잔존하게 된다.
w = 2 / (n+1)
지수이동평균 2일인 경우 w = 2/3가 된다.


Exponentially weighted (moving) average

Map

GD보다 빠른 optimization algorithms들을 이해하려면, 먼저 Exponentially weighted (moving) average를 사용할 수 있어야 한다.
 
 
먼저, 런던의 daily temerature 데이터로 시작해보자.
 
 
작년의 런던 날씨를 매일 기록한 것을 데이터로 플롯팅 한 것이다.
찍어본 데이터들은 noisy한 것을 볼 수 있다. 이 데이터들이 보이는 경향을 나타내기 위해 계산을 하고자 한다면, 

여기서 경향(trend)란, temperature의 local average 또는 moving average를 말한다. 

Reference

반응형

'Research > 금융,블록체인' 카테고리의 다른 글

가상화폐의 본질  (0) 2018.12.20
51% 공격  (0) 2018.12.20
블록체인 개념  (0) 2018.12.17