[기술적 분석] 지표 : TR, ATR, NATR (True Range, Average True Range, Normalized Average True Range)

반응형

 

  이번에는 가격 변동을 관찰하기 위한 지표들 True Range, Average True Range, Normalized Average True Range를 살펴본다. 해당 지표들은 독자적으로 사용되는 경우도 있으나 대게 다른 지표에서 쓰이는 경우가 많다. 이 3개 지표만 이용해서 만든 전략은 없으나, 이것들을 사용해서 만든 지표나 전략은 심심치 않게 찾아볼 수 있다.

 

반응형

 

  • TR (True Range)

  트루 레인지는 당일 고가 - 당일 저가, 전일 종가 - 당일 저가, 전일 종가 - 당일 고가 중 가장 값이 큰 가격 차이이다. 상승/하락율이 아닌 실제 가격 변동폭을 뜻한다.

  • ATR (Average True Range)

  에버리지 트루 레인지는 앞서 구한 트루 레인지를 이동평균 한 값이다. 역시 구간이나 이동평균 종류에 따라 천차만별의 값이 나온다. TR의 경우 값이 들쭉날쭉하며 노이즈가 생기는 경우가 많아 이것을 평탄화 한 개념.

  • NATR (Normalized Average True Range)

  노말라이즈드 에버리지 트루 레인지는 앞서 두 개의 단점을 보완한다. TR과 ATR은 현재 가격 대비가 아닌 시가와 고가의 가격차이다. 주당 가격이 높은 종목은 TR이나 ATR이 높게 나오고 주당 가격이 낮은 종목은 TR과 ATR이 낮게 나온다. NATR은 ATR을 현재 종가로 나눠 백분율의 형태로 표현한 것이다. 이로써 NATR은 가격 변동폭이 어느 정도 되는지 파악하기에 아주 좋은 변동성 지표.

TR, ATR, NATR와 주가

 

  pandas-ta에서의 소스코드를 공유하고 포스팅을 마친다.

 

 

import pandas_ta as ta
import FinanceDataReader as fdr

data = fdr.DataReader('005930')
data['TR'] = ta.true_range(data['High'], data['Low'], data['Close'])
data['ATR'] = ta.atr(data['High'], data['Low'], data['Close'], length=14, mamode='SMA')
data['NATR'] = ta.natr(data['High'], data['Low'], data['Close'], length=14, mamode='SMA')
data.dropna(inplace=True)
반응형