: 이번에는 가장 많이 사용하는 보조 지표에 대해서 간략하게 정리해보고자 한다. 대부분의 보조 지표를 이번 기회에 알게 되었는데, 공부하면서 상당히 유용하다고 생각되는 지표들이 많이 있었다. 물론 결과론적인 접근이 대부분이지만, 확실히 주식 차트에는 투자자들의 심리가 반영되었기 때문에, 과거와 비슷한 이벤트가 다시 반복적으로 발생할 확률이 상당히 높은 것 같다. 이러한 보조 지표를 잘 활용하면, 가격의 추세를 예측하는데 좀 더 도움이 될 수 있을 것이라고 생각한다.

 

일반적으로 보조 지표의 종류는 추세 지표, 변동성 지표, 모멘텀 지표 그리고 시장강도 지표로 구분된다.

 

1) 추세지표란 가격이 진행하는 방향, 즉 가격에 대한 추세를 알아보는 지표이다. 이전 글에서 언급한 이동평균선(MA)을 포함해서, MACD, ROC, DMI & ADX 등이 대표적인 추세 지표이다. 그리고 단순히 추세 지표만을 가지고 미래 가격에 대한 예측을 하는 것은 위험한 행동이다. 추세 지표는 과거부터 현재에 대한 추세를 의미하는 것이지, 미래에도 지속적으로 이러한 추세가 유효할지는 알 수 없기 때문이다. 그렇기 때문에 다음과 같은 지표들을 함께 고려해야 한다.

 

2) 변동성 지표란 가격에 대한 변동성, 즉 얼마나 빠르게 상승 또는 하락을 할 것인지 알아보는 지표이다. 변동성 지표는 보통 짧은 기간 동안 주가의 등락 폭이 어떻게 변할지에 대해 초점을 맞춘다. 이러한 특성을 이용하여, 매매 타이밍을 잡는데 유용하고 단기매매에서도 자주 활용된다. 대표적인 변동성 지표로는 볼린저밴드(Bollinger Band), Envelope 등이 있다. 

 

3) 모멘텀 지표는 투자 심리나 현재 추세에 대한 유효성을 확인하는 지표로 많이 사용된다. 즉, 현재 가격이 상승 추세를 보이고 있는데, 이러한 상승 추세에 대한 "힘"이 아직 붙어있으니 앞으로 추가적인 상승을 보일 것인지, 아니면 "힘"이 없으니 하락으로 전환을 할 것인지 판단할 수 있다. 대표적인 모멘텀 지표는 Monetum, Stochastic, CCI, MACD Oscillator 등이 있다. 

 

4) 시장강도 지표는 모멘텀 지표와 유사하게 추세나 변동성에 대한 강도를 나타내는 지표이다. 그러나, 모멘텀 지표와는 다르게 주로 거래량을 포함시켜 가격을 예측하는 것이 특징이다. 대표적인 예로는 거래량에 대한 MA, OBV, RSI 등이 있다. 

 

이 외에도 정말 많은 보조 지표들이 존재한다. 확실히 아무것도 모르고 주식에 뛰어드는 것 보다는 이러한 지표들을 어느 정도 이해하고, 볼 줄 안다면 투자에 대한 성공률을 높일 수 있을 것이라고 생각한다. 본인도 이러한 보조 지표를 보는 방법을 익히고 싶지만, 이번에는 AI에게 맡겨서 학습을 시켜보기로 했으니, 다음 기회에 배워보도록 하겠다.

 

1. MACD ( Moving Average Convergence and Divergence)

: MACD는 검색만 해도 친절하게 설명해놓은 글들이 정말 많기 때문에 여기서는 간단하게 개념만 짚고 넘어가려고 한다. MACD는 이동평균수렴&확산법이며, 기존의 MA에서 한 단계 더 나아간 지표이다. 보통 MACD는 MACD 뿐만 아니라 Signal 및 Oscillator을 함께 계산하고, 계산식은 다음과 같다.

 

[ MACD 계산식 ]

