강도 지표: ADX

Python으로 배우는 금융 트레이딩

Chelsea Yang

Data Science Instructor

ADX란?

  • "Average Directional Movement Index"의 약자
  • J. Welles Wilder 개발
    • "New Concepts in Technical Systems" (1987)

웰스 와일더의 책

  • 추세의 강도를 측정
    • 0~100 사이에서 진동
    • ADX <= 25: 무추세
    • ADX > 25: 추세 발생
    • ADX > 50: 강한 추세
Python으로 배우는 금융 트레이딩

ADX는 어떻게 계산하나요?

  • +DI와 -DI의 차이를 평활 평균해 도출
    • +DI (Plus Directional Index): 상승 추세 존재를 정량화
    • -DI (Minus Directional Index): 하락 추세 존재를 정량화

 

  • 계산 입력값:
    • 각 기간의 high, low, close 가격
Python으로 배우는 금융 트레이딩

Python에서 ADX 구현

# Calculate ADX
stock_data['ADX'] = talib.ADX(stock_data['High'], stock_data['Low'], stock_data['Close'],
                              timeperiod=14)

# Print the last five rows print(stock_data.tail())
             Open   High    Low  Close   ADX
Date                                        
2020-11-24 540.40 559.99 526.20 555.38 21.16
2020-11-25 550.06 574.00 545.37 574.00 23.92
2020-11-27 581.16 598.78 578.45 585.76 26.82
2020-11-30 602.21 607.80 554.51 567.60 28.25
2020-12-01 597.59 597.85 572.05 584.76 29.58
Python으로 배우는 금융 트레이딩

ADX 그리기

import matplotlib.pyplot as plt

# Create subplots
fig, (ax1, ax2) = plt.subplots(2)

# Plot ADX with the price ax1.set_ylabel('Price') ax1.plot(stock_data['Close']) ax2.set_ylabel('ADX') ax2.plot(stock_data['ADX']) ax1.set_title('Price and ADX') plt.show()

위: 가격 차트, 아래: ADX 차트

Python으로 배우는 금융 트레이딩

연습해 봅시다!

Python으로 배우는 금융 트레이딩

Preparing Video For Download...