Development/Indicator Lab 27

ATR (Average True Range, 평균진폭)

지금까지 이동평균 시리즈를 통해 추세를 파악하는 방법을 다뤘습니다. 이번에는 관점을 바꿔서, 가격이 얼마나 움직이는지 — 즉 변동성을 측정하는 지표인 ATR을 소개합니다. ATR은 매수/매도 타이밍을 알려주는 지표가 아닙니다. 그래서 처음 접하면 "이걸 왜 써야 하지?" 싶을 수 있는데, 실전에서는 가장 중요한 지표 중 하나입니다. 아무리 좋은 진입 신호를 잡아도 손절 라인을 잘못 잡거나 포지션 크기를 잘못 설정하면 결국 돈을 잃습니다. ATR은 바로 그 부분 — 리스크 관리 — 의 핵심 도구입니다.지표 소개ATR은 J. Welles Wilder가 1978년에 개발한 지표로, 일정 기간 동안의 평균적인 가격 변동 폭을 나타냅니다. 방향(상승/하락)은 고려하지 않고, 순수하게 "얼마나 움직였는가"만 측정합..

HMA (Hull Moving Average, 헐 이동평균)

지금까지 SMA, EMA, DEMA, TEMA를 다뤘습니다. 모두 EMA 계열의 변형으로, 종가에 가중치를 다르게 주는 방식이었습니다. 이번에 다룰 HMA는 접근 방식 자체가 다릅니다. WMA(가중이동평균)를 기반으로, 후행성 보정과 평활화를 동시에 시도하는 구조입니다.지표 소개WMA (Weighted Moving Average)HMA를 이해하려면 먼저 WMA를 알아야 합니다. WMA는 최근 가격에 더 높은 가중치를 선형으로 부여하는 이동평균입니다.WMA = (C₁×1 + C₂×2 + ... + Cₙ×N) / (1 + 2 + ... + N) 예를 들어 5일 WMA라면, 5일 전 가격에는 1, 4일 전에는 2, ... 당일에는 5의 가중치를 줍니다. EMA가 지수적으로 감소하는 가중치를 쓰는 것과 달리, ..

DEMA & TEMA (이중/삼중 지수이동평균)

이전 글에서 EMA가 SMA보다 최근 가격에 빠르게 반응한다는 것을 확인했습니다. 그렇다면 이 가중치를 더 강하게 주면 어떻게 될까요? DEMA와 TEMA는 EMA의 후행성을 한 단계, 두 단계 더 보정한 이동평균입니다.지표 소개DEMA (Double Exponential Moving Average)DEMA는 Patrick Mulloy가 1994년에 제안한 지표로, EMA의 후행성을 줄이기 위해 EMA에 EMA를 한 번 더 적용한 뒤 보정하는 방식입니다.DEMA = 2 × EMA - EMA(EMA) 단순히 EMA를 두 번 거는 게 아니라, EMA와 EMA의 EMA 사이의 차이를 보정값으로 사용합니다. EMA가 가격보다 뒤처지는 만큼을 한 번 더 빼주는 셈이라, EMA보다 가격에 더 빠르게 따라갑니다. T..

EMA (Exponential Moving Average, 지수이동평균)

이전 글에서 SMA를 다뤘는데, 가장 큰 한계는 후행성이었습니다. 모든 가격을 동일하게 평균하다 보니 최근 변화에 느리게 반응하는 거죠. EMA는 이 문제를 개선하기 위해 최근 가격에 더 높은 가중치를 부여하는 이동평균입니다.지표 소개EMA는 최근 가격일수록 더 큰 비중을 두고, 과거 가격일수록 비중이 지수적으로 줄어드는 방식으로 계산됩니다.EMA = 전일 EMA + α × (당일 종가 - 전일 EMA)여기서 α(승수)는 다음과 같이 결정됩니다.α = 2 / (N + 1)N: 기간 (Period)α: 평활 계수 (Smoothing Factor)N이 20이면 α = 2/21 ≈ 0.095, 즉 당일 종가에 약 9.5%의 가중치를 주고 나머지는 이전 EMA 값을 이어받습니다. SMA가 N개의 가격을 동등하게..

SMA (Simple Moving Average, 단순이동평균)

Indicator Lab 첫 번째 지표는 가장 기본이 되는 SMA, 단순이동평균입니다.지표 소개SMA는 일정 기간 동안의 종가를 단순 평균한 값입니다. 예를 들어 20 SMA라면, 최근 20개 봉의 종가를 더해서 20으로 나눈 것입니다.SMA = (C₁ + C₂ + ... + Cₙ) / NC: 각 봉의 종가 (Close)N: 기간 (Period)가격의 단기적인 노이즈를 제거하고, 전반적인 방향(추세)을 시각적으로 보여주는 역할을 합니다. 기간이 짧으면 가격에 민감하게 반응하고, 길면 느리지만 안정적인 흐름을 보여줍니다.가설 설정SMA를 활용한 가장 대표적인 전략은 골든크로스 / 데드크로스입니다.골든크로스 (매수) — 단기 SMA가 장기 SMA를 위로 돌파데드크로스 (매도) — 단기 SMA가 장기 SMA를..

Binance에서 과거 가격 데이터 받기

Binance에서 과거 가격 데이터 받기이 시리즈에서는 지표를 하나씩 소개하고, 실제로 백테스트를 돌려볼 예정입니다. 그러려면 과거 가격 데이터가 필요한데, 여기서는 Binance의 공개 API를 사용합니다. 이번 글에서는 Python 스크립트를 이용해서 Binance 현물(Spot) 가격 데이터를 다운로드하는 방법을 정리합니다.왜 Binance인가과거 가격 데이터를 제공하는 곳은 여러 군데 있지만, Binance는 세계 최대 암호화폐 거래소로서 실제 거래가 이루어지는 현물 가격 데이터를 무료로 제공합니다. API 키 없이도 공개 엔드포인트를 통해 데이터를 받을 수 있고, 2017년부터의 데이터가 축적되어 있습니다. 이 시리즈에서는 비트코인(BTC/USDT) 데이터를 기준으로 진행하지만, Binance에..

Indicator Lab을 시작하며

# Indicator Lab을 시작하며 트레이딩을 해본 분이라면 한 번쯤 이런 경험이 있을 겁니다. 분명 이성적으로는 여기서 잘라야 하는 거 알면서, 손이 안 움직이는 거죠. "조금만 더 가면 돌아오겠지" 하다가 결국 스탑아웃. 반대로 수익 중일 때는 또 어떤가요. 아직 청산 신호가 안 나왔는데 괜히 불안해서 일찍 닫아버리고, 그 뒤로 쭉쭉 올라가는 차트를 멍하니 바라보게 됩니다. 그래서 추격매매를 하면 또 귀신같이 반대로 움직이구요. 저도 주식이랑 코인으로 손매매를 꽤 해봤는데, 결국 깨달은 건 하나였습니다. 나는 내 심리를 컨트롤할 수 없다. 뇌동매매라는 말이 괜히 있는 게 아니더라고요. 머리로는 알고 있어도 감정이 개입하는 순간, 매매 원칙 같은 건 무너집니다. 그래서 내린 결론이 자동매매였습니다...