입문약 11분·2026년 9월 22일

볼린저 밴드, 그림으로 이해하기

차트에 볼린저 밴드를 올려 본 적은 있어도, 그 세 줄이 정확히 무엇을 재고 있는지까지 설명할 수 있는 경우는 많지 않습니다. 이 글은 공식을 외우게 하려는 글이 아니라, 밴드가 한 칸씩 어떻게 만들어지는지를 눈으로 따라가게 하려는 글입니다.

아래 모든 차트는 실제 시세 데이터 위에 그려져 있습니다 — Binance의 BTC/USDT 4시간봉 200개, 2026년 8월 3일부터 9월 5일까지. 보기 좋게 만든 가상의 그림이 아니라 실제로 일어난 움직임이고, 계산에 쓰인 수식은 5PM Worker 시뮬레이터가 백테스트에서 실행하는 것과 동일합니다.

1. 평균, 그런데 어떤 평균인가

볼린저 밴드의 한가운데 있는 선을 '기준선(basis)'이라고 부릅니다. 이것은 그냥 단순이동평균(SMA)입니다. 최근 20개 종가를 더해서 20으로 나눈 값, 그게 전부입니다.

이동평균이 하는 일은 예측이 아니라 요약입니다. 봉마다 위아래로 튀는 움직임에서 한 걸음 물러나 '최근 스무 봉 동안 대체로 어디쯤이었나'를 숫자 하나로 답해 줄 뿐입니다. 그래서 이동평균 자체는 미래에 대해 아무 말도 하지 않습니다 — 과거를 압축할 뿐입니다.

2. 창이 한 칸씩 움직인다

이동평균이 '이동'하는 이유는 평균을 내는 구간이 봉마다 한 칸씩 밀리기 때문입니다. 새 봉이 하나 생기면 가장 오래된 봉 하나가 빠집니다. 아래 차트에서 음영으로 표시된 구간이 지금 평균을 내고 있는 20개 봉이고, 보라색 점이 그 구간의 평균값입니다.

평균이 만들어지는 과정

음영 구간이 지금 평균을 내고 있는 20개 봉이고, 보라색 점이 그 평균값입니다.

  • 가격(종가)
  • 기준선 — SMA 20
$79,22408/0309/05

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

재생을 누르면 20봉짜리 창이 오른쪽으로 밀려가고, 그때마다 계산된 평균이 기준선으로 이어집니다. 슬라이더로 원하는 시점에 직접 멈춰 볼 수도 있습니다.

차트 왼쪽 끝에서 기준선이 바로 시작되지 않는 것을 눈여겨보세요. 20봉을 평균 내려면 봉이 20개는 있어야 하므로, 처음 19개 구간에는 기준선이 존재하지 않습니다. 이 '워밍업' 구간은 모든 지표에 있고, 백테스트 결과를 볼 때도 초반 구간이 비어 있는 이유가 바로 이것입니다.

3. 밴드는 어디서 나오는가

기준선이 '대체로 어디였나'를 말해 준다면, 밴드는 '얼마나 흩어져 있었나'를 말해 줍니다. 같은 20개 종가를 가지고 표준편차를 구한 뒤, 기준선에서 그 표준편차의 2배만큼 위아래로 떨어뜨린 선이 상단 밴드와 하단 밴드입니다.

표준편차는 '평균에서 평균적으로 얼마나 떨어져 있었는가'를 재는 값입니다. 최근 20봉이 좁은 범위에서만 움직였다면 표준편차가 작아지고 밴드는 기준선에 달라붙습니다. 크게 출렁였다면 표준편차가 커지고 밴드는 벌어집니다.

평균 하나에서 밴드로

오른쪽 끝 눈금이 현재 구간 기준선의 ±1σ, ±2σ 위치입니다.

  • 가격(종가)
  • 기준선 — SMA 20
  • 밴드 — ±2σ
  • 밴드 내부
+2σ+1σ기준선−1σ−2σ08/0309/05

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

오른쪽 끝의 눈금이 현재 구간의 ±1σ, ±2σ 위치입니다. 가격이 요동치는 구간에서 이 눈금 간격이 어떻게 벌어지는지 보세요.

표준편차는 모집단 기준(분산을 표본 수 −1이 아니라 표본 수로 나눔)으로 계산합니다. TradingView의 Pine Script가 쓰는 기본값과 같고, 5PM Worker 시뮬레이터가 실제 백테스트에서 쓰는 값과도 같습니다.

4. 직접 만져 보기

