NOONOO TRADING봇에서 시작하기

맥기니 다이내믹(McGinley Dynamic) — 속도를 스스로 바꾸는 이동평균의 계산법과 한계

이동평균은 기간을 한 번 정하면 시장이 빠르든 느리든 같은 속도로 따라갑니다. 1990년대 초 존 맥기니(John R. McGinley)는 이 고정 속도가 문제라고 보고, 가격이 지표에서 멀어진 정도에 따라 스스로 속도를 바꾸는 이동평균을 제안했습니다. 이것이 맥기니 다이내믹(McGinley Dynamic)입니다. 공식은 한 줄이지만 그 안의 네제곱 항 때문에 상승과 하락에 반응하는 방식이 다르고, 극단적인 급락에서는 가격을 지나쳐 버리는 성질도 있습니다. 계산을 직접 따라가며 이 특징들을 확인합니다.

고정 속도 이동평균의 문제

이동평균선은 기간 n 이 곧 속도입니다. 지수이동평균(EMA)은 매 봉 가격과의 차이 중 일정 비율 α = 2 ÷ (n + 1) 만큼만 따라갑니다. n = 10 이면 α 는 약 0.1818, 즉 차이의 18.2% 를 매 봉 따라갑니다. 이 비율은 추세장이든 횡보장이든 바뀌지 않습니다.

그래서 추세가 빨라지면 EMA는 뒤처지고, 횡보장에서는 작은 흔들림까지 따라가며 가격과 자주 교차합니다. EMA와 SMA의 차이도 결국 가중치의 모양 차이일 뿐, 속도가 시장에 따라 변하지는 않는다는 점은 같습니다.

이 문제를 푸는 방법은 여러 가지입니다. 계산을 조합해 지연 자체를 줄인 헐 이동평균(HMA), 추세 대비 노이즈 비율로 속도를 바꾸는 카우프만 효율 비율(ER) 기반 이동평균이 대표적입니다. 맥기니 다이내믹은 여기서 또 다른 기준, 가격과 지표값의 비율을 씁니다.

공식 — 한 줄

맥기니 다이내믹 (MD)

MDt = MDt−1 + (P − MDt−1) ÷ ( k × N × (P ÷ MDt−1)4 )

P = 현재 종가
N = 기간
k = 상수 (원래 제안 0.6 · 트레이딩뷰 기본 구현은 k 없이 = 1)

첫 값은 보통 첫 종가 또는 SMA(N) 으로 시작한다

구조는 EMA와 같습니다. 직전 값에 "가격과의 차이 × 따라가는 비율"을 더합니다. 다른 점은 그 비율이 1 ÷ (k × N × 비율⁴) 로, 매 봉 바뀐다는 것입니다.

k = 0.6 이라는 상수에도 이유가 있습니다. 평형 상태에서 MD의 비율은 1 ÷ (0.6 × N) 입니다. N = 10 이면 1/6 이고, EMA로 바꾸면 2 ÷ (n + 1) = 1/6 → n = 11 입니다. 즉 k = 0.6 은 MD(N)을 대략 EMA(N) 과 비슷한 속도로 맞추는 값입니다. k = 1 로 쓰면 평형 비율 1/10 은 EMA(19) 수준이 되어 같은 N 이라도 훨씬 느립니다. 플랫폼마다 k 처리가 달라 같은 "MD(10)" 이라도 선이 다를 수 있습니다.

N = 10 예시로 직접 계산하기

직전 MD = 100, N = 10, k = 1 로 두고 다음 봉 종가가 ±10% 움직였을 때를 계산합니다.

종가 110 (+10%)
비율 = 110 ÷ 100 = 1.1 → 1.14 = 1.4641
분모 = 10 × 1.4641 = 14.641
MD = 100 + 10 ÷ 14.641 = 100 + 0.683 = 100.683

종가 90 (−10%)
비율 = 0.9 → 0.94 = 0.6561
분모 = 10 × 0.6561 = 6.561
MD = 100 − 10 ÷ 6.561 = 100 − 1.524 = 98.476

같은 봉의 EMA(10) (α = 2/11)
110 → 101.818  /  90 → 98.182

─────────────
EMA는 위아래로 똑같이 1.818 움직인다
MD는 위로 0.683 · 아래로 1.524 — 하락 쪽이 약 2.2배 빠르다