1) MACD : 12일 EMA - 26일 EMA

2) Signal : MACD 9일 EMA

3) Oscillator : MACD - Signal

 

계산식을 보면 무척 단순하다. MACD는 12일 지수이동평균 - 26일 지수이동평균이고, Signal은 앞에서 구한 MACD에 대한 9일 지수이동평균을 한 번 더 구한 값이다. 마지막으로 Oscillator는 MACD와 Signal의 차이 값이다. 그럼 "이 지표를 어떻게 이용하냐?" 라는 질문을 던질 것이다. 

위의 그래프는 일 자별 가격 차트에 대한 MACD, Signal, Oscillator 그래프이다. 아래 그래프들 중에서 검은 선은 MACD, 빨간 선은 Signal 그리고 아래의 Histogram들은 Oscillator을 의미한다. 보통 Oscillator가 (-)에서 (+)로 전환될 때, 매수를 하고 반대일 경우에는 매도를 한다. 위의 차트에서 Oscillator 기반의 매수/매도를 충실히 이행했더라면, 큰 수익을 봤을 것이라고 생각한다.

 

MACD 지표에 대한 매수, 매도 기법은 정말 다양하다. 각 개인마다 다르다고 할 정도로 해석하는 방법에는 수 많은 방법들이 있다. 이러한 방법들은 다른 전문가들이 설명한 글들이 많이 있으니 궁금하다면 검색해서 참고해보길 바란다. 

 

그렇다면 1시간 단위의 차트에도 같은 기준으로 적용하면 잘 나올 것까? ( MACD 12, 26, 9 ) 일단 본인이 1시간 차트에도 동일한 기준 (12, 26, 9)로 MACD를 그렸을 때, 결과는 썩 좋지 않았다. 어찌보면 당연하겠지만, 시간 단위의 차트에서 투자 심리를 반영하기에 12시간, 26시간은 상당히 짧은 것 같다. 이 때문에 시간 단위 차트에서의 MACD를 구할 때는 적정한 기간을 찾아내야 했고, 나름 열심히 돌려봤을 때 적정한 기간을 찾아보았다.

사실 MACD를 통해 기대하는 것은 모델을 학습시킬 때, Oscillator가 Agent로 하여금 매수 또는 매도에 대한 Action을 판단하는 데, 있어서 하나의 중요한 Data로 적용할 수 있을 것이라는 점이다. 즉, Oscillator가 (-) 값을 가지거나 가지려고 할 때는 매도를 지향할 것이고, 반대로 (+) 값을 가질 때는 매수를 지향하는 방향으로 학습이 될 수 있다는 점이다. 그리고 앞으로도 소개할 보조 지표들에 대해서는 현재 차트에 맞도록 기간 또는 Parameter 조정이 빈번하게 필요하다. 이러한 경우, 학습 모델의 목적에 알맞게 최대한 방어적으로 Agent가 행동할 수 있도록 보조 지표를 변환할 예정이다.

 

 

2. Rate of Change (ROC) & Momentum

: 일반적으로 모멘텀(Momentum)현재 가격에서 일정 기간 전의 가격, 또는 이동평균가격을 차감함으로써 추세를 확인하는 지표이다. 이 값이 0보다 클 경우 상승 추세를 의미하고, 반대일 경우에는 하락 추세를 나타낸다고 볼 수 있다. 모멘텀에서 주의해야할 점은 기준일부터 어느 시점 이전의 가격을 차감하거나 이동평균에 대한 기간으로 설정할 것인지가 중요하다. 그 이유는 차트마다 유효하게 적용되는 기준 값이 다르기 때문이다. 

 

이러한 기준을 잡기 위해서는 다음과 같은 특징이 모멘텀에서 나타나야한다. Momentum의 값이 0보다 크고 점차 커지고 있을 경우, 가격 또한 상승 추세를 보여야 하며, 반대도 마찬가지이다. 그리고, 가장 중요한 부분은 이러한 추세가 가격에 반영되기 이전에 나타나야 한다. 다음 차트를 예로 들어보자.