볼린저 밴드에는 조절할 수 있는 값이 딱 두 개 있습니다. 기간(몇 개의 봉을 평균 낼 것인가)과 배수(표준편차의 몇 배만큼 떨어뜨릴 것인가)입니다. 설명을 읽는 것보다 직접 움직여 보는 쪽이 훨씬 빠릅니다.

두 개의 값을 직접 조절해 보기

기간과 배수를 바꾸면 같은 실제 데이터 위에 밴드가 다시 그려집니다.

  • 가격(종가)
  • 기준선 — SMA 20
  • 밴드 — ±2σ
08/0309/05
마지막 봉 기준 밴드 폭: 8.05%

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

기간을 줄이면 밴드가 가격에 민감하게 붙고, 늘리면 둔해집니다. 배수를 키우면 밴드가 넓어져 가격이 밖으로 나가는 일이 드물어집니다. 차트 위에 마우스를 올리면 그 시점의 값을 볼 수 있습니다.

여기서 중요한 감각 하나. 배수를 3.0으로 올리면 가격이 밴드 밖으로 거의 나가지 않게 됩니다. 이것은 '신호가 정확해진' 것이 아니라 그냥 '기준을 느슨하게 잡은' 것입니다. 파라미터를 바꾸는 일은 시장을 바꾸는 일이 아니라, 무엇을 특별하다고 부를지에 대한 정의를 바꾸는 일입니다.

5. 스퀴즈: 밴드가 좁아질 때

밴드 폭 자체를 하나의 숫자로 볼 수도 있습니다. 상단과 하단의 간격을 기준선으로 나눈 값(%)인데, 이렇게 하면 가격대가 달라도 비교할 수 있습니다. 이 값이 유난히 낮아진 구간을 흔히 '스퀴즈'라고 부릅니다.

아래 차트의 이 구간에서 밴드 폭은 2026년 8월 16일에 0.97%까지 좁아졌습니다. 최근 20봉이 거의 움직이지 않았다는 뜻입니다. 그 뒤 30봉 만에 밴드 폭은 26.56%까지, 약 27배로 벌어졌습니다.

스퀴즈, 그리고 그 뒤에 일어난 일

위는 가격과 밴드, 아래는 밴드 폭 — 시간축은 같습니다.

  • 가격(종가)
  • 밴드 — ±2σ
  • 밴드 폭(기준선 대비 %)
스퀴즈 — 폭 0.97%30%0%밴드 폭(기준선 대비 %)26.6%까지 확대08/0309/05

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

위는 가격과 밴드, 아래는 밴드 폭(%)입니다. 두 패널은 같은 시간축을 공유합니다. 아래 곡선이 바닥을 친 지점이 위 차트에서 밴드가 가장 달라붙은 지점과 같은 시점입니다.

이 구간에서 가격은 스퀴즈 이후 62,900달러에서 81,755달러까지 올랐습니다. 하지만 스퀴즈가 이 상승을 예고한 것은 아닙니다.

밴드 폭이 좁다는 것은 '최근 변동성이 눌려 있었다'는 과거에 대한 서술이지, 앞으로 큰 움직임이 온다거나 그 방향이 위라는 예고가 아닙니다. 같은 모양의 스퀴즈가 아래로 풀리기도 하고, 한동안 아무 일 없이 계속 눌려 있기도 합니다. 이 차트는 한 번의 사례이지 규칙의 증거가 아닙니다.

6. %B: 지금 가격은 밴드의 어디쯤인가

%B는 가격이 밴드 안 어디에 있는지를 0과 1 사이 숫자로 바꾼 값입니다. 0이면 하단 밴드에 정확히 닿아 있고, 1이면 상단 밴드에 닿아 있으며, 0.5면 기준선입니다. 1보다 크면 상단 밖으로, 0보다 작으면 하단 밖으로 나갔다는 뜻입니다.

이 값이 유용한 이유는 '밴드에 닿았다'를 눈대중이 아니라 숫자로 다룰 수 있게 해 주기 때문입니다.

%B와 밴드 워킹

%B는 가격이 밴드 안 어디에 있는지를 나타냅니다. 0은 하단, 1은 상단입니다.

  • 가격(종가)
  • 밴드 — ±2σ
  • %B
8봉 연속 상단 밴드 워킹1 · 상단0.5 · 기준선0 · 하단0.5608/0309/05

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

강조된 구간은 2026년 8월 19일부터 8봉 연속으로 %B가 0.95를 넘은 구간 — 가격이 상단 밴드를 타고 계속 올라간 이른바 '밴드 워킹'입니다.

