CHAPTER 07 / SECTION 02
7.2 추세·주기·시간 규모·경로 읽기
칼만 필터, 스펙트럼, 웨이블릿과 경로 시그니처로 관측값의 구조를 요약합니다.
한 번 튄 가격을 새 추세로 받아들일지 정한다
어제까지 추정한 가격 수준이 100포인트이고, 하루에 1포인트씩 오르는 중이라고 하자. 오늘 예상은 101인데 실제 종가는 105다. 가격의 바탕이 바뀌었을 수도 있고, 오늘 거래에만 잠깐 큰 주문이 들어왔을 수도 있다. 이동평균은 정해진 가중치로 두 상황에 똑같이 반응한다.
Kalman Filter(칼만 필터)는 관측되지 않는 수준과 기울기를 따로 추정한다. State-Space Model(상태공간 모형)에서는 상태가 어제에서 오늘로 변하는 규칙과, 그 상태에서 실제 가격을 관측하는 규칙을 분리한다. Local Linear Trend(국소 선형 추세)에서는 수준에 이전 기울기를 더해 다음 수준을 예상하고, 기울기 자체도 시간에 따라 변할 수 있게 둔다. 추세가 변하는 정도인 Process Noise(과정 잡음)와 관측값이 상태에서 흩어지는 정도인 Observation Noise(관측 잡음)는 서로 다른 값이다.
- 새 종가를 보기 전에 어제 수준과 기울기로 101포인트를 예측한다.
- 종가 105가 도착하면 예상과의 차이를 계산한다. 이 4포인트가 Innovation(새 관측의 예측 오차)이다.
- Kalman Gain(칼만 이득)이 수준에 대해 0.25라면 그 차이의 4분의 1을 반영한다. 갱신한 수준은 102포인트다. 기울기와 추정 오차 분산도 모형의 규칙에 따라 갱신한다.
관측 잡음을 더 크게 추정하면 같은 105에도 수준을 덜 움직인다. 반대로 상태가 빠르게 바뀔 수 있다고 추정하면 더 많이 반영한다. 잡음의 크기는 학습창에서 관측 기록이 나올 가능성을 높이는 방식으로 추정할 수 있다. 새 데이터가 오면 정해진 계수로 상태를 갱신하고, 다음 학습 구간에서 계수를 다시 적합한다.
수준은 추세의 기준선, 기울기는 방향과 속도, 예측 오차는 사건의 놀라움, 상태 오차 분산은 추정의 불확실성이다. 실제 상장지수펀드 SPY의 그림에서 가격과 추정 수준은 대체로 함께 움직이지만, 급락기에는 오차가 두드러지고 기울기가 크게 꺾인다. 사건 전후 큰 오차는 추세 모델이 놀랐다는 뜻이며 사건이 원인이라는 증거는 아니다. 한 비교에서 칼만 기울기와 다음 5거래일 수익률의 Information Coefficient(정보계수, 예측값과 이후 결과의 상관)는 −0.16, 20일 Ordinary Least Squares(보통최소제곱, OLS) 기울기는 −0.02였다. 음수는 이 표본에서 상승 기울기가 큰 뒤 수익률이 오히려 낮은 경향을 뜻한다. 거래 비용을 이겼다는 뜻은 아니다.

