Kalman Filter
칼만 필터
잡음 속에서 진짜 신호를 찾아내는 추정 알고리즘
칼만 필터는 잡음이 섞인 관측 데이터에서 숨겨진 진짜 상태를 실시간으로 추정해 내는 재귀적 알고리즘이에요. 1960년 루돌프 칼만이 발표한 이 방법은 원래 항공우주 항법을 위해 설계됐지만, 지금은 퀀트 금융에서 추세 추출, 페어 트레이딩, 변동성 추정 등 다양한 영역에 쓰이고 있습니다.
작동 원리를 직관적으로 설명하면 이래요. 매 시점마다 두 가지 정보가 있습니다. 하나는 직전 시점까지의 데이터를 바탕으로 한 예측값이고, 다른 하나는 방금 들어온 새로운 관측값이에요. 칼만 필터는 이 둘을 각각의 불확실성(공분산)에 반비례하는 가중치로 결합해서 가장 그럴듯한 현재 상태를 추정합니다. 예측이 부정확했다면 새 관측에 더 큰 비중을 주고, 관측에 노이즈가 많다면 기존 예측을 더 신뢰하는 식이죠.
금융에서 가장 많이 쓰이는 사례는 페어 트레이딩의 동적 헤지 비율 추정이에요. 두 종목 사이의 베타 계수가 시간에 따라 변한다고 가정하면, 단순 회귀로는 잡아내기 어려운 구조적 변화를 칼만 필터가 매 거래일 업데이트해 줍니다. 이렇게 추정된 동적 베타로 스프레드를 구성하면 정적 베타 대비 평균회귀 성질이 더 뚜렷해져서 전략의 샤프 비율이 개선되는 경우가 많아요.
변동성 추정에서도 유용해요. GARCH 모델처럼 과거 수익률 제곱의 가중합으로 변동성을 구하는 대신, 칼만 필터는 상태공간 모델 안에서 관측 불가능한 잠재 변동성을 직접 추적합니다. 이렇게 하면 이상치에 덜 흔들리는 부드러운 변동성 경로를 얻게 되고, 옵션 가격 결정이나 리스크 관리에 더 안정적인 입력값을 줄 수 있어요.
다만 기본 칼만 필터는 시스템이 선형이고 잡음이 정규분포를 따른다고 가정해요. 주가 수익률처럼 팻테일이나 점프가 있는 데이터에는 이 가정이 깨지기 쉽습니다. 그래서 실전에서는 Extended Kalman Filter(EKF)나 Unscented Kalman Filter(UKF) 같은 비선형 확장판을 쓰거나, 파티클 필터로 대체하는 경우도 있어요. 모델 가정이 현실과 얼마나 맞는지를 먼저 점검하는 과정이 결과의 신뢰도를 결정짓는 셈이에요.