[알고리즘 트레이딩] 주가의 무작위성, 그리고 z-score로 보는 ‘극단적인’ 가격
📊 주가의 무작위성, 그리고 z-score로 보는 ‘극단적인’ 가격
주식 시장에서의 가격 움직임은 겉보기엔 복잡하고 무질서하지만, 수학적 관점에서 보면 하나의 패턴을 가지고 있습니다. 바로 **랜덤 워크(Random Walk)**와 **브라운 운동(Brownian Motion)**입니다.
이 글에서는 이 무작위적인 움직임의 성질을 이해하고, 그 안에서 z-score를 이용해 ‘지금 가격이 얼마나 극단적인 상태인지’ 판단하는 방법을 정리합니다.
🌀 주가의 무작위적 움직임 – 랜덤 워크와 브라운 운동
주가의 등락은 단순히 기업 실적만으로 결정되지 않습니다.
-
글로벌 경제 뉴스
-
금리 변동, 환율 변화
-
경쟁사 이슈, 갑작스러운 수급
-
투자자들의 기대와 공포
이처럼 수많은 요인들이 시장에 동시에 작용하면서, 주가는 **단기적으로 예측이 불가능한 무작위적 움직임(randomness)**을 보입니다.
이런 움직임은 다음과 같은 수학 모델로 설명됩니다:
✅ 랜덤 워크(Random Walk)
-
매 시점마다 오를 확률과 내릴 확률이 같다고 가정
-
한 걸음 한 걸음이 무작위이기 때문에, 시간이 지남에 따라 평균은 0으로 수렴
-
그러나 움직이는 거리의 제곱 평균은 누적되기 때문에, 점점 더 평균에서 멀어진 위치에 있을 확률도 증가
✅ 브라운 운동(Brownian Motion)
-
랜덤 워크의 한계를 보완한 연속적 시간 모델
-
미분방정식을 통해 분석할 수 있음
-
지수적 증가/감소를 반영할 수 있도록 확장하면 기하 브라운 운동(Geometric Brownian Motion) → 주가 모델링에 자주 사용됨
🎯 평균은 0인데, 왜 멀어질까?
랜덤 워크에서의 핵심은 다음과 같습니다:
-
한 걸음의 기대값(average)은 0이지만
-
여러 걸음이 누적되면 평균으로부터 멀어진 위치에 있을 확률도 커진다
-
이를 설명하기 위해 **제곱의 평균 (expected value of squared distance)**를 사용함
수학적으로는 다음과 같이 표현됩니다:
이 말은, 평균적으로는 ‘그 자리에 머물지만’, 실제로는 떨어져 있을 확률이 점점 증가한다는 의미입니다. 이때 루트를 씌워 거리로 환산하면:
즉, 시장 참가자들은 평균으로 돌아가는 듯하지만, 실제 위치는 점점 더 평균에서 멀어질 수 있습니다.
💡 z-score란 무엇인가?
이런 무작위적 움직임 속에서 현재 가격이 평균에서 얼마나 벗어나 있는지 측정하는 도구가 바로 z-score입니다.
-
: 현재 주가
-
: 기준 기간의 평균 주가
-
: 기준 기간의 표준편차
해석 예시:
-
z = 0 → 평균과 동일
-
z = +2 → 평균보다 2표준편차 위
-
z = –2 → 평균보다 2표준편차 아래
-
|z| > 2 → 비정상적이거나 극단적인 상태
🧭 z-score는 어디에 쓰이나?
z-score는 단순히 "극단적인가?"를 넘어서 다양한 실전 트레이딩 전략에 활용됩니다.
1. 평균 회귀 전략 (Mean Reversion)
-
가격은 일시적으로 평균에서 벗어나지만 다시 돌아온다고 가정
-
z-score가 ±2를 넘으면 평균으로 회귀할 가능성 ↑
-
예:
-
z < –2 → 너무 과매도 → 매수
-
z > +2 → 너무 과매수 → 매도
-
2. 볼린저 밴드 (Bollinger Bands)
-
중심선: 이동 평균
-
상단/하단 밴드: 평균 ± 2 × 표준편차
-
밴드를 돌파한 시점은 z-score가 ±2를 넘는 순간
3. 쌍둥이 트레이딩 (Pairs Trading)
-
상관관계가 높은 두 종목의 가격 차이를 추적
-
이 차이의 z-score를 기준으로 거래 진입/청산
4. 기타 활용
-
거래량의 z-score → 폭발적인 거래량 판단
-
기술적 지표(RSI, MACD 등)의 z-score → 기준선에서의 편차 분석
-
VWAP 대비 z-score → 시장의 공정 가치 대비 현재 위치 판단
🔍 왜 ‘극단성’ 판단에 유용한가?
주가는 무작위적이지만, 시장은 항상 어느 정도의 평균 회귀 특성을 갖습니다.
즉, 완전한 무작위는 아니며, 비정상적인 상태는 시간이 지나며 다시 평균으로 돌아가려는 경향이 있습니다.
이런 점에서 z-score는 다음과 같은 판단을 가능하게 합니다:
-
현재가가 평소 움직임의 ‘정상 범위’ 안에 있는가?
-
극단적인 움직임이라면, 반전 가능성은 있는가?
-
포지션 진입이나 청산의 타이밍은 적절한가?
✅ 결론: 무작위 속의 통계적 판단 도구
“예측은 어렵다. 특히 미래에 대해서는.”
— Niels Bohr
하지만 우리는 무작위 속에서도 통계적 힌트를 얻을 수 있습니다.
**z-score는 주가의 무작위성 위에 얹을 수 있는 ‘질서의 잣대’**입니다.
-
평균에서 얼마나 멀어졌는가?
-
이건 평소보다 이상한가?
-
평균으로 다시 돌아올 확률은 얼마나 될까?
이러한 질문에 z-score는 간결하고 강력한 답을 제공합니다.
📎 보너스: Python에서 z-score 계산 예시
위 함수를 사용하면 가격 시계열의 z-score를 계산해, 평균 대비 현재 위치의 비정상성을 정량적으로 분석할 수 있습니다.
댓글
댓글 쓰기