Mitigating Distribution Shift in Stock Price Data via Return-Volatility Normalization for Accurate Prediction
본 문서에서는 CIKM 2025 학회에서 발표된 "Mitigating Distribution Shift in Stock Price Data via Return-Volatility Normalization for Accurate Prediction" 논문을 소개합니다. 논문에 대한 상세한 정보는 다음과 같습니다.
- Title: Mitigating Distribution Shift in Stock Price Data via Return-Volatility Normalization for Accurate Prediction
- Authors: Hyunwoo Lee, Jihyeong Jeon, Jaemin Hong, and U Kang
- Conference: The 34th ACM International Conference on Information and Knowledge Management
Stock Price Prediction (주가 예측)
Distribution Shifts in Stock Price Data (주가 데이터의 분포 변화)
예시로 그림 1을 살펴보겠습니다. 여기서 (a)는 코카콜라의 주가 차트이고 학습할 데이터와 테스트할 데이터를 나타냅니다. (b)는 코카콜라 주가에서 학습 데이터셋과 테스트 데이터셋의 분포 차이를 시각적으로 나타냅니다. 두 분포가 모양과 위치가 각각 크게 다르다는 것을 볼 수 있고, 이를 무시하고 과거 데이터에 맞춰진 모델을 그대로 미래 데이터에 사용하면 미래 분포에 제대로 대응하지 못하고 엉뚱한 예측을 내놓게 됩니다.
Proposed Method
본 연구의 핵심 과제와 아이디어는 다음의 세 가지 측면으로 요약됩니다.
- 주가 데이터의 분포 불일치: 종목과 시점에 따라 제각각인 주가 데이터 분포는 단순히 평균과 분산만 맞추는 기존 방식으로는 충분히 보정되지 않으며, 이로 인해 모델 학습이 방해됩니다. 기하학적 브라운 운동(GBM) 이론에 착안하여, 입력 데이터에서 수익률, 변동성, 가격 규모를 분리해 제거하는 정규화를 수행합니다. 이를 통해 데이터 간의 분포 차이를 획기적으로 줄이고, 모델이 학습하기 좋은 형태인 '오차형(Error terms)'만을 추출해 냅니다.
- 이상치에 흔들리지 않는 강건한 특성 추정: 시장의 일시적인 충격이나 이상치가 섞여 있을 때, 단순 평균을 사용하면 해당 주식의 진짜 추세와 변동성을 잘못 계산하게 됩니다. 해결책으로 어텐션 메커니즘을 활용한 가중 평균 방식을 도입했습니다. 정상적인 데이터에는 높은 가중치를, 이상치에는 낮은 가중치를 부여함으로써 노이즈의 영향을 최소화하고 개별 주식의 고유한 특성을 정밀하게 추정합니다.
- 예측 결과의 정보 복원 및 재통합: 정규화 과정에서 제거된 정보(추세, 변동성, 가격 규모)를 예측 단계에서 다시 합치지 않으면, 실제 우리가 알고 싶은 미래 주가 수준을 도출할 수 없습니다. 해결책으로 기존의 주가 예측을 하는 딥러닝 모델(Backbone)로 정규화된 데이터의 미래 패턴을 예측하고, 이 결과값에 앞서 추정해 둔 수익률과 변동성 정보, 그리고 가격 규모를 다시 결합(역정규화)합니다. 이 과정을 통해 정규화로 인해 잠시 제외되었던 정보를 손실 없이 복원하여 최종 예측값을 완성합니다.
수익률-변동성 정규화 (Return-Volatility Normalization)
ReVol은 기하학적 브라운 운동(GBM)이라는 금융 수학 모델에서 영감을 받아, 입력 데이터에서 다음 세 가지를 제거합니다:
- 가격 규모: 주가가 7만 원인지 1억 원인지에 대한 절대적 크기
- 수익률: 주가가 오르는 추세인지 내리는 추세인지 (평균적 흐름)
- 변동성: 주가가 얼마나 심하게 위아래로 흔들리는지
이 3가지를 제거하고 나면, 주식의 고유한 성격은 사라지고 순수한 가격 변동 패턴만 남게 됩니다. 이렇게 모든 주식 데이터를 '동일한 기준'으로 맞춰주는 정규화 과정을 거치면, AI 모델은 특정 종목이나 시점에 구애받지 않고 데이터의 본질적인 움직임을 훨씬 더 잘 학습할 수 있습니다.
수익률-변동성 예측 (Return-Volatility Estimator)
단순히 산술 평균을 내면 이런 일시적인 이상치 때문에 전체 통계가 왜곡됩니다. ReVol은 이를 해결하기 위해 어텐션 메커니즘을 도입합니다.
- 가중치 계산: 모델이 데이터를 살펴볼 때, 정상적인 흐름에는 높은 점수(가중치)를 주고, 일시적인 폭등/폭락 같은 이상치에는 낮은 점수를 줍니다.
- 정교한 추정: 이렇게 계산된 가중 평균을 사용하면 노이즈에 휘둘리지 않고 현재 해당 주식이 가진 진짜 추세와 변동성을 정확하게 추정할 수 있습니다.
수익률-변동성 역정규화 및 주가 예측 (Backbone and Return-Volatility Denormalization)
- 예측: 딥러닝 모델은 정규화된 데이터의 미래 패턴을 예측합니다. 하지만 이 값은 실제 주가가 아니라, 정규화된 상태의 수치입니다.
- 역정규화: 우리가 진짜 알고 싶은 것은 "내일 삼성전자가 얼마냐"입니다. 그래서 모델이 예측한 값에, 1단계에서 잠시 떼어두었던 가격 규모, 수익률, 변동성 정보를 다시 결합합니다.
이 과정을 통해 ReVol은 딥러닝이 잘하는 '단기 패턴 인식' 능력과, 금융 수학이 잘하는 '장기 추세 반영' 능력을 하나로 합쳐, 잃어버린 정보 없이 정확한 미래 주가를 도출합니다.
Experiments
- 분포의 모양까지 일치: 그림 3에서 볼 수 있듯 단순히 평균이나 분산 같은 수치만 맞추는 기존 기법들과 달리, ReVol은 학습 데이터와 테스트 데이터의 실제 분포 형태를 정교하게 일치시켜 예측 오차를 최소화합니다.
- 상관관계 보존: 변수들을 따로따로 정규화하여 정보가 끊어지는 타 방법과 달리, ReVol은 시가, 종가, 고가 등 변수들 사이의 상관관계를 유지한 채 정규화를 수행합니다. 덕분에 모델은 데이터의 유기적인 흐름을 놓치지 않고 더 정확하게 학습할 수 있습니다.
- 기존 모델 (DTML): 윈도우 크기나 가중치 감쇠 등 설정값을 조금만 바꿔도 성능이 급격히 떨어지거나 요동치는 불안정한 모습을 보였습니다. 이는 최적의 성능을 내기 위해 까다로운 튜닝 과정이 필요함을 의미합니다.
- ReVol 적용 시: 설정값이 어떻게 변하든 상관없이 일관되게 높은 성능을 유지했습니다.
이는 ReVol이 데이터의 분포 변화를 효과적으로 억제하여 모델이 특정 조건에 과적합 되는 것을 막아주기 때문입니다. 즉 ReVol을 사용하면 복잡하고 예민한 하이퍼파라미터 튜닝에 덜 의존하고도 안정적이고 강력한 예측 성능을 얻을 수 있음을 증명합니다.
