안녕하세요. 주식 투자 관련 코드를 제공하는 인천고래입니다.
오늘은 변동성 및 추세 지표의 근간이 되는 TR 보조지표 또는 True Range 보조지표라고 불리우는 지표에 대해 알아보도록 하겠습니다.
1. TR(True Range) 개념
- 특정 하루 동안의 실제 변동폭을 나타내는 값.
- TR = max(고가 -저가, 고가 - 전일 종가, 저가 - 전일 종가)로 계산됩니다.
- 일 단위의 변동폭이기 때문에 단순히 당일의 변동량을 나타냅니다.
1-1. TR 공식
TR 계산 공식은 아래와 같습니다.
아래는 TR 관련 파이썬 코드입니다.
# 1. True Range (TR) 계산 함수
def calculate_true_range(df):
"""
True Range(TR)를 계산하는 함수.
:param df: pandas DataFrame, 'High', 'Low', 'Close' 컬럼 포함
:return: pandas Series, True Range 값
"""
high_low = df['High'] - df['Low']
high_close_prev = abs(df['High'] - df['Close'].shift(1))
low_close_prev = abs(df['Low'] - df['Close'].shift(1))
return pd.concat([high_low, high_close_prev, low_close_prev], axis=1).max(axis=1)
1-2. ATR 공식
ATR은 단순히 TR을 평균낸 값입니다.
ATR 계산 공식은 아래와 같습니다.
ATR 관련 파이썬 코드는 아래와 같습니다.
# 2. Average True Range (ATR) 계산 함수
df['ATR'] = df['TrueRange'].rolling(window=period).mean()
2. TR과 ATR의 차이점
- 단기 변동성 완화
TR은 당일의 변동폭이므로, 하루의 변동성이 크게 튀는 경우
DMI와 같은 보조지표에서 사용할 경우 DI+와 DI-가 급격히 변화할 수 있습니다.
ATR을 사용하면 변동성 스파이크를 완화하여 **부드럽고 안정적인 DI+와 DI-**를 제공합니다. - 더 정확한 추세 측정
이동 평균을 사용하여 상승 및 하락 에너지를 측정하면 특정 일에만 급격한 상승/하락을 보인 데이터를 무시할 수 있습니다. 이는 시장의 추세를 더 정확히 측정할 수 있게 만듭니다. - 표준적인 방식
실제로 많은 기술적 분석에서는 DMI 보조지표에서와 마찬가지로 DI+와 DI- 계산 시 단순히 하루 TR을 사용하기보다는 평균 TR(ATR)을 사용하는 것이 더 일반적입니다. Welles Wilder의 계산법도 14일 평균을 사용합니다.
자신만의 매매법을 자동매매 프로그램으로 만들거나
기법이 확률이 떨어진다면 백테스팅을 사용해서 확률을 높여야 합니다.
아래의 링크를 통해서 요청하시면 요청하신 이상(가격대비 성능의 최대치)의 결과물을 받아 보실 수 있습니다.
다른 보조지표에 대해서는 아래의 링크 글을 통해 자세히 알아 볼 수 있습니다.
단기적인 스윙 및 세력 매집 분석에 용이한 기준봉에 대해서는 아래의 링크 글을 통해 자세히 알아 볼 수 있습니다.
'Python Code' 카테고리의 다른 글
TA-Lib 모듈 설치하기 (부제: 32비트 환경에서 Talib 모듈을 설치하려면) (0) | 2025.01.09 |
---|---|
캘트너 채널(Keltner Channel) 보조지표, 파이썬 코드 제공 (0) | 2025.01.04 |
모듈을 어플로 실행할 때의 경로(상위 폴더의 다른 폴더 파일) 참조 방식 (0) | 2025.01.03 |
파이썬 자동매매 기초 : 조건검색식 가져오기 (0) | 2024.05.28 |
Python 모듈의 버전을 확인하는 방법 (0) | 2024.05.10 |
댓글