같은 크기의 움직임인데 MD는 하락에 2배 이상 민감합니다. 공식에 방향을 따지는 조건문은 없지만, 비율을 네제곱하는 순간 1 위쪽과 아래쪽의 크기가 달라져서 비대칭이 생깁니다. 맥기니는 이를 "급락은 급등보다 빠르게 일어나므로 지표도 하락에 빨리 반응해야 한다"는 의도로 설명했습니다.

계단형 움직임에서의 차이

가격이 100 에서 한 봉 만에 120 또는 80 으로 옮겨 가서 그대로 머문다고 가정하고, 10봉 동안 MD(10, k = 1)와 EMA(10)를 비교합니다.

계단 상승 100 → 120 (가정)

경과   MD(10)   EMA(10)
1봉    100.96   103.64
3봉    102.86   109.05
5봉    104.69   112.67
10봉   108.88   117.31

계단 하락 100 → 80 (가정)

경과   MD(10)   EMA(10)
1봉    95.12    96.36
3봉    89.97    90.95
5봉    87.13    87.33
10봉   83.55    82.69

─────────────
상승: 10봉 뒤 MD는 갭 20 중 8.88 (44%) · EMA는 17.31 (87%)
하락: 처음 몇 봉은 MD가 EMA보다 빠르고, 이후 비슷해진다

상승 쪽에서 MD는 EMA보다 훨씬 늦습니다. k = 1 이라 기본 속도부터 EMA(19) 수준인 데다, 가격이 MD 위에 있는 동안 비율⁴ 이 속도를 더 깎기 때문입니다. 하락 쪽은 반대로 비율⁴ 이 속도를 올려 주어 첫 봉부터 EMA를 앞섭니다.

이 성질은 쓰는 방향에 따라 장단점이 갈립니다. 롱 포지션의 추세 추종선으로 쓰면 급등 초반을 늦게 인정하는 대신, 하락 전환은 빨리 보여 줍니다. 숏 쪽에서 MD 위로의 돌파를 추세 전환 신호로 쓰면 반대로 상승 반전을 늦게 인정하게 됩니다.

한계 — 극단적 급락에서의 오버슈트

비율⁴ 이 작아질수록 분모가 작아져 MD가 따라가는 폭이 커집니다. 그런데 이 폭이 가격과의 거리 자체보다 커지는 지점이 있습니다. 그때 MD는 가격을 지나쳐 아래로 뚫고 내려갑니다.

직전 MD = 100 · N = 10 · k = 1 (가정)

종가 70 (−30%)
0.74 = 0.2401 → 분모 2.401
MD = 100 − 30 ÷ 2.401 = 87.51  (가격 위, 정상)

종가 50 (−50%)
0.54 = 0.0625 → 분모 0.625
MD = 100 − 50 ÷ 0.625 = 100 − 80 = 20.0
 → 가격 50 보다 30 아래로 지나친다

오버슈트가 생기는 경계
따라가는 비율 1 ÷ (k × N × r4) > 1 이 되는 r
r < (k × N)−1/4
 k = 1, N = 10 → r < 0.562  (한 봉 −43.8% 초과 하락)
 k = 0.6, N = 10 → r < 0.639  (한 봉 −36.1% 초과 하락)

한 봉에 −36% 는 주요 코인의 일반적인 장에서는 드물지만, 저유동성 알트코인의 급락이나 상장 직후 종목, 지갑 해킹·디페깅 같은 사건에서는 실제로 나옵니다. k = 0.6 이면 −36.1%, 기간 N 을 짧게 잡으면 경계가 더 가까워집니다(N = 5, k = 0.6 이면 −24.0%). 이때 MD는 가격이 한 번도 가지 않은 자리에 찍히고, 다음 봉부터는 가격이 MD 위에 있으므로 비율⁴ 이 커져 아주 느리게 올라옵니다. 사건 한 번이 지표를 한동안 왜곡하는 셈입니다.

공식상 MD가 0 이하로 떨어지면 다음 계산에서 비율이 음수나 무한대가 되어 값이 깨집니다. 위 표의 k = 0.6, 종가 50 경우가 그렇습니다(MD = −33.3). 차트 플랫폼이 이 상황을 어떻게 처리하는지는 구현마다 다르므로, 급락 직후 MD 값은 그대로 믿지 않는 편이 안전합니다.