두 종목을 함께 볼 때는 상태에 Hedge Ratio(헤지 비율)를 넣을 수도 있다. 두 가격이 평소 함께 움직이는 비율을 고정하지 않고 새 관측에 따라 갱신한다. 어떤 상태를 쓰든 과거 날짜를 이후 관측으로 고치는 Smoothing(평활화)과 당시까지의 관측만 반영하는 Filtering(필터링)을 구분한다.
반복이 있는지 빈도별로 나눈다
매주 비슷한 요일에 거래가 몰린다는 가설이 있다. 일별 가격 변화의 시차 차트에서 잘 보이지 않더라도, 5거래일마다 되풀이되는 파동과 기록이 얼마나 잘 맞는지 볼 수 있다. Frequency(주파수)는 단위 시간에 몇 번 반복하는지를 뜻한다. 5거래일 주기의 주파수는 회/거래일, 21거래일 주기는 회/거래일이다.
Discrete Fourier Transform(이산 푸리에 변환)은 여러 주기의 파동을 유한한 관측 구간에 대조한다. Fast Fourier Transform(고속 푸리에 변환, FFT)은 같은 변환을 빠르게 계산하는 알고리즘이다. Power Spectrum(파워 스펙트럼)은 가로축에 주파수, 세로축에 각 성분의 제곱 크기를 놓는다. 5일에 해당하는 봉우리가 크면 그 길이의 반복이 관측 구간에 많이 들어 있다. 봉우리가 넓거나 여기저기 흩어지면 뚜렷한 한 주기가 지배하지 않는다.
전체 파워 10 중 21거래일보다 느린 대역에 6이 있다면 Low-Frequency Ratio(저주파 비율)는 60%다. 대역 파워 자체인 Spectral Energy(스펙트럼 에너지)는 변화의 크기도 반영하고, 비율은 전체 중 어디에 몰렸는지를 말한다. 가장 높은 봉우리의 주기가 Dominant Period(지배 주기)다. 파워를 비중으로 바꿔 흩어진 정도를 요약한 Spectral Entropy(스펙트럼 엔트로피)는 소수 봉우리에 몰리면 낮고 넓게 퍼지면 높다.
달력에 금요일 표시를 붙이는 방식은 반복의 위치를 미리 정한다. 스펙트럼은 기록에 실제 반복이 얼마나 강한지 측정한다. 추세가 강한 가격 수준은 저주파를 과장할 수 있어 수익률이나 안정적인 스프레드부터 살핀다. 21·63·126거래일 같은 과거 창은 서로 볼 수 있는 주기와 반응 속도가 다르다. 분기 주기를 분기보다 짧은 창에서 식별하기는 어렵다. 여러 부분 구간의 파워를 평균하는 Welch Method(웰치 방법)는 들쭉날쭉한 파워를 안정시키는 대신 해상도를 줄일 수 있다. 매 시점 과거 창으로만 계산하며, 특정 봉우리만으로 달력 효과의 원인이나 지속 여부를 단정하지 않는다.
짧은 요동이 언제 몰렸는지 찾는다
같은 달에 3일짜리 급등락이 월초에 몰렸는지 월말에 몰렸는지는 한 달 전체의 스펙트럼으로 읽기 어렵다. Wavelet(웨이블릿)은 짧거나 긴 파동을 기록 위에서 이동시키며 각 시점 주변에 얼마나 잘 맞는지 본다. 느린 Approximation(근사 성분)과 길이별 Detail(세부 성분)로 나누면 2~4일 요동은 어느 구간에서 컸는지, 32~64일 변화는 더 넓은 구간에서 남아 있는지 비교할 수 있다.
예를 들어 2~4일 대역의 큰 값이 발표 직후 며칠에만 모인다면 짧은 창의 변동폭을 특성 후보로 삼을 수 있다. 표준 오프라인 분해는 어떤 날짜의 양옆 값을 사용할 수 있다. 그 계수를 과거 주문에 붙이는 대신, 발표일 이후 실제로 모인 값만 사용하는 짧은 후행창 변동성이나 한쪽 방향 필터를 만들고 별도로 검증한다. 연구에서 유용한 시간 규모를 찾는 것과 그 규모를 실시간으로 측정하는 것은 두 단계다.
같은 끝점이라도 경로가 다르다
두 경로가 모두 100포인트에서 시작해 102포인트로 끝났다고 하자. 첫 경로의 하루 변화는 +2, +2, −2포인트이고 두 번째는 −2, +2, +2포인트다. 하루 변화의 평균과 제곱합은 같지만 첫 경로는 마지막에 꺾였고 두 번째는 초반 하락을 회복했다.
Path Signature(경로 시그니처)는 경로의 이동을 시간 순서대로 조합한다. 깊이 1은 좌표별 총 이동이므로 두 가격 경로에 모두 +2를 준다. 깊이 2는 한 좌표의 변화 뒤 다른 좌표가 얼마나 움직였는지 누적한다. 시간 좌표를 함께 넣으면 같은 가격 변화가 초반에 있었는지 후반에 있었는지 구별할 수 있다. 가격과 거래량 두 좌표라면 거래량이 먼저 늘고 가격이 오른 경우와 그 반대도 다른 요약이 될 수 있다.
좌표와 깊이가 늘면 항의 수가 빠르게 커진다. Log-Signature(로그 시그니처)는 서로 결정되는 항을 줄인 압축 표현이다. 시간 좌표를 넣은 깊이 2부터 시작하고, 수익률·변동성·시차 입력을 이미 쓰는 기준 모델에서 경로 요약이 추가로 도움이 되는지 비교한다. 가격과 거래량을 함께 쓸 때는 단위와 크기 차이도 학습창에서 정한 방식으로 조정한다. 이후 순차 신경망도 숨은 상태나 벡터를 꺼내 쓴다는 점에서 비슷하지만, 표현을 데이터에서 학습한다는 차이가 있다.