위의 차트는 일자별 가격 차트와 14일 이전의 Momentum 차트이다. 결론만 얘기하면, 위의 차트는 사실 의미없는 차트라고 봐도 무방하다. Momentum 차트 내에서의 추세 변환 시점과 차트 가격의 추세 변환 시점이 일치하기 때문에, Momentum 차트를 보고 매수, 매도에 대한 대응을 하기 힘들기 때문이다. 

 

다음은 ROC에 대한 설명을 해보자. ROC는 무척 단순하다. 과거 시점 대비 현재 시점에 대한 가격 변동률을 의미한다. 공식도 간단하다. 

 

ROC = P(t) / P(t-n1) * 100

 

100을 곱해주는 이유는 100을 기준으로 가격에 대한 추세를 판단하기 위해서다. (단, 학습 Data에 추가할 때는 100을 곱하지 않을 예정이다.) ROC가 100보다 클 경우, 이전에 비해 가격이 상승한 것을 의미하고 이하일 경우에는 하락한 것을 의미한다. 현재 가격에 대한 변동률을 보여주는 지표이긴 하지만, 위의 값만으로 가격을 예측하는데는 부족한 부분이 많기 때문에 보통 Momentum을 계산해서 흐름을 판단한다. 

 

Momentum = ROC - ROC n2일 EMA

 

ROC와 ROC에 대한 n2일 기간의 지수이동평균의 차이를 Momentum으로 보통 계산한다. 이에 적절한 n1과 n2를 찾는 작업이 필요하겠지만, 만약 찾는다면 좋은 Data가 될 수 있을 것이라고 기대한다. 그리고 다음 그래프는 1시간 봉 차트에서 구한 Momentum 차트이다.

지속적으로 언급하지만, 동일한 차트에 대해서도 각 개인별로 매수, 매도 포지션은 상이하다. 위의 매수, 매도는 본인이 Momentum 차트를 보고 취한 포지션이다. 아주 단순하게 Momentum이 0보다 작고, 상승에 대한 추세가 보일 경우 매수를 취했고, 0보다 크고, 하락으로 전환되었을 때 매도를 취했다. 실제로 위와 같이 했으면 꽤나 수익이 났을 것 같다. 그리고 위에서도 언급했듯이, 시간 차트 같은 경우에는 일반적으로 적용하는 일자별 기간보다 기준일을 길게 설정하는 것이 확실히 더 잘 반영되는 것 같다. 

 

3. DMI & ADX

: 아마 이번 글에서 다루게 될 마지막 추세 지표가 될 것 같다. DMI(Directional Movement Index)ADX(Average Directional Movement Index)는 각각 독립적으로도 사용하는 보조 지표이지만, 일반적으로 함께 볼 때, 추세에 대한 적중률이 높아진다고 알려져있다. 

 

먼저, DMI란 추세 지표의 일종으로 전일 대비 현재 시점의 고가와 저가, 종가의 최고값을 이용하여, 추세를 판단하는 지표이다. 

위에 차트는 ADX(검), PDI(녹), MDI(빨)을 의미한다. 여기서 PDI와 MDI만 살펴보면, PDI는 주가의 상승을 나타내며, MDI는 하락을 나타낸다. DMI를 계산하기 전에는 DM과 TR을 먼저 알아야하는데, 간략하게 설명하고 넘어가도록 하겠다. (자세한 설명 : layhope.tistory.com/236)

 

DM을 구할 때, 다음과 같은 가정을 한다. "상승 추세일 경우, 금일의 고가는 전일의 고가보다 반드시 높고, 하락 추세일 경우에는 반드시 금일의 저가는 전일의 저가보다 낮아야 한다"는 부분이다. 이럴 경우, 전일과 금일의 고가 & 저가를 비교하면 다음과 같다.

 

1) 금일 고가 > 전일 고가 : +DM

2) 금일 저가 < 전일 저가 : -DM

3) 금일 변동폭 < 전일 변동폭 : DM = 0

4) 금일 고가 상승폭 > 금일 저가 하락폭 : +DM

