이동평균 오실레이터

마지막 업데이트: 2022년 1월 4일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
아래의 실전챠트를 통해서 이해를 도우시길 바랍니다.

[데이 트레이딩 기법Ⅷ]‘헤어지면 반드시 또 만난다’

이제부터는 차트를 이용한 데이 트레이딩 이동평균 오실레이터 기법을 소개하고자 한다. 주식 시장에는 아주 많은 차트가 알려져 있다. 투자자들은 지금도 새로운 차트를 만들고 또 검증하고 있다. 많은 차트 분석가들이 데이 트레이딩에는 전통적인 차트분석 방법이 맞지 않는다고 푸념을 한다고들 한다. 하지만 필자는 당당히 말하고 싶다. 새로운 매매기법들이 생기면 또한 새로운 방법으로의 해석이 필요하다고. 전통적인 차트분석 방법과 데이 트레이딩과의 적용방법에 대한 분석과 적용의 예를 들어보고자 한다.

MACD(Moving Average Convergence & Divergence)는 ‘이동평균 수렴확산 지수’라고 하며, 만나면 헤어지고 헤어지면 또 만난다는 불교의 철학적 의미인 회자정리에서 유래되어 만들어졌다는 속설이 있다. 주가 그래프에는 이동평균선이라는 것이 있는데 이 이동평균선에는 5일, 20일, 60일, 1백20일 등이 있고, 이는 다시 단기(5, 20일)와 중기(60일), 장기(1백20일)로 나누어진다.

장단기 이동평균선들이 주가의 흐름에 따라 벌어졌다가는 횡보의 시기가 오래되면 모두 만나는 때가 오게 된다. 이때가 되면 주가는 다시 상승을 하든지, 아니면 하락을 한다. 그래서 단기와 중기, 장기 이동평균선들이 또다시 벌어지게 된다. 이 성질을 이용해 주가가 다시 만날 시기가 임박했다는 신호를 선행적으로 알려 주기 위해 고안된 것이 MACD인 것이다.

2. MACD의 고안자와 공식

제럴드 아펠(Gerald Appel)이 개발했으며 공식은 다음과 같다. (MACD곡선 : 단기이동평균) - (장기이동평균 시그널곡선 : N일의 MACD)이동평균.

시그널과 MACD를 함께 활용해야 한다. 이 시그널과 MACD의 이격률이 가장 큰 시점이 오게 되면 곧 회기한다는 신호로 사용하면 된다.

4. 데이 트레이딩에서의 사용방법

MACD만을 활용한 데이 트레이딩은 위험천만. 어디까지나 활용가능한 한 가지 보조지표로서만 사용해야 한다는 전제로 기법을 소개하고자 한다.

시그널과 MACD가 많이 벌어져 있는 상태에서 그 효과가 크다. 특히 MACD가 시그널의 밑에서 멀어져 있고, 그 부분이 차트의 하단 부분에서 사이가 크게 벌어졌다면 곧 시세가 상승세로 돌아설 가능성이 많다는 것을 염두에 두어야 할 것이다. 반대로 차트의 상단에서 시그널위에 있는 MACD가 위로 많이 벌어졌다면 곧 주가가 하락할 것이라는 암시이다.

일반적으로 시그널과 MACD가 교차될 때가 매수와 매도 시기라고 설명된다. 하지만 데이 트레이딩에서, 그러한 방식을 쓰게 되면, 그야말로 추격매수와 추격매도로 손해만 보는 투자방식이 될 것이다. 더 자세한 설명을 덧붙이자면 대박종목이 걸렸을 때 그 매도 시기는 아주 정확히 찍어 준다는 사실이다.

예를 들어 어쩌다 매수 후 곧바로 큰폭의 상승을, 그것도 아주 빠른 시간 안에 접하였다고 가정하자. 초보자들은 공식적인 매매라 하여 아주 쉽게 매도하게 되어 정작 큰 이익을 눈 앞에서 놓치는 경우가 허다하다. 그러나 이때 MACD를 이용하게 되면 보다 정확한 매도 시기를 알려 주는 경우가 아주 많다. 특히 매도시기는 비교적 잘 맞아 떨어진다.

