[기술적 분석] 지표 : 다양한 이동평균선의 종류

반응형

  주가 분석에서 가장 기본적인 보조지표로 사용되는 다양한 이동평균의 종류에 대해 다룬다. 이동평균은 주식에서도 활용되지만 시계열 데이터를 베이스로 하는 통계, 예측 등에서 다양하게 활용되니 알아두면 좋다.

  이동 평균은 기술적 분석에 가장 기본이 되며 다른 지표도 까보다 보면 이동평균을 계산해서 사용하는 경우가 태반이고(많이 쓰는 MACD가 이동평균수렴확산, Moving Average Convergence & Divergence다.) 가장 기본적인 전략 중 하나인 골든크로스/데드크로스 같은 경우에도 이동평균 추세를 기초로 한다. 우리는 흔히 단순이동평균이라고 하는 기본이 되는 이동평균을 사용하는데, 지금도 수많은 이동평균 방법들이 만들어지고 있다. 이런 이동 평균들에 대해 살펴보려 한다.

  이동평균선의 가장 중요한 목적은 주가의 추세를 파악하기 위함이다. 가령 20일 이동평균선은 약 한 달간(거래일 기준으로)의 가격 변화를 평균 내어 한 달간 상승했는지 아니면 하락했는지에 대한 일 단위 혹은 봉 단위의 자잘한 노이즈(noise)를 제거하기 위해 사용한다. 봉 단위의 자잘한 움직임(noise) 때문에 데이터 분석이나 머신러닝 학습에 악영향을 주기 때문에 이 경우에는 노이즈를 제거하기 위해 이 이동평균을 활용하곤 한다.

  이동평균의 기간은 각자 설정하기 나름이지만 주로 사용하는 5, 20, 60, 120, 240은 나름의 의미가 있다. 일봉일 경우, 거래일 기준으로 각각 주, 월, 분기, 반기, 연간의 평균 가격을 보겠다는 의미다. 짧은 이동평균은 단기간의 추세 혹은 가격을 전망할 때 사용하고 마찬가지로 긴 기간의 이동평균은 장기를 예측할 때 사용한다.

  이동평균은 또한 가격의 추세 / 지지의 역할을 한다곤 하는데, 개념적으로 120일 이동평균에 다다랐다는 것은 반년 간 평균 가격에 도달했다는 의미이기 때문이며 시장의 많은 차티스트들에게 심리적인 영향 혹은 통용된 공식이기 때문에 이렇게 동작하지 않나 싶다.

· 단순 이동 평균 (SMA or MA, Simple Moving Average)

  흔히 이동평균이라 하면 바로 이 단순 이동 평균이다. 선행한 n개의 기간의 단순 평균을 가지고 온다. 때문에 산식도 아주 간단하다.

단순 이동 평균 SMA 계산 공식

· 가중 이동 평균 (WMA, Weighted Moving Average)

  가중 이동평균은 '최근의 가격이 과거에 가격보다 더 큰 영향력이 있다'라는 믿음에서 시작한다. 때문에 단순평균을 내는 개념이 아닌 최근 봉일수록 좀 더 큰 가중치를 줘서 계산한다. 그럼 가중치는 어떻게 줄까? 일반적인 가중이동평균은 10일 가중이동평균이라고 했을 때, 가장 최근(현재)에 10, 직전에 9, ... 10일 전 가격에 1을 준다. 수식은 다음과 같다.

가중 이동 평균 WMA 계산 공식

  가중이동평균은 현재 가격이 좀 더 크게 반영되면서 단순이동평균에 비해 기울기가 가파른 경우가 많다. 노이즈는 제거하면서 추세를 빠르게 반영하기 위해 사용된다.

  가중평균법은 가중치를 매기는 방법에 따라 방법에 따라 다양한 베리에이션이 존재한다.

 

