728x90
목차

1. 단순이동평균법(Simple Moving Average, SMA)

2. 지수이동평균(Exponential Moving Average, EMA)

3. 지수평활법 (Exponential Smoothing, ES)

4. 예시 DATA 분석결과

 

 

요즘 주식, ETF등 과거에 비해 여러가지 지표를 보는 사람들이 많아졌습니다.

돈도 결국은 숫자이기 때문에 숫자에 대해서 잘 알아야 합니다.

시간에 대한 흐름에 따라 데이터의 흐름을 파악하는 방법인 이동평균과 지수평활법의 기본형식을 알아 보겠습니다.

 

 

1. 단순이동평균법(Simple Moving Average, SMA)

 

데이터가 있다고 할 때 가장 기본적인 지표는 이동평균입니다.

가장 널리 쓰이는 단순이동평균은 정말 심플하게 데이터의 평균을 구합니다.

아래 예를 보겠습니다.

 

가격의 이동평균

 

표를 보면 가격의 DATA는 직접 측정한 결과입니다.

이동평균은 과거의 데이터를 포함한 몇개(n)의 구간의 평균입니다.

위의 경우에는 3개의 구간을 이용하여 이동 평균을 계산했습니다.

 

 

주식에서는 이동평균의 n 값을 변경하면서 5일선, 20일선등등 여러가지 이동평균을 늘여놓고 분석하고는 합니다.

주로 느린 지표인 장기이동평균과, 빠른지표인 단기이동평균을 조합해서 분석하는 방식입니다.

포탈 사이트에서 흔히 볼 수 있는 아래의 그래프의 선으로 된 것들이 이동 평균선입니다.

 

데이터와 이동평균

 

 

 

2. 지수이동평균(Exponential Moving Average, EMA)

 

단순이동평균법 역시 추세를 파악하기에 좋은 방법입니다.

오래된 데이터가 영향을 강하게 미쳐서 추세를 파악하기 어려운 경우가 있습니다.

이럴 때 최근에 데이터에 "가중치"를 가하는 방식을 사용합니다.

빠르게 변하는 데이터를 반영하기에 유리한 수단입니다.

 

 

EMA0(초기값)은 단순이동평균 값과 같습니다.

α는 가중치를 나타내는 계수로 평활상수라고 합니다.

평활상수 α는 지수이동평균의 주기로 보통 2/(n+1)으로 설정하며 숫자가 크면 민감하고 작으면 둔감합니다.

 

 

가격을 분석한 그래프

 

위의 그래프는 급등하는 주식의 그래프입니다.

EMA의 값을 0.5로 올려서 민감하게 만들었을 때 단순 이동평균에 비해서 데이터를 더 빨리 반영하는 것을 보여줍니다.

이동평균선 특유의 지지선도 파악하면서 보다 빨리 반영되는 지표를 만들 수 있습니다.

 

 

3. 지수평활법 (Exponential Smoothing, ES)

 

이동평균법은 추세를 잘 보여주기는 하지만 미래 DATA의 예상을 하는 분석은 아닙니다.

지수평활법은 과거일 수록 감소하는 가중치를 적용하여 미래 DATA를 예상하려는 시도입니다.

지수평균이동과 단순지수평활법 (Simple Exponential Smoothing)은 똑같습니다.

여기서 미래값을 추측하는 이중지수평활법 (Double Exponential Smoothing), 삼중지수평활법 (Triple Exponential Smoothing)을 이 파생됩니다.

이번 포스팅에서는 이 지수평활법들의 기본형과 개념을 소개하겠습니다.

 

단순지수평활법 (Simple Exponential Smoothing)은 기본형은 지수이동평균과 똑같습니다.

똑같습니다.

(α = 계수, t = 시점/시간, x = 실제 관측 DATA)

 

 

< 이중지수평활법 (Double Exponential Smoothing, DES)  >

 

이름대로 두 개의 데이터를 조합해서 계산합니다.

수준(Level = Lt)추세(Trend = Tt) 라고 부르는 두 개의 값입니다.

 

수준과 추세

  • α, β는 평활상수입니다.
    값은 0에서 1사이의 값을 입력해도 되지만 α(0.1~0.3), β(0.01~0.3)을 추천합니다.
  • Lt의 초기값 : 과거 데이터의 첫 번째 값을 초기 수준(x0)으로 설정합니다.
  • Tt의 초기값 : 관찰된 데이터의 변화율(x1 - x0)로 설정합니다.
  • Ft 값은 미래 DATA를 추측한 값입니다.

 

 

