DMI 활용 전략

  • 추세 추종 전략
    추세가 상승하는 상황에서는 +DI가 -DI보다 높아지고 ADX 값이 일정 수준 이상인 시점에서 매수 진입
    추세가 하락하는 상황에서는 -DI가 +DI보다 높아지고 ADX 값이 일정 수준 이상인 시점에서 매도 진입
    매수나 매도 진입 후에는 ADX 값이 일정 이하로 떨어질 때 익절 결정 또는 손절 결정

  • 반전 전략
    상승 추세에서 ADX 값이 일정 수준 이상인 상황에서 +DI가 하락하는 것을 관찰
    하락 추세에서 ADX 값이 일정 수준 이상인 상황에서 -DI가 상승하는 것을 관찰
    해당 신호가 나타난 직후 매수나 매도 진입, 익절 결정 또는 손절 결정

  • DMI와 다른 지표들의 조합
    MACD, RSI, 이동평균선 등의 다른 지표와 DMI를 조합하여 사용
    예를 들어, DMI에서 상승 추세 신호가 나타났을 때 MACD의 신호가 매수를 지지하는 경우 매수 진입, 익절 결정 또는 손절 결정

DMI 지표 예제
DMI 지표 예제

하지만, 시장 상황이 매우 동적으로 변하는 것을 고려하여 이러한 전략을 사용하기 전에 적절한 백테스팅과 검증 과정을 거쳐야 합니다. 또한, 개별적인 상황에 따라 전략을 조정하고 유연하게 대처해야 합니다.

 

DMI Directional Movement Index 란?

DMI(Directional Movement Index)는 대표적인 추세의 방향과 강도를 파악할 수 있는 지표 중 하나로 J. Welles Wilder Jr. 이 개발하였습니다. 그는 다양한 기술적 분석 지표들을 개발하였으며 그중에는 RSI(Relative Strength Index)와 Parabolic SAR도 있습니다. DMI 역시 그가 개발한 지표 중 하나이며, 현재까지도 많은 트레이더들에게 인기 있는 지표 중 하나입니다. 

DMI는 ADX(Average Directional Movement Index)와 +DI(Positive Directional Indicator)와 -DI(Negative Directional Indicator) 지표로 이루어져 있습니다.

+DI는 일정 기간 동안 가격이 상승하였을 때, 그 기간의 변동폭을 측정하여 상승폭을 나타냅니다. -DI는 일정 기간 동안 가격이 하락하였을 때, 그 기간의 변동폭을 측정하여 하락폭을 나타냅니다.

ADX는 +DI와 -DI 간의 차이를 측정하여 추세의 강도를 나타내는 지표입니다. ADX 값이 높을수록 추세의 강도가 강하다는 것을 나타내며, ADX 값이 낮을수록 추세가 약하거나 변동성이 높다는 것을 의미합니다.

DMI 지표를 사용하면 추세의 방향과 강도를 파악할 수 있기 때문에 매수 또는 매도 시점을 결정하는 데 도움을 줄 수 있습니다. 예를 들어, +DI가 -DI보다 높은 값을 가질 때는 상승 추세가 강하다는 것을 나타내므로 매수 시점으로 볼 수 있습니다. 반대로, -DI가 +DI보다 높은 값을 가질 때는 하락 추세가 강하다는 것을 나타내므로 매도 시점으로 볼 수 있습니다.

 

DMI와 비슷한 유형의 보조지표

  • ADX(평균 방향 지수, Average Directional Index)
    DMI 지표에서 사용되는 +DI, -DI, ADX 값을 계산하는 지표
    ADX 값은 주식이나 다른 유동성이 있는 자산의 추세 강도를 나타내며, 보조지표로서 매우 유용하게 사용됩니다.

  • Aroon 지표
    주식 시장의 상승 추세와 하락 추세를 측정하는 지표
    Aroon up과 Aroon down 지표를 사용하여, 각 지표가 100에 가까울수록 해당 추세가 강하다는 것을 나타냅니다.

  • CCI(상대적인 사이클 지수, Commodity Channel Index)
    주가 움직임의 상대적인 강도를 측정하는 지표
    CCI 값이 0보다 크면 상승 추세에, 0보다 작으면 하락 추세에 있다고 판단할 수 있습니다.

  • MACD(이동평균 수렴확산 지수, Moving Average Convergence Divergence)
    이동평균선을 사용하여 추세를 나타내는 지표
    MACD 라인과 신호선의 교차점을 사용하여 매수나 매도 신호를 파악할 수 있습니다.

MDI를 구하는 Python 함수

import pandas as pd
import ta

# 임의의 가격 데이터 생성
high = pd.Series([83.3, 84.0, 83.8, 84.4, 85.1, 85.9, 86.7, 87.6, 87.8, 88.4])
low = pd.Series([82.2, 82.5, 82.6, 83.1, 83.8, 84.3, 85.3, 86.3, 86.7, 87.0])
close = pd.Series([82.7, 83.5, 83.2, 84.2, 84.8, 85.5, 86.4, 87.3, 87.0, 87.9])

# DMI 지표 계산
dmi = ta.trend.DMIndicator(high=high, low=low, close=close)

# +DI, -DI, ADX 값을 출력
print(dmi.plus_di())
print(dmi.minus_di())
print(dmi.adx())

# 결과 출력
0     NaN
1     NaN
2     NaN
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
8    32.5
9    35.8
dtype: float64
0     NaN
1     NaN
2     NaN
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
8    24.6
9    22.7
dtype: float64
0     NaN
1     NaN
2     NaN
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
8     NaN
9    27.1
dtype: float64

+ Recent posts