- 피보나치 가중 이동 평균 (FWMA, Fibonacci's Weighted Moving Average)

  피보나치 수열에 따라 순차적으로 가중치를 정한다. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ... 의 피보나치 수열에 따라 가중치가 매겨지며 WMA에 비해 가까운 봉의 가중치가 강하다. 황금비니 프렉탈이니 하는데 많이 사용되는 수열이다 보니 주식에도 침투한 듯.

- 거래량 가중 이동 평균 (VWMA, Volume Weighted Moving Average)

  가중치에 거래량을 사용한다. 거래가 많이 발생한 봉이 좀 더 의미를 부여하겠다는 개념. 개념적으로는 가장 말이 된다.

- 대칭 가중 이동 평균 (SWMA, Symmetric Weighted Moving Average)

  대칭 가중이동평균은 가중치를 좌우 대칭으로 준다. 예를 들어 길이가 3이면 [1, 2, 1], 4이면 [1, 2, 2, 1], 5이면 [1, 2, 3, 2, 1]... 이런 식인데 일반적인 가중이동평균처럼 최근의 값에 큰 가중치를 주는 방식이 아닌 중간에 가중치가 먹게 된다. 무슨 의미가 있는지는 잘 모르겠다.

- 파스칼 가중 이동 평균 (PWMA, Pascal's Weighted Moving Average)

  대칭 가중이동평균과 유사하다. 좌우 대칭으로 가중치를 주나, '파스칼의 삼각형'을 기반으로 가중치를 산출한다. 파스칼의 삼각형은 이항계수를 삼각형 모양으로 뿌려논 건데, 그림으로 보는 게 편하다. 각 6각형 셀이 접한 윗줄의 두 육각형이 가지고 있는 값을 더한 값을 갖는다. 마찬가지로 중간이 가장 큰 가중치를 갖는다.

파스칼의 삼각형

 

- 사인 가중 이동 평균 (SINWMA, Sine Weighted Moving Average)

  이번에는 sin 사이클에 따라 가중치를 준다. 사인 사이클을 보면 알겠지만 이 역시 가운데에 가장 큰 가중치가 먹는다. 가중치는 아래와 같이 산출된다.

사인 가중 이동 평균 SINWMA 계산 공식

 

- ALMA(Arnaud Legoux Moving Average)

  Gauss 정규 분포를 사용하여 가중치를 넣는다고 보면 된다.

· 지수 이동 평균 (EMA, Exponential Moving Average, 지수평활법)

  이 역시 최근 가격에 가중치를 부여한다는 점은 같다. 이 때문에 단순이동평균에 비해 추세 반영이 빠르다. 다만, 가중치를 계산하는 방법 때문에 기간이 늘어나면 최근 봉에 먹는 가중치가 좀더좀 더 낮아지고, 기간이 줄어들면 좀 더 기민하게 반영된다.(이건 이동평균의 특징이기도 하지만) 해당 이동평균은 지수평활법(Exponential Smoothing)이라고도 하며 단순이동평균의 단점을 상쇄하기 위해 많이 사용되며 다양한 지표나 전략에서도 많이 활용된다. 지수이동평균의 수식은 다음과 같다.

지수 이동 평균 EMA 계산 공식

  지수 이동평균은 지수 이동 평균을 몇번 수행하냐에 따라 다양한 더블, 트리플 지수 이동 평균이 존재한다.

- 이중 지수 이동 평균 (DEMA, Double Exponential Moving Average)

  지수이동평균으로 계산한 값들을 가지고 한 번 더 지수 이동평균을 낸다. 그리고 원래 지수이동평균 * 2에서 그걸 빼준다. EMA보다 좀 더 기민하게 움직인다.

이중 지수 이동 평균 DEMA 계산 공식

 

 

- 삼중 지수 이동 평균 (TEMA, Triple Exponential Moving Average)

  이번엔 지수 이동평균을 한걸 또하고 또 한다. 역시 지수이동평균, 더블지수이동평균보다 기민하게 추세를 반영한다.

삼중 지수 이동 평균 TEMA 계산 공식

 

- 반응형 지수 이동 평균 (Adaptive EMA, KAMA : Kaufman's Adaptive Moving Average)

  adaptive(반응형)가 들어가는 이유는 기간 별 가격 변동성을 감안해 'Efficiency Ratio'라는 걸 산출해 추세가 있으면 그 추세를 EMA에 비해 강력하게 반영하기 때문이다. 평활지수(Smoothing Factor)에 더해 이 효율비(Efficiency Ratio)라는 걸 가지고 계산한다는 게 차이점이며 앞서 지수이동평균의 다른 베리에이션들처럼 두세 번 지수이동평균하는 개념이 아니다.

 

- 가변 지수 동적 평균 (VIDYA, Variable Index Dynamic Average)

  이동 평균이 갖는 시차(lagging)과 후행성을 제거하기 위해 기간 내 변동성을 측정하여 평활계수에 곱해준다. 여기서 변동성을 측정하기 위해 CMO(Chande Momentum Oscillator)를 사용하는데, 여기서 나온 Chande가 그 유명한 투샤 찬드(Tushar Chande)이다. 그리고 YIDYA를 만든 사람도 바로 이 사람. 이 양반이 만든 또 다른 보조지표로는 StochRSI, Aroon, Qstick 등등 무진장 많다.

- T3 (T3 Moving Average)

  이 이동평균은 지수이동평균에 가중치까지 더했다. 그렇다보니 추세 반영이 굉장히 빠르다. 트리플 지수이동평균보다도 빠르게 추세를 반영한다.

  단순이동평균, 가중이동평균, 지수이동평균 외에도 다양한 이동평균 지표들이 있다. 일전의 것들과 비슷한 것도 있고 재밌는 이동평균도 있고 이게 이동평균인가 싶은 것들도 있다. 이 지표들의 공통된 목표는 단기 노이즈는 제거하고 트렌드는 잘 반영하기 위해서이다. 추가로 이동평균의 엄청난 단점이 있는데(이 때문에 가중/지수 이동평균이 나오기도 했지만), 소위 lagging이라고 하는 밀림현상이 있다는 거다.

이동 평균선의 래깅 현상 예시

  위 차트를 보면 가격은 하락하고 있으나 이동평균선은 상승하거나 바닥을 찍고 오르는데 아직 하락하는 경우를 볼 수 있다. 이게 과거 가격을 평균내면서 발생하는 현상인데, 이는 대부분의 이동평균 지표에 공통되게 발생한다. 노이즈 제거, 트렌드 반영 + 래깅 제거를 위한 다양한 아이디어들이 있다. 간략한 설명만 적는다.

- HMA (Hull (Exponential) Moving Average)

  이 지표는 래깅이 엄청나게 제거된다. 그러면서 노이즈도 같이 제거되기 때문에 추세를 즉각 반영한다. 전략을 잘 세우면 다른 이동평균에 비해 유용하게 쓰일 수 있을 듯. 트레이딩뷰나 pandas-ta를 이용하면 만들어볼 수 있다.

Hull 이동 평균 HMA

- HWMA (Holt-Winter Moving Average)

  Holt니 Winters니 하는 양반들은 예측 분야에서는 계정성을 잡아내는 기법으로 유명한 사람들이다. 계절성이란 예를 들어, 아이스크림은 여름에는 많이 팔리고 겨울에는 적게 팔리는데 이런 걸 계절성이라고 함. 시계열 예측 시 계절성이 존재하는 경우, 이 계절성을 반영하냐 안 하냐에 따라 오차가 엄청나게 차이 나는데 주식 판데기에도 이런 주식들이 있다. 겨울 패딩으로 유명한 회사, 배당 시즌만 되면 주가가 오르는 회사 등.. 때문에 일반적인 경우에는 실제 가격보다 위아래로 더 요동치는 경우도 많다. 일반적으로는 수요예측 등 예측 분야에서 많이 사용되는 기법.

- JMA (Jurik Moving Average)

  가중평균의 일종이라고 보면 된다. 래깅현상도 많이 제거되는 듯. 산식에 phase라는 게 있는데 이걸 조절해가면서 커스터마이징 할 수 있다. Mark Jurik이라는 사람이 만들었다고 하는데 이 양반이 시스템 트레이딩 책도 쓰고 지표나 전략도 많이 만들어서 우리나라에서는 잘 안 쓰이지만 해외에서는 꽤 인지도 있는 이동평균법이다. JMA를 이용하여 DMI나 ADX랑 엮어서 사용하는 등 이런저런 방법으로 연구되는 듯하고 저 JMA도 지수평활법을 적용하느니 단순이동평균을 적용하느니 하여 여러 베리에이션이 있다.

- 와일더 이동 평균 (WMA, WWMA, RMA, Wells Wilder's Moving Average)

  이 이동 평균은 가중평균이동평균이니, 지수이동평균이니 의견이 분분하다. 산식은 이전 이동평균을 참조하기 때문에 지수이동평균의 한 종류라는 사람들도 있고, 결국 가중이동평균이라는 사람들도 있다. 근데 이 이동평균이 유명한 이유는 이걸 만든 사람이 바로 웰스 와일더(Wells Wilder)라는 이유 때문이다. 이 사람은 우리가 아직도 많이 쓰고 있는 RSI(Relative Strength Index, 상대강도지수), ATR(Average True Range), 파라볼릭 SAR(Parabolic Stop and Reverse), DMI(Directional Movement Index) 등을 70년대부터 찍어내던 사람이기 때문. 웰스 와일더 이동평균의 수식은 다음과 같다.

와일더 이동 평균 WMA 계산 공식

 

 

- TMA, TRIMA (Triangular Moving Average)

  이 이동평균은 단순이동평균 한 값들을 가지고 다시 단순이동평균하는 개념이다. 때문에 노이즈는 엄청 줄어들고 추세반영은 단순이동평균에 비해서도 더 느리게 된다. 다른 이동평균들이 빠르게 추세 반영하기 위해 가중치를 주는 등 하는 것을 생각하면 뭔가 다른 목적과 방향으로 발전한 이동평균.

- SSF (Ehler's Super Smoother Filter)

  노이즈 제거에 최선을 다한 이동평균. 개념 자체가 항공우주 아날로그 신호 filtering하는데서 왔다고 한다. 때문에 노이즈 제거에는 탁월하다. 2 poles / 3 poles 가 있는데 이에 따라 산식이 많이 바뀐다.

 

 

- ZLMA (Zero Lag Moving Average)

  재미난 이동평균. 이동평균이 맞나 싶기까지 함. 이 이동평균은 래깅을 없애는데 미쳐서 만들어진 이동평균선이다. 래깅을 최소화하고 가격변동을 적당히 smoothing 하여 반영한다. 기본적으로는 ZLEMA(Zero Lag Exponential Moving Average)을 많이 사용하고 ZLSMA(Zero Lag Simple Moving Average) 등 다른 종류의 이동평균을 이용해서 만들어지기도 한다. 기간에 따라 일정 과거의 데이터를 현재 데이터와 대사 한 값을 가지고 이동평균을 내는 개념. 추세를 시차 없이 반영하기 때문에 적당한 기간을 잡아 래깅과 노이즈를 줄이고 ZLMA의 기울기가 +로 전환하면 매수 / 기울기가 -로 전환하면 매도의 전략을 사용하기도 한다.

제로 레그 이동 평균 ZLMA 계산 공식

  다양한 이동평균들을 살펴보았는데, 소위 기술적 지표라고 하는 것들은 대부분이 어떠한 종류던 이동평균을 사용한다. 지금도 다양한 이동평균, 기술적 지표, 트레이딩 전략이 만들어지고 있는데, 가령 MACD에 사용되는 이동평균을 다른걸로 대체해서 돌려본다던가 하는 등의 식으로 다양한 변형이 일어나고 있다. 최근 컴퓨팅 테크닉이나 커뮤니티가 발전하면서 많은 사용자들이 제 각각의 지표들을 찍어낸다. 기본적이던 기술적이던 마찬가지겠으나, 중요한 것은 어떠한 목적을 가지고 어떠한 특징이 있는 이동평균을 고를지를 판단하는 능력일 것이다.

반응형