5. MACD 오실레이터(Oscillator) : 진동자 활용법

MACD 오실레이터는 0을 중심으로 0 위에 위치하면 주가의 강세를 나타내며 0 아래쪽에 위치하면 반대로 약세를 나타낸다. 0 아래쪽 깊은 곳에서 반전할 때가 매수시점으로 인식할 수 있다. 반대로 0의 위쪽에서 그것도 아주 먼곳에서 하락으로 반전하게 되면 큰 시세 후 하락의 신호로 받아들여 곧 매도로 이어주는 신호로 해석할 수 있다.

한편 오실레이터의 추세반전을 이용한 매매방법도 있다. 예를 들어 오실레이터가 0선을 상향돌파하면 강력한 매수신호로, 하향돌파하면 강력한 매도신호로 받아들일 수도 있다는 얘기다.

또 MACD가 시그널을 만나러 오다가 다시 방향을 전환할 경우도, 매도와 매수신호로 받아들일 줄 아는 신축적인 사고를 할 줄 알아야 한다. 그래야 차트를 이용한 매매를 하는데 적합하다 할 수 있을 것이다.

Python으로 보조지표 MACD 구하기 MACD Oscillator 구하기

MACD란 이동평균수렴확산지수 (Moving Average Convergence & Divergence)입니다.

Gerald Appel이 이동평균 오실레이터 이동평균 오실레이터 개발하였으며 이동평균선끼리의 차이를 통해 주가 흐름을 알아보는데 쓰이는 지표입니다.

Convergence은 모인다는 뜻이고 Divergence은 흩어진다는 뜻으로 단기/장기이동평균선이 멀어졌다가 다시 가까워지는 정도를 표시하는 지표입니다.

MACD, MACD Oscillator의 계산 방법으로부터 의미를 더 살펴 보겠습니다.

MACD : 12일 지수이동평균선 - 26일 지수이동평균선
MACD Signal = MACD의 9일 단순이동평균선
MACD Oscillator = MACD Signal 값을 막대로 표현한 보조지표

MACD란 12,26일을 기준으로 한 지수이동평균선의 차이입니다.

최근 12일간 평균주가가 26일간 평균주가를 상승돌파 하면 최근 흐름을 상승이라고 판단할 수 있습니다.

반대의 경우인 12일간 평균주가가 26일간 평균주가를 하락돌파한다면 최근 주가가 과거 대비 더 하락하고 있다고 판단할 수 있습니다. 이 차이에 따라 MACD 값은 음수가 될 수도 있고 양수가 될 수도 있습니다.

정리하면 MACD의 활용도, 의미는 이렇습니다.

(1) MACD가 증가하면 상승국면이라고 할 수 있습니다. 특히 0보다 작았다가 양수로 변할 때 추세가 전환됐다고 할 수 있습니다.

(2) MACD가 Signal을 상향돌파하면 매수, 하향돌파하면 매도 타이밍이라고 생각할 수 있습니다.
(상향돌파한다는 것은 최근 12일 주가가 상승흐름이 과거 26일 보다 빠르다는 것을 의미하기 때문입니다.
물론 주식 시장에 절대적이란 없어서 돌파했다가 바로 고꾸라질 수도 있습니다.)

이를 이동평균 오실레이터 Python으로 계산하기 전에 생각해봐야 할 것이있습니다.

바로 지수이동평균인데요. MACD는 12,26일간의 지수이동평균을 기준으로 합니다.

이전 포스팅에서 사용한 이동평균선은 단순 이동평균선입니다. 단순이동평균이란 평균값을 구하는 대상을 모두 같은 가중치로 보는 것입니다.

예를 들어 1,2,3일의 종가로 이동평균선을 구합니다. 계산식은 이렇습니다.

여기서 4일 종가를 추가하면

이렇게 계산하면 됩니다. 구하는 대상의 가중치가 차이가 없이 계산하기 때문에 평균을 구하는 항목이 추가되면 분자, 분모에 하나씩 추가해주면 됩니다.

그러면 지수이동평균은 최근 추가된 데이터의 가중치를 높이는 방식입니다.

