TimesFM의 한국 주권 시장 적용 평가:
Zero-Shot 및 Fine-Tuning 성능 한계 분석
Google Research의 시계열 파운데이션 모델 TimesFM을 한국 주권 시장에 적용해 예측과 분류 성과를 실증하고, Zero-Shot과 Fine-Tuning 성능 한계의 구조적 원인을 분석합니다.
I. 서론 및 연구 목적
이 연구 노트에서는 Google Research가 공개한 시계열 파운데이션 모델 TimesFM (모델 링크)을 금융 도메인에 특화된 사전학습 없이 한국 주권 시장에 적용했을 때 유의미한 예측 신호를 만들어 낼 수 있는지 실증적으로 검증합니다.
TimesFM은 본질적으로 연속형 시계열을 예측(forecasting)하는 모델입니다. 그래서 이번 실증에서는 단순한 이진 분류 평가에 그치지 않고 (1) 미래 수익률 예측의 정량적 품질, (2) 시가(Open) 기준 방향성 분류 정확도, (3) 이진 신호에 따른 실현 수익률이라는 3가지 관점에서 평가했습니다.
II. 데이터 및 과제 정의
분석을 위해 한국 주권 시장의 일별 OHLCV 패널 데이터를 구축했습니다. 데이터의 시계열 분할은 다음과 같습니다.
Table 1. 데이터 분할 구조
| 구간 | 기간 |
|---|---|
| Train (학습 데이터) | 2016-01-01 ~ 2022-12-31 |
| Validation (검증 데이터) | 2023-01-01 ~ 2023-12-31 |
| Test (표본 외 평가 데이터) | 2024-01-01 ~ 2024-12-31 |
예측 기간(horizon, h)은 1거래일(h=1)과 5거래일(h=5)로 설정했습니다. 모델 입력으로는 종가 간 수익률(close-to-close return)의 단변량 시계열을 사용했고, 예측 타깃 변수는 다음과 같이 정의했습니다.
- 분류 h=1: Opent+1 > Closet
- 분류 h=5: Opent+5 > Closet
- 회귀 h=1: Closet+1 / Closet − 1
- 회귀 h=5: Closet+5 / Closet − 1
패널 데이터의 구조상 미래 타깃 변수를 만들 때 종목 경계를 넘어 값이 오염되지 않도록 종목별 groupby + shift(-h) 연산을 엄격하게 적용했습니다.
III. 단변량 모델 설정의 근거
초기 실험에서 거래량이나 기술적 지표 같은 다변량 특징을 배제하고 입력을 단변량 시계열로 제한한 데에는 두 가지 이유가 있습니다. 첫째, TimesFM 공개 구현체에서 가장 표준화된 파이프라인이 단변량 예측 구조입니다. 둘째, 다변량 특징 공학(feature engineering)을 처음부터 도입하면 성과 변화가 사전학습 파운데이션 모델 자체의 역량에서 나온 것인지, 파생 변수 조합의 효과인지 통제하기 어렵습니다. 이번 실증의 목적은 베이스라인 파운데이션 모델 본연의 예측 성능을 측정하는 데 있습니다.
IV. Zero-Shot 평가 방법론
사전학습 모형인 TimesFM_2p5_200M_torch를 별도의 fine-tuning 없이 그대로 적용했습니다.
TimesFM의 원래 목적 함수인 미래 수익률 경로 예측과, 실제 관심 과제인 시가 기준 방향성(future Open vs today Close) 사이에는 타깃의 차이가 있습니다. 그래서 평가를 3단계로 나누어 진행했습니다.
1. 회귀 관점 (Regression Aspect): 모형의 기본 목적 함수인 미래 close-return 예측치의 절대적 정확도와 상관관계를 측정합니다.
2. 분류 관점 (Classification Aspect): 예측된 미래 수익률 시계열의 누적 점수를 부호로 변환해 up/down 분류 프록시(proxy) 신호를 만들고, 그 성능을 검증합니다.
3. 수익률 관점 (Realized Return Aspect): 분류 신호(pred_up)에 따라 포트폴리오를 구성하거나, 점수 10분위별 실현 수익률의 단조성을 측정합니다.
V. Zero-Shot 실증 평가 결과
미래 수익률 예측 품질 (회귀 평가): 2024년 테스트셋 기준 close-return 회귀 성과는 다음과 같습니다.
Table 2. Zero-Shot 회귀 예측 성과
| 과제 | Sign Accuracy | Correlation | MAE |
|---|---|---|---|
| 1거래일 (h=1) | 0.4915 | +0.018 | 0.0182 |
| 5거래일 (h=5) | 0.5223 | −0.054 | 0.0458 |
1거래일 예측의 Sign Accuracy는 0.4915로 무작위 수준(0.5000)을 넘지 못했습니다. 5거래일 예측은 Sign Accuracy가 0.5223이지만 Correlation이 −0.054로 음수를 기록해 통계적 신뢰성을 확보하지 못했습니다.
Open 기준 방향성 분류 성과: 테스트셋 기준 방향성 이진 분류 결과는 다음과 같습니다.
Table 3. Zero-Shot 방향성 분류 성과
| 과제 | Balanced Accuracy | Macro F1 | Up Precision | Up Recall |
|---|---|---|---|---|
| 1거래일 (h=1) | 0.5243 | 0.5244 | 0.4337 | 0.4258 |
| 5거래일 (h=5) | 0.5110 | 0.5076 | 0.4702 | 0.3829 |
| 무작위 예측 기준선: 0.5000. 1거래일 기준 혼동 행렬: TP=2,397 / TN=5,168 / FP=3,130 / FN=3,232. | ||||
무작위 기준선(0.5000)을 근소하게 웃돌기는 하지만 그 차이가 매우 작습니다. 또한 모형 전반이 Down(하락) 쪽으로 편향되어 상승(Up) 종목을 가려내는 능력이 부족했습니다.
실현 수익률 성과: 분류 신호에 따른 매수 포트폴리오의 수익률 성과는 다음과 같습니다.
Table 4. Zero-Shot 실현 수익률 비교
| 과제 | 전체 평균 수익률 | pred_up 평균 수익률 | pred_up 비중 |
|---|---|---|---|
| 1거래일 (h=1) | +0.052% | +0.089% | 39.7% |
| 5거래일 (h=5) | −0.095% | −0.118% | 37.1% |
1거래일 예측에서는 pred_up 집단의 평균 수익률이 전체 평균보다 0.037%p 높아 미미하나마 선별력을 보였습니다. 그러나 5거래일 예측에서는 오히려 전체 평균을 밑도는 역전 현상이 나타났습니다. 10분위 분석에서도 점수 상위 분위와 하위 분위 사이에 수익률의 단조성은 관찰되지 않았습니다.
VI. Fine-Tuning 실험 설계
1거래일 예측에서 관찰된 미세한 신호를 강화하기 위해 도메인 적응 fine-tuning을 수행했습니다. 미세조정은 모델 구조의 원래 목적 함수인 close-to-close return forecasting을 유지하면서 한국 주식 데이터셋으로 가중치를 업데이트하는 방식으로 진행했습니다.
VII. Fine-Tuning 실증 결과
1거래일 (h=1) fine-tuning: 학습 가능한 파라미터 범위를 제한한 부분 학습(light, point_head)부터 적용했습니다.
Table 5. 1거래일 — Partial Fine-Tuning 성과
| 설정 | Epoch | Sign Acc | Correlation |
|---|---|---|---|
| light | 1 | 0.4812 | 0.000 |
| light | 2 | 0.4787 | −0.014 |
| light | 3 | 0.4879 | −0.005 |
| point_head | 1 | 0.4801 | +0.001 |
| point_head | 2 | 0.4763 | −0.003 |
| point_head | 3 | 0.4840 | +0.005 |
학습 손실(training loss)은 줄었지만 검증 지표는 유의미하게 개선되지 않았습니다. 그래서 전체 레이어를 학습하는 Full Fine-Tuning 구조로 확장했습니다.
Table 6. 1거래일 — Full Fine-Tuning 성과 (샘플 규모별)
| 설정 | Epoch | Sign Acc | Correlation |
|---|---|---|---|
| full / 소규모 샘플 | 1 | 0.4863 | +0.091 |
| 2 | 0.5137 | +0.147 | |
| 3 | 0.5059 | +0.120 | |
| full / 중간 규모 (20k 샘플) | 1 | 0.4765 | −0.021 |
| 2 | 0.4778 | −0.053 | |
| 3 | 0.4850 | −0.027 | |
| 4 | 0.4840 | −0.022 | |
| 소규모 샘플에서 나타난 일시적 성능 반등(Peak)은 표본 수를 늘리자 재현되지 않음. | |||
소규모 표본에서 2 epoch에 기록한 최고치(Sign Acc 0.5137, Corr +0.147)는 데이터를 확장하자 표본 잡음(noise)으로 판명되었습니다. 전체 데이터셋에 Early Stopping을 적용한 결과는 다음과 같습니다.
Table 7. 1거래일 — Full Fine-Tuning 전체 데이터셋 성과
| Epoch | Sign Acc | Correlation |
|---|---|---|
| 1 | 0.4667 | −0.022 |
| 2 | 0.4907 | −0.046 |
| 3 | 0.4871 | −0.018 |
| 4 | 0.4800 | −0.026 |
| 5 | 0.4818 | −0.025 |
| 6 | 0.4723 | −0.026 |
| 7 | 0.4832 | −0.016 |
| 최고 검증 Sign Accuracy: epoch 2의 0.4907. 5회 연속 개선이 없어 epoch 7에서 조기 종료. | ||
Full fine-tuning 결과는 zero-shot 분류 성능(Balanced Accuracy 0.5243)에 미치지 못했습니다.
5거래일 (h=5) fine-tuning: 전체 데이터셋으로 Full fine-tuning을 수행한 평가 결과는 다음과 같습니다.
Table 8. 5거래일 — Full Fine-Tuning 전체 데이터셋 성과
| Epoch | Sign Acc | Correlation |
|---|---|---|
| 1 | 0.5103 | +0.014 |
| 2 | 0.4791 | −0.028 |
| 3 | 0.5016 | +0.001 |
| 4 | 0.5030 | +0.006 |
| 5 | 0.4915 | −0.010 |
| 6 | 0.4983 | −0.011 |
| Epoch 1에서 최고 성과를 기록한 뒤 성과가 하락해 epoch 6에서 조기 종료. | ||
첫 번째 epoch에서 최고 성과를 보인 뒤 성과가 계속 하락했다는 것은, 모델의 학습이 표본 외 검증 성능 개선으로 이어지지 않는다는 점을 입증합니다.
VIII. 실증 성과 저하의 구조적 원인 분석
하이퍼파라미터를 조정하고 무작위 표본을 확장했는데도 성능이 개선되지 않는 근본적인 원인은 학습 목적 함수(Loss Function)와 평가 타깃(Evaluation Target) 간의 미스매치(Mismatch)에 있습니다.
Fine-tuning 과정에서는 Closet+h / Closet − 1 연속형 수익률의 예측 손실을 최적화하지만, 실무에서 최종적으로 관심을 두는 것은 Opent+h > Closet라는 이진 방향성 분류입니다. 종가(Close) 시계열과 시가(Open) 시계열 사이에는 개장 초 수급 불균형이나 갭 상승/하락 같은 구조적 가격차가 있습니다. 그래서 종가 예측력이 높아져도 시가 방향성 분류 성능으로 곧바로 이어지지 않습니다.
IX. 결론 및 향후 과제
이번 실증 연구의 주요 결론은 다음 5가지로 요약할 수 있습니다.
첫째, TimesFM의 zero-shot 예측력은 완전한 무작위 수준은 아니지만 통계적으로 미약합니다. 둘째, 유효한 신호는 1거래일 예측의 극소수 구간에 한정됩니다. 셋째, 5거래일 예측은 zero-shot과 수익률 관점 모두에서 무의미합니다. 넷째, close-return forecasting → open direction 변환 경로의 미세조정은 성과 개선으로 이어지지 않습니다. 다섯째, 향후 실증에서는 open-return을 직접 예측하거나 전용 이진 분류기(Classification Head)를 결합하는 방식으로 목적 함수의 정합성을 확보해야 합니다.