볼린저 밴드는 이동평균 주위에 상단과 하단의 변동성 밴드를 배치합니다. 이는 최근 윈도(관측 구간) 대비 가격의 상대적 위치를 설명할 뿐이며, 밴드에 닿았다고 해서 가격이 다음에 어떻게 움직일지 알려주지는 않습니다. 같은 밴드가 추세 지속 가설을 세울 수도, 중간값 회귀 가설을 세울 수도 있으므로, 어느 쪽이든 테스트하기 전에 규칙을 먼저 작성해야 합니다.
사용할 밴드를 계산하세요
단순 이동평균 방식이라면, 기준선을 고정된 길이에 걸친 선택한 가격 계열의 평균으로 작성하세요. 상단 밴드는 기준선에 선택한 표준편차 배수를 더한 값이고, 하단 밴드는 같은 거리를 뺀 값입니다. 가격 입력, 평균 유형, 룩백(lookback), 편차 산출 방식(표준편차 기준), 배수, 그리고 현재 진행 중인 봉을 포함하는지 여부를 명시하세요. “20과 2”는 관습적인 기본값일 뿐, 보편적인 최적값이 아닙니다.
다음은 종가 98, 99, 100, 101, 102를 사용하고 이 예시에서 모표준편차를 적용한 가상의 5종가 계산입니다. 단순 평균은 100입니다. 평균으로부터의 편차는 −2, −1, 0, 1, 그리고 2이므로, 편차 제곱의 평균은 (4 + 1 + 0 + 1 + 4) ÷ 5 = 2입니다. 표준편차는 √2이며 약 1.414입니다. 배수를 2로 하면 예시 밴드는 100 ± 2.828, 즉 하단 97.17, 상단 102.83입니다. 가장 최근 종가 102는 상단 밴드에 가깝지만 여전히 밴드 안쪽에 있습니다. 이 관찰만으로는 어떤 주문도 정의되지 않습니다.
플랫폼마다 기준선 유형, 소스, 오프셋, 워밍업 동작이 다를 수 있습니다. TradingView는 조정 가능한 볼린저 입력값과 흔히 쓰이는 SMA ± 2표준편차 설정을 문서로 설명하고 있습니다. 별도의 구현이 일치한다고 가정하기 전에 몇 개 행을 직접 계산해 값과 비교하세요. 구간이 완전하지 않으면 0으로 채우지 말고 결측값으로 남겨두세요.
밴드 위치와 폭을 측정값으로 읽으세요
흔히 쓰이는 두 가지 파생값은 서로 다른 서술적 질문에 답합니다. %B = (종가 − 하단 밴드) ÷ (상단 밴드 − 하단 밴드)는 현재 밴드 대비 종가의 상대적 위치를 나타내며, 가격이 밴드 밖에 있으면 0보다 작거나 1보다 클 수 있습니다. BandWidth는 (상단 − 하단) ÷ 기준선 × 100%로, 현재 밴드 폭을 정규화한 측정값입니다. 가상 예시에서 종가 102일 때 %B는 ≈ 0.854, BandWidth는 ≈ 5.66%입니다. 어느 숫자도 그 자체로 확률도, 예측도, 방향도 아닙니다. 이 지표의 창시자는 %B를 상대적 위치, BandWidth를 정규화된 폭으로 설명하며, 흔히 쓰이는 2표준편차 설정이 가격을 정규분포의 95% 사건으로 만들어 주지는 않습니다.
아주 작은 예시에서도 계산 방식이 중요합니다. 다섯 종가의 편차 제곱 합은 10입니다. 5로 나누면 모분산 2가 되어 위에 제시된 밴드가 나옵니다. 4로 나누면 표본분산 2.5, 표준편차 약 1.581이 되고, 밴드는 약 96.84와 103.16이 됩니다. 그러면 같은 종가의 %B는 약 0.816, BandWidth는 약 6.32%가 됩니다. 플랫폼의 실제 표준편차 산출 방식을 문서화하고, 구현이 일치한다고 가정하지 말고 실제 출력값을 확인하세요. TradingView는 소스와 기준선 유형 같은 밴드 입력값을 제공하며, Pine의 레퍼런스는 표준편차 함수와 그 추정 옵션을 문서화하고 있습니다.
스퀴즈 가설을 세우려면 과거 기준 구간(historical training window)을 기준으로 “좁음”을 정의하세요. 예를 들어 선택한 BandWidth 백분위수 미만으로 정하고, 이후 데이터를 평가하기 전에 그 임계값을 고정하세요. 좁은 밴드는 선택한 규칙 아래에서의 압축을 설명할 뿐, 돌파 방향을 알려주지는 않습니다. 압축 이후 지속 규칙은 되돌림 규칙과 별도로 테스트하고, 조용한 확장과 실패한 확장도 포함하며, 많은 길이나 백분위수를 시도했다면 선택 편향도 고려하세요.
신호 봉과 모델링된 체결을 분리하세요
종가 기반 규칙에서 봉의 최종 값은 그 봉이 아직 형성 중일 때는 알 수 없습니다. 재현 가능한 테스트라면 밴드가 이전 종가만 사용하는지, 아니면 방금 완성된 종가를 포함하는지 명시하고, 모든 입력값을 알 수 있게 된 첫 시점에 신호를 기록합니다. 이 선택은 임계값과 결정 시점 모두를 바꿀 수 있습니다.
TradingView의 Pine Script 전략 문서는 플랫폼 특유의 기본 동작을 설명합니다. 과거 봉이 마감된 후 계산하고 그때 시장가 주문을 생성하는 전략은 일반적으로 다음 사용 가능한 틱, 보통 다음 봉의 시가에서 가장 이른 체결을 모델링합니다. 설정으로 이 동작을 바꿀 수 있습니다. 이는 시뮬레이터의 관습이며, 모든 백테스트 엔진이나 거래소의 실제 체결에 대한 진술은 아닙니다. 실시간 지정가 주문은 체결되지 않고 지나갈 수 있고, 시장가 주문은 호가창 깊이를 훑을 수 있으며, 수수료와 슬리피지는 지표 값과 별개입니다.
예를 들어 규칙을 이렇게 작성하세요. “확정된 봉 t의 종가에서, 그 종가를 이전 20개의 완료된 종가로 계산한 상단 밴드와 비교한다. 종가가 위에 있으면 돌파 관찰을 기록하고, 다음 사용 가능한 이벤트보다 빠르지 않은 시점에 시장가 진입을 모델링한다.” 다른 규칙은 봉 t를 밴드 계산에 포함하거나 재진입 조건을 사용할 수 있습니다. 둘 다 테스트할 수 있지만, 결과를 본 뒤 가장 좋아 보이는 버전을 고르는 것은 또 다른 전략 탐색입니다. 한 버전을 고정하고, 체결 가정을 명시한 뒤, 결과를 비교하기 전에 산술을 다시 실행하세요.
두 해석을 별개의 규칙으로 테스트하세요
되돌림 테스트는 하단 밴드 아래에서 완료된 종가를 요구하고, 그다음 별도로 정의된 재진입 조건을 기다린 뒤 가정상의 롱 포지션을 기록할 수 있습니다. 종료 조건, 무효화 조건, 최대 보유 기간, 그리고 전략이 포지션을 추가할 수 있는지 여부를 명시하세요. 실패 사례로는 밴드 아래로 더 멀리 지속적으로 움직이는 경우나, 모델링된 비용이 결과를 압도한 뒤에야 되돌림이 오는 경우가 있습니다.
지속 테스트는 상단 밴드 위에서 완료된 종가를 초기 돌파 관찰로 보고, 선언된 리스크 한도 아래에서 이후 진입을 평가할 수 있습니다. 이후 종가가 다시 밴드 안으로 들어오는 것 같은 실패 조건을 정의하세요. 이 테스트는 되돌림 테스트와 분리해 두세요. 가설, 진입 시점, 실패 사례가 다릅니다. 여러 설정이나 해석을 시도한다면, 최고의 조합만 발표하지 말고 탐색 전체를 보존하세요.
이 지표의 창시자는 밴드 접촉 자체가 신호가 아니며, 추세 중에는 가격이 밴드를 따라 걸어갈 수 있고, 밴드 밖 종가는 처음에는 지속 해석에 속한다고 경고합니다. 같은 지침은 2표준편차를 정규분포의 95% 경계로 취급하지 말라고 경고하며, 흔한 설정에서 관찰되는 전형적인 포함 비율은 90%에 더 가까울 수 있다고 말합니다. 이는 방법론적 경고이며, 두 암호화폐 규칙 중 어느 하나가 수익성이 있다는 증거가 아닙니다.
공정하게 비교하세요
시간 순서에 따른 구간과 하나의 선언된 가격 소스를 사용하세요. 밴드 파라미터, 완료 봉 시점, 거래 횟수, 보유 시간, 낙폭, 비용을 기록하세요. 모델링된 상품이 무기한 선물이라면 스프레드, 수수료, 슬리피지, 펀딩비를 포함하세요. 각 규칙을 같은 시장의 단순 기준선과 비교하고, 손실 구간과 인접 파라미터 결과도 보고하세요. 여러 대안을 훑어본 뒤에 구간을 선택하고 그것을 손대지 않은 평가인 것처럼 제시하지 마세요.
SuperQuant의 공개 전략 예시에는 임의의 볼린저 규칙 빌더가 없습니다. 이 글은 앱이 두 맞춤형 설정 중 어느 하나를 실행할 수 있다고 약속하지 않으며, 앱에 포함된 시간별 히스토리는 합성입니다. 평균 회귀, 돌파 리서치, 백테스트 과최적화를 읽어보세요. 이는 리서치 교육이며, 신호나 투자 조언이 아닙니다.