이 8봉 구간이 중요한 이유가 있습니다. '상단 밴드에 닿으면 과열이니 되돌림이 온다'는 식으로 읽었다면, 이 구간에서는 그 판단이 여덟 번 연속으로 빗나갔을 것입니다. 강한 추세에서는 가격이 상단 밴드를 따라 계속 올라가는 일이 드물지 않습니다.

7. 같은 그림, 정반대의 두 해석

볼린저 밴드에 대해 알아야 할 가장 중요한 사실은 아마 이것입니다. 똑같은 상단 밴드 돌파가, 어떤 전략에서는 진입 신호이고 다른 전략에서는 청산 신호입니다.

돌파(breakout)로 읽으면 상단을 뚫는 것은 추세가 시작됐다는 뜻이고, 되돌림(mean-reversion)으로 읽으면 같은 사건이 너무 멀리 갔다는 뜻입니다. 아래에서 같은 데이터에 두 해석을 번갈아 적용해 보세요.

같은 돌파, 두 가지 해석

상단 밴드 돌파를 추세의 시작으로 봅니다.

  • 가격(종가)
  • 밴드 — ±2σ
  • 이 해석에서의 진입
  • 이 해석에서의 청산
08/0309/05

진입 표시는 종가가 상단 밴드를 넘어선 지점, 청산 표시는 기준선 아래로 되돌아온 지점입니다.

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

표시된 지점은 실제 %B 교차점에서 계산된 것이지 임의로 찍은 것이 아닙니다. 데이터는 완전히 동일하고, 달라지는 것은 해석뿐입니다.

어느 쪽이 '맞는' 해석인지는 지표가 정해 주지 않습니다. 추세가 이어지는 구간에서는 돌파 해석이 잘 맞고, 가격이 일정 범위를 오가는 구간에서는 되돌림 해석이 잘 맞습니다. 그리고 지금이 어느 국면인지는 사후에야 확실해집니다.

그래서 이 두 가지가 5PM Worker 시뮬레이터에 별개의 템플릿으로 각각 들어 있습니다 — 어느 쪽이 우월해서가 아니라, 어느 쪽이 내 자산과 내 타임프레임의 데이터에 맞는지는 실제로 백테스트해 봐야 알 수 있기 때문입니다.

8. 흔한 오해들

  • 밴드는 지지선이나 저항선이 아닙니다. 밴드는 최근 가격에서 계산되어 따라 그려지는 선이지, 가격을 밀어내는 벽이 아닙니다. 인과가 반대입니다.
  • 밴드에 닿는 것 자체는 신호가 아닙니다. 위에서 본 것처럼 강한 추세에서는 여덟 봉 연속으로 상단에 붙어 있을 수 있습니다.
  • 2σ는 95%를 뜻하지 않습니다. 정규분포라면 2 표준편차 밖에 약 5%가 떨어지지만, 이 차트가 쓰는 구간에서는 종가의 17.1%가 밴드 밖에서 마감했습니다 — 3배가 넘습니다. 수익률 분포는 정규분포보다 꼬리가 두껍고, 게다가 σ 자체가 20봉마다 다시 계산되는 값입니다.
  • 스퀴즈는 방향을 알려주지 않습니다. 변동성이 눌려 있었다는 서술일 뿐, 다음에 어디로 갈지에 대한 정보는 들어 있지 않습니다.
  • 기간과 배수를 바꾸는 것은 시장이 아니라 정의를 바꾸는 것입니다. 배수를 키우면 '밴드 밖'이라는 사건이 저절로 드물어집니다.

9. 시뮬레이터에서 직접 확인하기

여기까지 읽은 내용은 시뮬레이터의 기본 템플릿 두 개에 그대로 들어 있습니다. 둘 다 위에서 본 것과 동일한 수식을 사용하며, 원하는 거래소·종목·타임프레임의 실제 캔들 데이터로 백테스트할 수 있습니다.

기간과 배수를 직접 바꿔 가며 결과를 비교하고 싶다면 Sweep 기능이 지정한 범위의 모든 조합을 실제로 백테스트해 순위로 보여줍니다. API 키나 자금 없이 공개 시세 데이터만으로 여기까지 해 볼 수 있습니다.

시뮬레이터에서는
  • Bollinger Band Breakout — 종가가 상단 밴드를 넘으면 진입하고, 기준선 아래로 돌아오면 청산하는 돌파 해석 템플릿입니다.
  • Bollinger %B Mean-Reversion — 가격이 하단 밴드를 되찾을 때 진입하고 상단에서 물러날 때 청산하는, 정확히 반대 해석의 템플릿입니다.