CHAPTER 07 / INTRODUCTION
7장 도입. 모델의 출력을 특성으로 만들기
직접 계산한 입력과 적합 모델의 출력을 구분하고 거래 시점에 맞춰 사용합니다.
같은 수익률 뒤에 다른 시장이 있다
한 연구자가 두 상장지수펀드의 다음 주 수익률을 비교한다. 둘 다 지난주 2% 올랐지만, 하나는 매일 조금씩 올랐고 다른 하나는 급락한 뒤 반등했다. 누적 수익률 한 열만 입력하면 모델에는 같은 값이 들어간다. 최근의 방향, 갑자기 커진 흔들림, 반등이 평소 예상에서 얼마나 벗어났는지를 별도로 표현하면 두 상황을 구분할 수 있다.
과거 가격에서 미리 정한 계산법으로 구하는 최근 수익률이나 고저폭은 Direct Feature(직접 특성)다. 반면 학습 구간에서 관측값이 움직이는 방식을 추정한 뒤, 그 절차가 내놓는 숫자를 입력으로 쓰면 Model-Based Feature(모델 기반 특성)가 된다. 예를 들어 지난달 흔들림을 단순 평균하는 대신, 새 충격과 이전 위험을 각각 얼마나 반영할지 과거로 추정해 내일의 변동성을 계산할 수 있다.
예측하는 모델과 입력을 만드는 모델
변동성은 가격 변화가 얼마나 큰지를 나타낸다. 내일의 변동성 추정치는 다음 주 수익률의 방향을 직접 맞히지 않아도 쓸 수 있다. 같은 상승 신호라도 위험이 높은 날에는 그 신호와 실제 손익의 관계가 다를 수 있기 때문이다. 신호가 어떤 환경에서 잘 통하는지 알려 주는 값을 Conditioning Feature(조건을 알려 주는 특성)라고 한다.
또 어떤 모델은 내일을 맞히기 전에 오늘을 설명한다. 관측 가격에서 잠깐의 흔들림을 걷어 내 기울기를 추정하거나, 지금 시장이 평온한지에 대한 확률을 계산한다. 한 모델에서 여러 열이 나올 수 있다. 추정한 기울기와 실제 가격이 예상을 벗어난 폭은 매일 달라지는 출력이다. 반면 모델이 새 관측에 얼마나 빨리 반응하는지는 다시 적합할 때 갱신되는 계수다. 두 종류 모두 나중 모델의 입력이 될 수 있다.
거래할 때 만들 수 있는 숫자인지 확인한다
월요일 종가를 보고 계산한 값을 월요일 종가 체결에 사용하면, 연구에서는 가능해 보여도 실제로는 주문 시점에 입력이 완성되지 않는다. Point-in-Time Correctness(시점 정합성)는 값에 붙은 날짜뿐 아니라 그 값이 실제로 이용 가능해진 시각까지 맞추는 원칙이다.
- 학습 구간 종료당시 확보한 기록으로 계수와 설정을 정한다.
- 월요일 장 마감 이후종가가 도착하면 고정한 계수로 상태를 갱신한다.
- 화요일 거래주문 전 계산이 끝났다면 이 특성을 쓸 수 있다.
Walk-Forward Evaluation(시간 순서 전진 검증)은 학습과 평가를 앞으로 차례로 옮기며 이 과정을 반복한다. 매 학습창에서 모델과 설정을 고르고, 다음 구간에서는 당시 이용 가능한 자료만으로 출력한다. 모델 버전, 적합 종료 시각, 사용한 관측의 마지막 시각을 특성과 함께 기록하면 나중에 그 값을 재현할 수 있다. 전체 기간으로 그린 매끈한 추세선은 사후 진단에는 쓸 수 있지만 과거 주문의 입력이 되지는 않는다.
어떤 정보를 되찾을지 정한다
| 알고 싶은 내용 | 사용할 출력 | 해석의 한계 |
|---|---|---|
| 움직임의 성격이 달라졌는가 | 정상성 검정 통계량, 변화 경보 | 경보는 원인이나 정확한 변화일을 보장하지 않는다. |
| 요동 속에 방향이나 반복이 있는가 | 숨은 추세, 주기 강도, 경로 모양 | 전체 기록을 사용한 분해는 실시간 입력이 될 수 없다. |
| 다음 관측의 흔들림이 얼마나 클까 | 조건부 변동성, 충격 지속성 | 방향 예측과는 별개다. |
| 추정치를 얼마나 믿을 수 있는가 | 상태의 분산, 예측 구간 폭 | 모델이 틀리면 좁은 구간도 안심할 근거가 되지 않는다. |
| 어떤 환경에 가까운가 | 스트레스 상태 확률 | 확률은 관측된 정답이나 매매 신호가 아니다. |
| 동료 자산에 비해 얼마나 다른가 | 순위, 벤치마크 대비 차이, 시장 전체 집계 | 그 시점에 거래 가능한 비교 집단이 필요하다. |
처음에는 직접 특성만 넣은 기준 모델을 만든다. 같은 예측 기간과 거래 조건에서 모델 기반 열을 하나씩 추가해야, 어떤 추정이 실제로 새 정보를 더했는지 확인할 수 있다.