exponential moving average (EMA), exponentially weighted moving average (EWMA)지수 이동 평균, 지수가중이동평균, 가중이동평균
sn+1=αxn+(1−α)sn
xn: 최신 정보sn: 과거 종합 정보α: 윤활계수 ( 0sn+1=αxn+(1−α)αxn−1+(1−α)2αxn−2+⋯+(1−α)n+1s0
→ 과거의 정보일수록 가중치가 점점 작아짐

이에 대한 계산을 Python 코드를 통해 해보겠습니다.

위 코드에서 살펴볼 부분 이렇습니다.

(1) 지수이동평균을 구하기 위해 DataFrame의 ewm 함수를 사용했습니다

(2) ewm 함수 사용에 param으로 전달된 span은 기간입니다.

(3) ewm 함수 사용에 param으로 전달된 adjust은 default가 True지만 False와 비교하면 다른 의미를 가지고 있습니다.

default 설정인 adjust=True는 지수이동평균의 가중치 통해 초기값의 불균형을 조정해준다는 뜻이고

adjust=False은 그런 조정 없이 recursive하게 계산한다는 뜻이지만 이는

구하고자 하는 k번째 항이 무한하다는 설정이므로 MACD에서 사용하는 특정일(유한성)의 사용으로 다소 적절하지 않을 수도 있으나, 초기시점(beginning period)의 조정을 필요로 하지 않아서 adjust를 False라고 설정하였습니다.

(adjust=False는 항을 무한하다고 설정하여 y(t) 식을 간단히 하였기에 실제로 adjust=True와 비교하면 계산 속도가 더 빠르다는 것을 알 수 있습니다. 또한 계산한 값도 둘이 근소한 차이가 있습니다.)

출처 : https://pandas.pydata.org/pandas-docs/stable/user_guide/computation.html#exponentially-weighted-windows

같이 보시면 좋을 글

[공지] 쉽게 따라 만드는 파이썬 주식 자동매매 시스템 출간

2021년 10월 14일, 길벗 출판사에서 '쉽게 따라 만드는 파이썬 주식 자동매매 시스템'이 출간되었습니다. 기존 판매하던 전자책 '주식매매프로그램, 쉽게 따라 만드는 노하우와 소스를 드립니다.'

MACD 보조지표 분석방법

(1) 개념
'MACD' 분석법은 단기 이동평균 오실레이터 이동평균선과 장기 이동평균선이 멀어지게 되면(Divergence) 다시 가까워지게(Convergence)되는 속성(성질)을 이용하여 두개의 이동평균선의 차이가 제일 큰 시점을 찾아내는 분석 기법이다.
다시 말해 서 장기지수 이동평균과 단기지수 이동평균의 차이를 'MACD'라 하며, 이 'MACD'의 지수 이동평균을 '시그널(Signal)'이라 부르는데, 이 두 곡선의 교차점과 주가와의 Divergence를 이용하여 매매시점을 포착하는 것 이다.

(2) 작성 방법
* MACD 값 = 단기이동평균(12일) - 장기이동평균(26)을 산출하여 그래프로 만들고
* 이동평균 오실레이터 위의 값을 다시 이동평균(9일)하여 Signal로 사용, 같이 그래프에 산입한다.

(3) 분석 방법
산출한 'MACD'곡선과 'Signal' 곡선이 서로 교차하는 시점을 매매신호로 본다. 즉 'MACD' 곡선과 'Signal' 곡선이 교차하는 시점이 단기 이동평균선과 장기 이동평균선의 차이가 가장 큰 시점이다.
'MACD' 곡선이 'Signal' 곡선을 위에서 아래로 교차할 때를 '매도시점'으로 보며 'MACD' 곡선에 'Signal' 곡선을 아래에서 위로 교차 될 때를 '매수시점'으로 본다.
이러한 방법은 단순히 단기 이동평균선과 장기 이동평균선이 서로 교차 할 때를 매매신호로 보는 것 보다 빠르고 정확하다.


다시 한번 간단하게 개념 정리를 하면 아래와 같다.
이동평균 오실레이터

아래의 실전챠트를 통해서 이해를 도우시길 바랍니다.

위의 챠트를 보면 2000년 1월과 3월 주가와 'MACD' 사이에 '추세역전현상이 나타나는데 이것은 조만간 주가의 추세반전을 의미하는 강력한 신호이다.

(4) 'MACD 오실레이터(MACD-OSC)'
이 기법은 'MACD' 곡선과 'Signal' 곡선이 서로 교차하는 것을 보다 정확히 인식하기 위해서 'MACD' 와 'Signal'의 차이를 또 한번 '오실레이터' 로 값을 산출 한 것인데 마치 막대그래프 모양의 챠트 모양을 만든다.

(a) 'MACD-OSC'의 값은 주가 움직임을 미리 선도하는 경향이 크므로 전일의 'MACD-OSC'의 움직임과 반대 방향으로 움직이면, 다시 말해서 정점에서 그래프가 꺾여 고점에서 저점으로 방향전환을 하기 시작하면 매매 신호로 인식해야한다.
(b) 주가 움직임과 'MACD-OSC' 사이에서 Divergence가 발견되면 추세 반전이 강력히 예견 될 수 있다.
(c) 'MACD-OSC'의 값이 기준선 0선을 돌파할 때도 추세 전환이 임박했다는 중요한 신호로 인식한다. 음(-)에서 기준선 0선을 상향 돌파하여 양(+)으로 변하면 상승추세로의 전환, 즉 매수시점으로 판단하고, 반대로 양(+)에서 기준선 0선을 돌파하여 음(-)으로 변하면 하락추세로의 전환, 즉 매도시점으로 판단한다.

dspk의 투자 노트

이번에는 MACD( Moving Average Convergence & Divergence, 이동평균 수렴&확산 지수 )에 대해서 알아보겠습니다.

수식으로는 매우 간단합니다. 이전 글에서 언급한 이동평균만으로 다음과 같이 이동평균 오실레이터 표현이 됩니다.

  • MACD : 12일 이동평균 - 26일 이동평균

비교를 위해 쓰이는 시그널과 오실레이터는 다음과 같이 정의됩니다.

  • MACD시그널 : 이동평균 오실레이터 MACD의 9일 이동평균
  • MACD오실레이터 : MACD - MACD시그널

다만 MACD시그널의 경우에는 이동평균의 이동평균인 점이 특이합니다.

매수 신호로는 보통 다음과 같은 방식을 쓰라고 합니다.

  • MACD가 양수 범위에 있으면 매수(양수가 된 경우나, 양수 범위에서 증가하는 경우 모두)
  • MACD가 MACD시그널을 골든크로스하면 매수

이제는 백테스트로 정말 이게 믿을만 한지 알아봐야겠죠?

백테스트 기간은 최근 1년(2018/08/22~2019/08/23)으로 잡고, 다음과 이동평균 오실레이터 같이 매수조건을 넣습니다.

MACD가 양수이고, MACD가 MACD시그널을 골든크로스하고, MACD가 증가하면 매수합니다.

위의 조건이 하나라도 풀리면 매도합니다. 우선순위도 MACD 내림차순으로 합니다.

최종 설정조건은 다음과 같습니다.

MACD test 설정조건

과연 결과가 어떻게 나올까요?

MACD test result

비트코인 보조지표 MACD 보는 방법 : 오실레이터(Oscillator)

비트코인 보조지표 MACD 보는 방법과 오실레이터(Oscillator)

기본적으로 MACD 보조지표의 기준이 되는 것은 이동평균선이다. 그렇다. 이동평균선은 특정 기간 동안의 주가의 움직임을 나타내며, 이는 곧 추세의 진행을 이해하는데 도움이 될 수 있다.

일반적으로 이동평균선은 MA라고 한다. Moving Average라는 말로, 이를 해석하면 이동 평균이 된다. 이러한 값을 선으로 표현한 것이 바로 이동평균선이다.

비트코인 보조지표 : 머니 플로우 인덱스(MFI)

머니 플로우 인덱스(MFI) 머니 플로우 인덱스란 무엇인가? 그리고 어떻게 활용할 수 있을까? 바이낸스 기준으로 보조지표에서 MFI로 검색을 하면 머니 플로우(Money Flow)를 활용할 수 있다. 머니 플

눈치가 빠르다면 MACD에서 MA가 이동평균선을 의미한다는 것을 바로 알아낼 수 있을 것이다. 그렇다면 CD는 무엇일까? 수렴이라는 의미를 가진 Covergence와 발산이라는 의미를 가진 Divergence의 줄임말을 합친 것이다. 즉, 수렴과 발산을 의미한다.

비트코인 보조지표 MACD 보는 방법과 오실레이터(Oscillator) 2

MACD는 이동평균선의 수렴과 발산을 나타낸 보조지표라고 이해할 수 있을 것이다. MACD에서 기본적으로 이동평균 오실레이터 숏과 롱을 알아야 하는데, 숏은 일반적으로 12, 롱은 일반적으로 26의 이동평균선으로 기본값을 설정한다.

MACD에 의한 수식 방식은 이와 같이 MACD = SHORT - LONG = 이동평균선으로 구현할 수 있는 것이다. 또한, MACD를 통해서 오실레이터의 이동평균선으로 구성할 수 있다.

비트코인 보조지표 MACD 보는 방법과 오실레이터(Oscillator) 3

보조지표가 항상 완벽한 결과를 만들어주진 않는다.

오실레이터(Oscillator)

지표 분석 방법 중 하나로 횡보장세에서의 전환점(turning point)을 포착하는 데는 적합하지만 추세가 시작된 이후에는 너무 빨리 나타나 매매에 위험한 신호를 제공한다.

오실레이터(oscillator)란 넓은 의미로는 가격의 움직임을 나타내는 모든 지수를 일컫는 말이고 좁은 의미로는 최근의 가격에서 과거 일정 시점의 가격을 빼서 산출된 결과로 나타난 플러스(+), 마이너스(-) 값을 현재 시점에서 그래프로 나타내어 분석하는 방법이다.

MACD 보조지표 설정 세팅방법

: MACD 보조지표 설정 세팅방법 이동평균 수렴 확산지수(MACD) 보조지표는 트레이딩을 할 때 롱 또는 숏 포지션 전환점을 가늠할 수 있습니다. 하지만, 항상 정확한 것은 아니죠. 시장이 완전히 하

오실레이터를 이용한 분석은 추세분석이나 패턴 분석이 보합 국면, 즉 가격의 변동 폭이 미미할 때 분석하기 어려운 점을 보완해 주며 추세가 뚜렷하지 않을 때 유용하게 이용된다.

MACD가 시그널선을 뚫고 내려가면 매수 구간이고, 반대로 뚫고 올라가면 매도 구간으로 볼 수 있을 것이다. MACD 보조지표를 보면 이와 같은 값 외에도 히스토그램으로 구현된 값이 있습니다. 이를 오실레이터 지표라고 합니다.

오실레이터 지표

이렇게 오실레이터 지표가 있는 이유는 MACD와 시그널 선이 후행성 지표이기 때문이다. 그래서 매수와 매도 구간의 반응을 늦게 할 수밖에 없게 된다. 즉, 후행 지표는 이동평균 오실레이터 과거 데이터를 분석해서 그에 대한 값을 나타내는 것이다. 당연히 느릴 수밖에 없다. 그렇기 때문에 오실레이터를 같이 보며 보조지표를 이동평균 오실레이터 해석한다.

비트코인 보조지표 MACD 보는 방법과 오실레이터(Oscillator)

MACD란 무엇일까? 기본적으로 MACD 보조지표의 기준이 되는 것은 이동평균선이다. 그렇다. 이동평균선은 이동평균이동평균 오실레이터 오실레이터 특정 기간 동안의 주가의 움직임을 나타내며, 이는 곧 추세의 진행을 이해하는데 도움이

MACD 오실레이터MACD시그널의 이격차를 막대그래프로 나타낸 지표다.

즉, 오실레이터MACD 보조지표에 부합되는 위치에서 매수, 매도 구간을 잡게 되면 꽤 좋은 위치에서 진입과 이탈을 할 수 있을 것이다. 물론, 이러한 보조지표가 항상 성공하는 것은 아니다. 시장에는 어떤 변수가 발생할지 아무도 모르기 때문이다.


0 개 댓글

답장을 남겨주세요