F 값은 "시점 t에서 k 번째 이후의 예상값"이 됩니다.

마지막 Lt와 Tt 값을 기반으로 k 시점의 값을 예상합니다.

위 식의 F 값이 바로 k 번째 이후의 예상한 값이 됩니다.

 

 

 

< 삼중지수평활법 (Triple Exponential Smoothing, TES) >

 

예상대로 이번에는 세 개의 데이터를 조합해서 계산을 합니다.

수준(Level = Lt)추세(Trend = Tt)에다가 계절성(Seasonality = St)이 추가되었습니다.

계절성은 DATA가 특정 주기로 비슷한 양상을 보일 때의 주기가 됩니다.

 

수준, 주기, 계절성

 

  • α, β, γ는 평활상수입니다.
    값은 0에서 1사이의 값을 입력해도 되지만 α(0.1~0.3), β(0.01~0.3), γ(0.01~0.3)을 추천합니다.
  • m은 계절성의 주기입니다. 연단위 데이터는 12가 될 것이고 시간단위면 24가 됩니다.
    데이터의 특성에 의해서 사용자가 정해주는 값입니다.
  • Lt의 초기값 : 과거 데이터의 첫 번째 값을 초기 수준(x0)으로 설정합니다.
  • Tt의 초기값 : 관찰된 데이터의 변화율(x1 - x0)로 설정합니다.
  • St의 초기값 : 주로 (xi - L0)로 하는 경우가 많습니다.
  • 이 데이터를 기반으로 계산하는 Ft 값은 아래와 같습니다.

 

F 값은 "시점 t에서 k 번째 이후의 예상값"이 됩니다.

 

 

4. 예시 DATA 분석결과

 

아래와 같이 예상 그래프를 만들었습니다.

검은색 선이 실제 DATA이고 각 방식으로 계산한 값입니다.

표의 오른쪽은 실제 DATA인 검은 선이 없고 예측값만 있는 상태입니다.

 

분석결과

 

검은 선이 있는 동안 데이터를 잘 반영하고 있지만, 미래의 예상이 방식에 따라 조금 다릅니다.

노란선인 이중지수평활법 (Double Exponential Smoothing)은 계속 떨어지는 것으로 예상한 반면,

하늘색인 삼중지수평활법 (Triple Exponential Smoothing)은 다시 올라오는 반등을 예상했습니다.

계절성을 반영하느나 마느냐의 차이로 보입니다.

 

예시에 사용한 값 테이블

 


 

미래예측은 분야나 데이터의 특성, 외부 이슈 등등을 분석하여 필요한 계수값을 튜닝해야 합니다.

일반론적인 방법이 있기는 하지만 역시 미래예측은 감각이 중요하다고 여겨집니다.

오늘 포스팅에서 사용한 예시는 어디까지나 각각의 방식을 가장 잘 보여주는 기본형이라고 보시면 됩니다.

 

< 지수평활법과 ETS 관련 포스팅 > 

 

01. 시계열 분석에서 미래를 예측하는 이동평균법(SMA), 지수평활법(ES)으로 미래값을 예상하고 풀어보기- 현재글

02. 지수평활법으로 데이터를 분석할 때 계절성과 주기를 파악하는 방법(Exponential Smoothing의 Seasonality)

03. 시계열 예측에서 지수평활법의 기본 모델(Additive)과와 확장 형태인 감쇠 (Damped) 모델들의 정의

04. 시계열 예측에서 계절성에 따른 추세가 변하는 승법적 모델과(Multiplicative Model), 감쇠하는 승법적 모델(Damped Multiplicative Model)

05. 상황에 맞게 지수평활법과 ETS 모델(Exponential Triple Smoothing)을 사용해서 시계열 예측을 수행하기

06. 지수평활법에서는 사용하는 계수(α, β, γ)를 최소제곱법으로 구하는 방법(엑셀 VBA 구하기)

07. 엑셀(EXCEL)로 지수평활법의 ETS 모델을 사용하는 FORECAST.ETS 함수와 파생함수인 SEASONALITY / STAT 함수

08. 엑셀(EXCEL)의 FORECAST.ETS 함수의 오차를 계산하는 CONFINT 함수(지수평활법을 사용하는 미래 예측 함수) 

 

 

 

 

반응형

+ Recent posts