5) 금일 저가 하락폭 > 금일 고가 상승폴 : -DM

 

다음은 TR을 구하는 공식인데, TR은 3개의 값 중에서 Max 값을 취한다.

 

1) 금일 고가 - 금일 저가

2) 금일 고가 - 전일 종가

3) 금일 저가 - 전일 종가

 

결국 직관적으로 보면 DM은 가격의 상승과 하락에 대한 단일 추세를 알 수 있고, TR은 이러한 추세의 비중이 어느 정도인지 기준을 잡기 위해, 구하는 값이라고 이해하면 될 것 같다. 이렇게 구한 DM과 TR을 이용하여 PDI와 MDI를 구하면 다음과 같다.

 

PDI = (+DM의 MA) / (TR의 MA)

MDI = (-DM의 MA) / (TR의 MA)

 

즉, PDI는 상승 추세에 대한 지속성을 파악할 수 있고, MDI는 하락 추세에 대한 지속성을 가늠할 수 있는 지표로 사용될 수 있다. 그리고, 보통 PDI와 MDI가 교차하는 시점으로 부터 추세를 파악하기도 하며, 아래에 보여주는 그래프와 같이 추세를 어느 정도 가늠할 수 있다.

이처럼 DMI 지표만으로도 어느 정도 추세를 가늠할 수 있지만, PDI와 MDI를 독립적으로 두고 단순히 차이 값으로만 예측을 하게된다면, 잘못된 판단을 할 가능성이 높다. 예를 들어, 다른 두 시점에서 PDI와 MDI의 차이가 10으로 같을 때, 10이라는 값이 두 시점에서 의미하는 게 동일하냐는 것이다. 기준이 없기 때문에 우리는 대답을 할 수 없었을 것이다. 이러한 이유로, 차이 값에 대한 적절한 가치 판단을 해줄 기준을 제시해 준게 ADX이고, 그 기준은 PDI와 MDI를 더한 값이다.

 

ADX = | PDI - MDI | / (PDI + MDI) * 100

 

ADX에 대한 매수/매도 포인트를 잡는 방법은 정말로 다양하다. ADX와 PDI가 교차 상승하는 구간에 매수를 하는 사람이 있는가 하면, 단순히 ADX가 상승으로 전환하는 시점을 매수 시점으로 잡는 사람들도 있다. 이처럼 ADX 지표를 바라보는 관점은 사람마다 상이하지만, ADX & DMI 그래프가 가격에 대한 추세를 잘 반영한다는 것은 본인도 강하게 동의한다. 실제로, ADX & DMI 차트만 가지고도 수익을 본 사람들이 주변에 꽤나 많다. 

 

이번 글에서는 보조 지표를 분석해서 매수/매도 포인트를 잡는 법을 배우는 글이 아니기 때문에, 이 부분은 쿨하게 패스하도록 하겠다. 대신 학습에 넣을 Data에 ADX & DMI가 유효한지 판단해보았다.

위의 차트는 1시간 차트이며, 밑에는 ADX & DMI 그래프이다. 매수/매도는 간단하게 ADX가 PDI를 교차하는 지점을 매수 시점으로 잡았고, ADX가 MDI를 교차하면서 하락할 때, 매도 시점으로 잡았다. 

 

음.. 사실 이 글을 작성하면서 보조 지표를 처음 접해봤는데, 이쯤되니깐 아무 생각없이 매수/매도를 했던 본인이 너무 한심하고 부끄럽게 느껴졌다. 이렇게 좋은 보조 지표들이 있는데도 MA 한 번 보지도 않고 투자(분석하지 않고 샀으니 투기라고 해도 무방하다...)했기 때문에 손실이 크지 않았나 싶다.

 

결과적으로 ADX와 DMI도 학습 Data의 한 Input Feature로 추가할 예정이며, 이렇게 추세 지표에 대한 보조 지표는 EMA, MACD, ROC & Momentum 그리고 ADX & DMI를 새롭게 추가할 예정이다.

+ Recent posts