CHAPTER 03 / SECTION 06
3.6 잡음을 걷어 내어 만드는 시장 경로
확산 모델의 학습과 생성, 시장 국면을 지정하는 방법과 검증 기준을 설명합니다.
원래 경로를 흐리게 만든 뒤 되돌리는 법을 배운다
지우는 두 시장의 수익률을 20거래일씩 묶는다. 어느 날 국내 수익률이 −3%였다고 하자. 무작위로 뽑은 +0.2%p를 더하면 −2.8%가 된다. 이런 무작위 변화가 Noise(잡음)다. 여러 날에 작은 잡음을 더하면 급락의 윤곽은 대체로 남지만, 큰 잡음을 섞으면 원래 어느 날에 두 시장이 함께 떨어졌는지 알아보기 어렵다.
Denoising Diffusion Probabilistic Model(잡음 제거 확산 확률 모델, DDPM)은 이런 손상을 되돌리는 법을 학습한다. 학습 중에는 실제 경로와 잡음 수준을 고르고 정해진 방식으로 잡음을 섞는다. 모델은 어느 정도 손상된 입력인지 전달받아 섞인 잡음을 추정한다. 생성할 때는 실제 경로 대신 무작위 잡음에서 출발한다. 같은 모델을 여러 번 사용해 조금씩 걷어 내며, 표준 확률적 방식에서는 중간 단계에 무작위성이 있어 실행마다 경로가 달라질 수 있다.
고변동 국면을 지정해 한도를 시험한다
지우는 평상시와 위기처럼 크게 흔들린 시기를 나눠 시험한다. 먼저 과거 기록에서 움직임이 잔잔한 구간과 큰 구간을 나눈다. 이렇게 일정 기간 이어지는 시장 상태를 Regime(국면)이라고 한다.
시장의 상태는 자료에 직접 표시되어 있지 않다. Hidden Markov Model(은닉 마르코프 모형)을 쓰면 매일 관측한 수익률에서 어떤 상태였을 가능성이 높은지 추정할 수 있다. 예를 들어 크게 오르내리는 날이 연속되면 고변동 상태로 볼 가능성이 커진다. 과거의 매매 결정을 재현할 때는 상태를 매기는 데 그날 이후의 수익률을 사용하면 당시에는 알 수 없던 정보가 들어간다.
Classifier Guidance(분류기 유도)는 잡음이 남은 경로를 보고 어느 국면에 가까운지 판단하는 별도 모델을 훈련한다. 지우가 고변동 경로를 원하면, 잡음을 걷을 때마다 그 모델이 고변동으로 볼 가능성이 커지는 방향으로 조금씩 조정한다.
Classifier-Free Guidance(분류기 없는 유도)는 잡음을 걷는 모델 하나에 두 가지 방식으로 묻는다. 한 번은 ‘고변동’이라는 조건을 주고, 한 번은 조건을 뺀다. 두 답의 차이에는 고변동 조건 때문에 달라진 부분이 담긴다. 생성할 때는 그 차이를 이용해 원하는 국면 쪽으로 경로를 조정한다.
유도를 너무 세게 걸면 서로 비슷한 급락만 반복되거나 실제 자료보다 과격한 경로가 생길 수 있다. 국면 분류를 잘못하면 생성 모델도 그 오류를 물려받는다. 지우는 생성 경로가 고변동으로 보이는지뿐 아니라, 실제 고변동기에 나타난 손실 크기와 동반 하락, 여러 경로 사이의 다양성도 비교한다.
느린 추세와 반복 움직임을 나누어 생성한다
지우가 복원한 20일 경로에는 몇 주에 걸친 느린 변화와 며칠 간격으로 반복되는 오르내림이 함께 있을 수 있다. Diffusion-TS(시계열 확산 모델)는 두 움직임을 따로 복원한 뒤 합쳐서 깨끗한 경로를 만든다. 며칠마다 비슷한 변화가 나타나는지처럼 반복 주기의 차이도 비교한다. 원본과 복원 경로가 이런 반복을 다르게 담으면 Fourier Loss(푸리에 손실)라는 오차가 커진다. 며칠 주기의 움직임이 잘 복원되었다고 해서 그 주기를 만든 경제적 원인까지 밝혀진 것은 아니다.
부드러운 성분에 의존하면 지우가 확인하려던 갑작스러운 급락이 약해질 수 있다. 생성 경로의 분산을 나중에 키워도 동반 급락과 손실의 순서까지 고쳐지는 것은 아니다. 일별 변동 규모, 극단 손실, 변동의 자기상관을 각각 다시 확인한다. 빠르게 경로를 대량 생성해야 한다면 한 번의 계산으로 표본을 만드는 GAN과 반복 계산이 필요한 확산 모델의 비용도 비교한다.