728x90
0. Summary
1. ATR(Average True Range): 가격변동폭을 의미함.
2. 단순이동평균과 지수이동평균 중 어느걸 선택해야 될지 고민
1. ATR (Average True Range)
● 간단히 말해서 가격변동폭이다.
두 시점의 가격 차이(TR)를 계산하여 주가의 변동성을 알아보는 지표이다.
TR의 이동평균값을 구한 것이 ATR이라고 볼 수 있다.
이 값을 통해서 현재 코인의 가격이 안정적인지 아닌지를 판단할 수 있다.
이 값이 크다면 현재 장의 변동성이 크다는 의미이다.
하지만 이 값만으로는 판단의 기준을 삼기는 어려울 것 같고,
절대적으로 참고만 해야될 것으로 판단된다.
● 어느 시점이 원하는 포인트인지?
기준점은 총 3개이다.
1. 전일 종가
2. 현재 고가
3. 현재 저가
그리고 이 값들의 조합은 총 3가지이다.
1. 전일 종가 - 현재 고가
2. 전일 종가 - 현재 저가
3. 현재 고가 - 현재 저가
이중에 제일 높은 값을 TR로 채택한다.
그림으로 보면 아래와 같다. 파란색 원이 기준 포인트라고 보면 되고
이 값들의 차이를 조합해보고 제일 큰 값을 채택하면 ATR이 되는 것이다.
2. 코드를 구현해보자
● get_ohlcv
모든 것의 기초는 get_ohlcv이다. 이걸 기본으로 지표들을 구할 수 있다.
### ATR(Average True Range)
### [day / minute1 / minute3 / minute5 / minute10 / minute15 / minute30 / minute60 / minute240 / week / month ]
atr_intv = "day"
atr_count = 200
tr_df = pyupbit.get_ohlcv('KRW-BTC', interval=atr_intv, count=atr_count)
tr_df['ch'] = abs(tr_df['close'].shift() - tr_df['high'])
tr_df['cl'] = abs(tr_df['close'].shift() - tr_df['low'])
tr_df['hl'] = abs(tr_df['high'] - tr_df['low'])
# axis=1: 열 기준, (axis=0: 행기준)
tr_df['tr'] = tr_df[['hl','hc','lc']].max(axis=1)
# ATR 구하기
# 1. 단순이동평균
tr_df['atr_sma'] = tr_df['tr'].rolling(window=14).mean()
# 2. 지수이동평균
tr_df['atr_ema'] = tr_df['tr'].ewm(span=14).mean()
3. 단순이동평균과 지수이동평균
rolling을 이용할 수도 있고, ewm을 이용할 수도 있다.
어떤 걸 선택할지는 상황에 맞게 골라야될 것 같고 차이는 아래와 같다.
- rolling(window=14).mean()은 단순 이동평균(SMA)로, 모든 값에 동일한 가중치를 부여하여 평균을 계산합니다.
- ewm(span=14).mean()은 지수 이동평균(EMA)로, 최신 데이터에 더 큰 가중치를 부여하여 평균을 계산합니다.
- 반응 속도:
- 단순 이동평균(SMA)은 모든 값에 동일한 가중치를 부여하기 때문에 갑작스러운 변화에 덜 민감합니다.
- 지수 이동평균(EMA)은 최신 값에 더 큰 가중치를 부여하기 때문에 갑작스러운 변화에 더 민감합니다.
- 사용 사례:
- 단순 이동평균(SMA)은 주로 안정된 장기 추세를 파악할 때 사용됩니다.
- 지수 이동평균(EMA)은 단기 변동을 더 잘 반영하여, 트렌드의 변화에 더 빠르게 반응할 필요가 있을 때 사용됩니다.
728x90
'시스템트레이딩' 카테고리의 다른 글
[업비트 시스템 트레이딩] 2024.06.05 / 거래량으로 특징 포착 (0) | 2024.06.05 |
---|---|
[업비트 시스템 트레이딩] 2024.05.25 / 엔벨로프(envelope) (0) | 2024.05.25 |
[업비트 시스템 트레이딩] 2024.05.20 / RSI (0) | 2024.05.20 |
[업비트 시스템 트레이딩] 2024.05.19 / 업비트 데이터 가져오기 (0) | 2024.05.19 |
[업비트 시스템 트레이딩] 2024.05.13 / MACD (0) | 2024.05.13 |