매매에 쓰는 방식

  1. 추세 방향 필터. 가격이 MD 위면 롱만, 아래면 숏만 본다는 식입니다. MD는 횡보장에서 EMA보다 덜 흔들리는 경향이 있어 필터로 쓰기 무난하지만, 위에서 본 상승 지연 때문에 상승 추세 초반엔 필터가 늦게 열립니다.
  2. 동적 지지·저항이 아닌 기준선. MD는 "가격이 멀어지면 덜 따라간다"는 성질상 가격과 떨어져 있는 시간이 깁니다. 가격이 MD에 닿는 지점을 매수 자리로 해석하기보다, 추세 기준선 정도로 보는 편이 성질에 맞습니다.
  3. 손절은 따로. MD 이탈을 손절 기준으로 쓰면 하락 쪽은 빠르게, 상승 쪽은 느리게 반응해 롱·숏의 손절 거리가 비대칭이 됩니다. 손절은 ATR 트레일링 스탑처럼 변동성 기준으로 정하는 편이 일관됩니다.
교차 신호의 비용 (가정)

4시간봉에서 가격과 MD의 교차가 한 달 12번, 신호마다 포지션 전환
왕복 수수료 0.10% · 슬리피지 왕복 0.05% 라고 하면

한 달 비용 = 12 × 0.15% = 1.80%
같은 조건 EMA 교차가 한 달 20번이면 = 3.00%

─────────────
교차가 줄어드는 만큼 비용은 줄지만, 늦게 들어가는 비용은 이 계산에 없다

교차 횟수가 줄면 거래 비용은 분명 줄어듭니다. 다만 늦게 진입·청산하면서 놓치는 구간은 수수료처럼 눈에 보이지 않습니다. 신호 개수와 비용의 관계는 거래 빈도와 수수료 부담 글에서 따로 다뤘습니다.

흔한 오해

  1. "MD는 지연이 없는 이동평균이다." 평형 상태에서는 EMA와 같은 속도이고, 가격이 위로 멀어지면 오히려 EMA보다 늦습니다.
  2. "시장 상황에 맞춰 알아서 최적화된다." MD가 보는 것은 가격 ÷ MD 비율 하나뿐입니다. 추세인지 노이즈인지는 판단하지 않습니다. 같은 비율이면 추세장이든 횡보장이든 같은 속도로 움직입니다.
  3. "MD(10)은 어디서나 같은 선이다." k 를 0.6 으로 쓰는지 1 로 쓰는지, 초기값을 무엇으로 잡는지에 따라 선이 달라집니다. 플랫폼을 바꾸면 기간보다 k 부터 확인합니다.

정리

① MD = MD + (P − MD) ÷ (k × N × (P/MD)⁴)
② 평형이면 EMA처럼 움직인다 — k = 0.6 이면 MD(10) ≈ EMA(11), k = 1 이면 ≈ EMA(19)
③ 가격이 위면 느려지고, 아래면 빨라진다
④ ±10% 에서 상승 +0.683 · 하락 −1.524 (예시)
⑤ 20% 계단 상승 10봉 뒤 MD 44% · EMA 87% 따라감 (예시)
⑥ 한 봉 하락이 경계 (k×N)−1/4 를 넘으면 가격을 지나친다
⑦ 필터·기준선으로 쓰고, 손절은 변동성 기준으로 따로 정한다
⑧ 플랫폼마다 k 와 초기값을 확인한다

한 줄로 줄이면 이렇습니다. 맥기니 다이내믹은 하락엔 빠르고 상승엔 느리도록 설계된 이동평균이며, 그 비대칭이 장점이자 한계입니다.

주의

본문의 MD 100, 종가 110·90·120·80·70·50, 기간 10·5, k 0.6·1, MD 100.683·98.476·108.88·87.51·20.0, EMA 101.818·98.182·117.31, 경계 −43.8%·−36.1%·−24.0%, 교차 12회·20회, 수수료 0.10%·슬리피지 0.05% 등 모든 숫자는 계산 방식을 설명하기 위한 가정 예시이며 특정 종목·특정 계좌의 실제 측정값이 아닙니다. 차트 플랫폼마다 상수 k·초기값·예외 처리가 달라 같은 기간이라도 값이 다를 수 있습니다. 이 글은 교육 정보이며 특정 종목의 매수·매도 권유나 특정 수익을 보장하는 내용이 아닙니다. 레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.

NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.

봇에서 시작하기

📈 OKX 신규 가입 시 거래 수수료 할인

OKX 수수료 할인 가입 →