Kronos: 45개 이상의 글로벌 거래소 데이터로 학습한, 금융 시계열 예측을 위한 최초의 오픈소스 파운데이션 모델

Kronos 연구 소개

금융 시계열 데이터를 위한 파운데이션 모델의 필요성

최근 몇 년 사이 거대 언어 모델(Large Language Model, LLM)이 자연어 처리의 패러다임을 완전히 바꿔놓은 것처럼, 시계열 데이터 분야에서도 같은 흐름이 일어나고 있습니다. Time Series Foundation Model(TSFM) 이라 불리는 새로운 모델군은 방대한 시계열 데이터를 사전 학습(pre-training)하여, 예측, 이상 탐지, 인과 추론 등 다양한 다운스트림 과제에 곧바로 활용할 수 있는 범용 백본을 지향합니다. TimeGPT, Moirai, Time-MoE와 같은 모델들이 일반적인 시계열 예측 분야에서 인상적인 성과를 보여주었습니다.

그런데 흥미롭게도, 이러한 일반 목적의 TSFM을 금융 시장의 K-line(캔들스틱) 데이터에 적용하면 오히려 성능이 떨어지는 경우가 많습니다. 시가, 고가, 저가, 종가, 거래량, 거래대금(OHLCVA: Open, High, Low, Close, Volume, Amount)으로 구성되는 K-line 시퀀스는 시장 참가자들이 가격 움직임, 변동성 국면, 유동성 변화, 집단적 심리를 해석하는 가장 압축적이고 정보 밀도가 높은 "언어"입니다. 그러나 K-line 데이터는 매우 낮은 신호 대 잡음비, 강한 비정상성(non-stationarity), OHLCVA 속성 간의 복잡한 고차 의존성을 갖고 있어 일반 TSFM의 귀납 편향(inductive bias)과 잘 맞지 않습니다.

뿐만 아니라, 대부분의 TSFM 사전 학습 코퍼스에서 금융 시계열이 차지하는 비중은 극히 일부에 불과합니다. 결과적으로 일반 TSFM은 iTransformer 와 같이 작업에 특화하여 학습된 비-사전학습 모델에도 자주 밀리며, 변동성 예측, 합성 데이터 생성, 리스크 관리 같은 정량적 금융의 핵심 과제 전반에 걸쳐 일반화하는 데에도 한계를 보입니다.

기존 접근법의 한계

지금까지 K-line 데이터를 다뤄온 접근법들을 정리해보면, 각각의 접근법들은 명확한 한계가 있습니다:

첫째, 일반 시계열 파운데이션 모델(TSFM) 은 다양한 도메인에서 잘 작동하지만 금융 K-line 데이터의 특수성을 제대로 반영하지 못합니다. 예를 들어 가격 시계열 예측 과제에서 RankIC 지표 기준으로, 일반 TSFM은 작업 특화된 비-사전학습 모델보다 낮은 성능을 보이는 경우가 흔합니다.

둘째, iTransformer, TimeMixer, PatchTST 등 작업 특화 모델은 특정 데이터셋에서는 강력하지만, 사전 학습된 표현이 없기 때문에 새로운 시장이나 자산군에 대해 일반화가 어렵고 매번 처음부터 학습해야 합니다.

셋째, MarketGPT, PLUTUS, DELPHYNE 등 금융 시계열에 특화된 일부 사전 학습 모델이 등장했지만, 가격 예측 한 가지 과제에만 집중되어 있어 변동성 예측이나 합성 데이터 생성과 같은 다양한 정량적 금융 과제 전반을 포괄하지 못합니다.

이러한 한계를 극복하기 위해, 본 연구는 K-line 데이터를 "금융 시장의 언어"로 간주하고 이를 토큰화하여 자기회귀(autoregressive) 방식으로 모델링하는 새로운 발상의 전환을 제안합니다.

Kronos의 핵심 아이디어

연구진이 제안한 Kronos는 금융 K-line 데이터를 위한 통합 사전 학습 프레임워크로, 이름 그대로 시간(Kronos)을 다루는 모델로, 핵심 아이디어는 다음 세 가지로 요약할 수 있습니다:

  1. 전용 토크나이저: 연속적이고 다변량인 K-line 데이터를 이산 토큰(discrete token) 시퀀스로 양자화하여 가격 동역학과 거래 활동 패턴을 보존합니다.
  2. 계층적(coarse-to-fine) 토큰 구조: 각 토큰을 거친(coarse) 서브토큰과 세밀한(fine) 서브토큰으로 분해하여 다중 스케일 시장 동역학을 명시적으로 모델링합니다.
  3. 대규모 멀티마켓 사전 학습: 전 세계 45 개 거래소, 7 개 시간 단위에 걸친 120 억(over 12 billion) 개 이상의 K-line 레코드로 자기회귀 사전 학습을 수행합니다.

이러한 설계의 결과는 인상적입니다. Kronos는 제로샷(zero-shot) 환경에서 가격 시계열 예측의 RankIC를 기존 최강 TSFM 대비 93\%, 최고의 비-사전학습 베이스라인 대비 87\% 향상시켰습니다. 또한 변동성 예측에서 9\% 더 낮은 MAE를, 합성 K-line 시퀀스 생성에서 22\% 향상된 생성 충실도(fidelity)를 달성했습니다.

핵심 방법론: K-line 언어를 위한 2단계 프레임워크

Kronos는 K-line 시퀀스를 이산 언어로 추상화하고, 이를 두 단계 프레임워크로 구현합니다. 첫 번째 단계는 K-line 토크나이제이션(Tokenization) 으로, 트랜스포머 기반 토크나이저가 연속적 K-line 시퀀스를 학습 가능한 코드북(codebook)을 통해 이산 토큰 시퀀스로 양자화합니다. 두 번째 단계는 자기회귀 사전 학습(Autoregressive Pre-training) 으로, 디코더-온리(decoder-only) 트랜스포머가 다음 시점의 토큰을 순차적으로 예측하도록 학습됩니다.

K-line 토크나이저: BSQ 기반 계층적 양자화

토크나이저는 인코더 E_{\text{enc}} , 양자화기 Q , 디코더 E_{\text{dec}} 로 구성된 트랜스포머 기반 오토인코더입니다. 핵심 양자화 기법으로는 비디오 양자화 분야에서 발전한 Binary Spherical Quantization(BSQ) 를 차용했습니다. BSQ는 연속 잠재 벡터 \bm{\xi}_tk 비트 이진 코드 b_t \in \{-1, 1\}^k 로 사영하여 양자화합니다.

문제는 풍부한 금융 패턴을 담기 위해 k=20 같이 큰 비트 수를 쓰면 어휘 크기가 2^k 로 폭발적으로 늘어나, 후속 자기회귀 모델의 계산 비용과 파라미터 수가 감당하기 어려워진다는 점입니다. 연구진은 이를 해결하기 위해 비디오 생성 분야의 최신 기법을 따라, k 비트 코드를 n=2 개의 서브공간으로 분해(factorize)합니다. 각 서브토큰은 k_c = k_f = k/2 비트를 가지며, 전체 토큰은 b_t = [b_t^c, b_t^f] 형태의 연결입니다. 이 분해 덕분에 한 번에 2^k 크기 어휘에 대해 예측하는 대신, 두 번의 순차 예측을 2^{k/2} 크기 어휘에서 수행하게 되어 계산 복잡도와 파라미터 비용이 크게 줄어듭니다.

서브토큰의 거친 → 세밀한(coarse-to-fine) 위계 구조를 강제하기 위해, 연구진은 다음과 같은 합성 손실 함수로 토크나이저를 학습합니다.

\mathcal{L}_{\text{tokenizer}} = \mathcal{L}_{\text{coarse}} + \mathcal{L}_{\text{fine}} + \lambda \mathcal{L}_{\text{quant}}

여기서 \mathcal{L}_{\text{coarse}} = \mathbb{E}[\|\mathbf{x} - E_{\text{dec}}(\mathbf{b}^c)\|^2] 는 거친 서브토큰만으로 저해상도 재구성을 학습시키고, \mathcal{L}_{\text{fine}} = \mathbb{E}[\|\mathbf{x} - E_{\text{dec}}(\mathbf{b})\|^2] 는 전체 토큰을 사용한 고해상도 재구성을 평가합니다. \mathcal{L}_{\text{quant}} 는 BSQ의 양자화 손실로, 연속 잠재 벡터와 이진 코드 사이의 L2 거리를 줄여 인코더 출력이 코드북과 정렬되도록 합니다.

이러한 계층적 재구성 손실이 Kronos 설계의 핵심입니다. 마치 화가가 그림을 그릴 때 전체적인 구도(거친 윤곽)를 먼저 잡고 나서 세부 묘사(잔차 정보)를 채워 넣는 것과 유사하게, 거친 서브토큰은 입력의 주요 구조를 포착하고 세밀한 서브토큰은 이를 정제하는 잔차 정보를 인코딩합니다.

이는 단순히 디코딩 순서를 정하는 기존 접근(예: 어떤 토큰이 거친 정보를 담는지를 사후적으로 식별)과 달리, 양자화 단계에서 명시적으로 위계 구조를 부여한다는 점에서 차별점이 있습니다.

계층적 자기회귀 모델링

토큰화된 시퀀스는 인과 어텐션(causal-attention)을 사용하는 디코더-온리 트랜스포머 E_{\text{ar}} 로 모델링됩니다. 토큰 시퀀스 \mathbf{b} = \{b_1, \ldots, b_T\} 의 결합 분포는 다음과 같이 분해됩니다.

p(\mathbf{b}) = \prod_{t=1}^{T} p(b_t | \mathbf{b}_{<t})

각 토큰이 b_t = [b_t^c, b_t^f] 형태의 계층적 구조를 갖기 때문에, 연구진은 체인 룰을 적용하여 거친-세밀 의존성을 명시적으로 포착합니다.

p(b_t | \mathbf{b}_{<t}) = p(b_t^c | \mathbf{b}_{<t}) \cdot p(b_t^f | \mathbf{b}_{<t}, b_t^c)

즉, 모델은 먼저 거친 서브토큰 b_t^c 를 예측한 뒤, 이를 조건으로 세밀한 서브토큰 b_t^f 를 예측합니다.

코어스 서브토큰 예측

시점 t 에서 트랜스포머가 출력한 은닉 상태 \mathbf{h}_t 를 선형 헤드 W_c 로 사영하여 거친 서브토큰의 분포를 얻습니다.

p(b_t^c | \mathbf{b}_{<t}) = \text{softmax}(W_c \mathbf{h}_t)

파인 서브토큰 예측

세밀한 서브토큰을 예측하려면 거친 서브토큰의 정보로 컨텍스트를 갱신해야 합니다. 연구진은 학습 시 정답 서브토큰을 그대로 쓰는 티처 포싱(teacher-forcing) 대신, 모델 자신의 예측 분포에서 샘플링한 \hat{b}_t^c 를 사용합니다. 이는 학습과 추론 시 분포의 불일치(노출 편향, exposure bias)를 줄여 다단계 추론에서의 강건성(robustness)을 높이기 위함입니다.

이렇게 얻은 \hat{b}_t^c 의 임베딩이 쿼리(query)가 되고 \mathbf{h}_t 가 키-밸류(key-value)로 작동하는 크로스 어텐션(cross-attention)을 통해 갱신된 표현 \mathbf{h}_t^{\text{update}} 를 만들고, 이를 또 다른 헤드 W_f 로 사영하여 세밀 서브토큰의 분포를 얻습니다.

전체 학습 목표는 두 예측 단계에 걸친 음의 로그 우도(Negative Log-Likelihood)의 합입니다.

\mathcal{L}_{\text{ar}} = -\mathbb{E}_{\mathbf{b} \sim \mathcal{D}} \sum_{t=1}^{T} \left[ \log p(b_t^c | \mathbf{b}_{<t}) + \log p(b_t^f | \mathbf{b}_{<t}, b_t^c) \right]

모델 구성: Small, Base, Large

연구진은 LLM의 스케일링 법칙을 따라, 파라미터 수가 다른 세 가지 변형을 학습했습니다.

모델 Layers d_{\text{model}} d_{\text{ff}} Heads Vocab Params
Kronos-small 8 512 1024 8 2^{20} 24.7M
Kronos-base 12 832 2048 16 2^{20} 102.3M
Kronos-large 18 1664 3072 32 2^{20} 499.2M

최대 컨텍스트 길이는 512 토큰으로 제한했으며, 이는 자원 제약과 실용적 배포 환경을 고려한 선택입니다. 다만 K-line의 시간 단위(1분, 일, 주 등)를 바꿔 사용하면 임의의 예측 지평선(horizon)에 대응할 수 있도록 설계되어 있습니다.

사전 학습 데이터: 45개 거래소, 120억 K-line

대규모 사전 학습을 위해 연구진은 자체적으로 고품질 금융 K-line 데이터셋을 구축했습니다. 일반 시계열 분야와 달리, 금융 도메인에는 잘 정제된 공개 데이터셋이 매우 제한적이기 때문입니다. 이 데이터셋은 전 세계 45 개 거래소, 7 개 샘플링 빈도(frequency), 광범위한 자산군에 걸쳐 120 억 개 이상의 관측치를 담고 있습니다.

특히 비정상적인 가격 급등이나 장기 비활성 구간 같은 저품질 세그먼트를 식별하고 걸러내는 전용 클리닝 파이프라인을 설계하여 데이터 품질을 보장했습니다.

실험 결과 및 성능 분석

연구진은 Kronos를 정량적 금융 분야에서 가장 중요한 5 가지 대표 과제들을 사용하여 성능을 평가했습니다. 대표 과제들은 가격 시계열 예측, 수익률(Return) 예측, 실현 변동성(Realized Volatility) 예측, 합성 K-line 생성, 그리고 실제 투자 시뮬레이션을 사용하였습니다.

비교 대상 베이스라인은 비-사전학습 풀-샷 모델(예: iTransformer), 제로샷 TSFM(예: TimeMOE), 계량경제 변동성 모델(예: GARCH), 생성형 시계열 모델(예: DiffusionTS) 등 4가지 패러다임을 아우르는 총 25 개 모델에 달합니다.

예측 과제: 가격, 수익률, 변동성

가격 시계열 예측에서 Kronos는 RankIC 지표 기준으로 일관된 최첨단 성능을 달성했습니다. 가장 강력한 TSFM 베이스라인 대비 93\% 향상, 최고의 비-사전학습 모델 대비 87\% 향상이라는 압도적인 차이를 보였습니다. 또한 모델 크기가 커질수록 성능이 일관되게 좋아지는 양상을 보여, 시계열 파운데이션 모델에서도 신경망 스케일링 법칙 이 경험적으로 성립함을 확인했습니다.

수익률 예측과 변동성 예측에서도 마찬가지로 Kronos는 최고 성능을 기록했으며, 변동성 예측에서는 기존 방법 대비 MAE를 9\% 낮췄습니다. 특히 변동성 예측은 GARCH 같은 정통 계량경제 모델이 오랫동안 강세를 보여온 영역인데, 사전 학습된 표현만으로 이를 능가했다는 점이 인상적입니다.

생성 과제: 합성 K-line 데이터의 충실도

합성 K-line 데이터의 품질은 다양성(diversity), 충실도(fidelity), 유용성(usefulness) 세 측면에서 평가됩니다. 다양성 평가에서는 t-SNE로 원본과 합성 데이터를 2D 공간에 사영하고, 커널 밀도 추정(KDE)으로 분포를 비교합니다:

t-SNE 플롯에서 Kronos가 생성한 합성 데이터는 원본 데이터 공간을 더 잘 덮으며, KDE 플롯도 분포의 유사성이 더 높음을 보여줍니다. 정량적으로는 충실도를 평가하는 판별기 점수(discriminative score)와 유용성을 평가하는 TSTR(Train-on-Synthetic, Test-on-Real) 프로토콜에서 모두 최고 성능을 기록했으며, 기존 최강 베이스라인 대비 생성 충실도가 22\% 향상되었습니다. 모델 크기가 커질수록 생성 품질도 함께 향상되는 일관된 패턴이 관찰되었습니다.

투자 시뮬레이션: 실제 수익으로 이어지는가

예측 정확도가 실제 투자 수익으로 연결되는지를 검증하기 위해, 중국 A주 시장에서 모델의 예측 신호 상위 k 개 종목으로 포트폴리오를 구성하는 롱-온리(long-only) 전략을 시뮬레이션했습니다. 그 결과 Kronos는 모든 베이스라인을 능가하는 연환산 초과 수익률(Annualized Excess Return, AER)정보 비율(Information Ratio, IR) 을 달성했습니다. 이는 모델의 우수한 예측 정확도가 실제 투자 이익으로 효과적으로 변환됨을 보여주는 결과입니다.

Ablation Study: 설계 선택의 효과

연구진은 핵심 설계 선택의 효과를 검증하기 위해 소거 실험(ablation study)을 수행했습니다. 두 가지 핵심 질문에 답하는 것이 목표였습니다.

(Q1) 모델링 패러다임의 효과: 연속 공간에서 회귀하는 Direct-AR(MSE 손실)과 확률 분포를 모델링하는 Prob-AR(Student-t 혼합 분포), 그리고 서브토큰을 병렬로 예측하는 Kronos-Parallel 변형과 비교한 결과, Kronos의 이산-순차 예측 방식이 모든 변형을 명확히 능가했습니다. 예를 들어 가격 시계열 예측의 RankIC 기준으로 Direct-AR이 0.0149 , Prob-AR이 0.0102 , Kronos-Parallel이 0.0226 인 반면, Kronos-small은 0.0254 를 기록했습니다. 이는 (i) 이산화가 연속 회귀보다 효과적이며, (ii) 서브토큰 사이의 의존성을 모델링하는 순차 예측이 병렬 예측보다 우수함을 보여줍니다.

(Q2) 어휘 크기의 영향: 어휘 크기를 키울수록 재구성 품질과 예측 정확도가 모두 향상되었습니다. 더 큰 어휘는 양자화 오차를 줄이고 표현의 정밀도를 높이며, 이는 곧 더 나은 예측 결과로 이어집니다. 이 관찰은 LFQ나 BSQ 계열 양자화 기법에서 더 큰 어휘가 생성 품질을 높인다는 비디오 생성 분야의 발견과 일치합니다.

Test-Time Scaling: 추론 시점의 성능 강화

Kronos가 갖는 확률적 생성 프레임워크의 큰 장점 중 하나는 재학습 없이 추론 시점에 정확도를 끌어올릴 수 있다는 점입니다. 같은 컨텍스트에서 확률적 샘플링으로 여러 미래 궤적을 생성하고, 이를 평균 내는 앙상블 방식으로 예측을 안정화할 수 있습니다.

실험 결과, 샘플 수 N 을 늘릴수록 IC와 RankIC가 일관되게 향상되었습니다. 이는 생성 과정의 확률성을 평균화하여 예측 분산을 줄이는 효과로 해석할 수 있습니다. 실무자는 추론 비용과 예측 정확도 사이에서 트레이드오프를 조절할 수 있으며, 이 특성은 LLM 추론에서의 self-consistency나 Monte Carlo 롤아웃 기법과 유사한 추론 시점 스케일링(test-time scaling) 으로 볼 수 있습니다.

설치 및 사용 방법

Kronos는 사전 학습된 모델 체크포인트와 함께 GitHub에 공개되어 있어, 누구나 자신의 데이터로 곧바로 시도해볼 수 있습니다. 연구진은 Hugging Face 모델 허브 에 Kronos-small, base, large 체크포인트를 모두 공개했습니다.

기본적인 사용법은 다음과 같습니다.

# 저장소 클론 및 의존성 설치
git clone https://github.com/shiyu-coder/Kronos.git
cd Kronos
pip install -r requirements.txt

Python에서 모델을 불러와 예측을 수행하는 예시는 다음과 같습니다.

from model import Kronos, KronosTokenizer, KronosPredictor

# 사전 학습된 토크나이저와 모델 로드
tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
model = Kronos.from_pretrained("NeoQuasar/Kronos-base")

# 예측기 인스턴스 생성
predictor = KronosPredictor(
    model=model,
    tokenizer=tokenizer,
    device="cuda:0",
    max_context=512
)

# OHLCVA 데이터프레임을 입력으로 미래 K-line 예측
pred_df = predictor.predict(
    df=historical_kline_df,  # ['open','high','low','close','volume','amount'] 컬럼
    pred_len=120,            # 예측 지평선 (K-line 개수)
    T=1.0,                   # 샘플링 온도
    top_p=0.9,               # nucleus 샘플링
    sample_count=5           # 앙상블을 위한 샘플 수
)

저장소에는 중국 A주, 미국 주식, 암호화폐 등 다양한 시장에서의 예측 예제 노트북도 함께 제공됩니다.

한계점 및 향후 연구 방향

Kronos가 K-line 데이터를 위한 강력한 파운데이션 모델로 자리잡았지만, 여전히 몇 가지 한계와 향후 과제가 남아 있습니다.

첫째, 컨텍스트 길이가 512 토큰으로 제한되어 있습니다. 1분봉 같은 고빈도 데이터를 사용할 경우 약 8.5시간 분량에 해당하는데, 더 긴 시간 의존성을 포착하려면 RoPE 같은 위치 인코딩 확장 또는 효율적인 장-컨텍스트 어텐션 기법의 도입이 필요합니다.

둘째, 입력으로 OHLCVA 6 차원만을 사용하기 때문에, 호가창(order book), 뉴스 텍스트, 거시경제 지표 등 다른 모달리티를 통합하는 후속 연구가 자연스럽게 이어질 수 있습니다. 멀티모달 금융 파운데이션 모델로의 확장은 이 분야의 큰 흐름이 될 가능성이 높습니다.

셋째, 본 연구의 평가는 주로 중국 A주 시장에 집중되어 있습니다. 미국, 유럽, 신흥국 시장이나 채권, 외환, 파생상품 등 다양한 자산군에서의 일반화 성능을 보다 체계적으로 검증할 필요가 있습니다.

이러한 한계에도 불구하고, Kronos는 금융 시계열 분야에 "K-line은 곧 언어이며, 언어 모델링 패러다임이 그대로 적용될 수 있다"는 강력한 메시지를 던져줍니다. 시장 데이터를 이산 토큰으로 다루는 통합된 discretize-and-generate 패러다임은, 예측, 합성 데이터 생성, 변동성 모델링, 투자 의사결정에 이르기까지 정량적 금융의 다양한 응용을 하나의 백본 위에서 처리할 수 있는 길을 열어줍니다. 이는 LLM이 자연어 처리의 모든 과제를 통합한 것과 본질적으로 같은 흐름으로, 향후 정량적 금융 분야에서 파운데이션 모델 시대의 본격적인 시작을 알리는 이정표가 될 것입니다.

:scroll: Kronos: A Foundation Model for the Language of Financial Markets 논문

:github: Kronos GitHub 저장소

Kronos GitHub 저장소에서는 K-line 데이터를 위한 사전 학습된 파운데이션 모델 Kronos의 공식 구현체로, 토크나이저와 자기회귀 모델 코드, 사전 학습 체크포인트, 다양한 시장에서의 예측 예제 노트북을 제공합니다.

:hugs: Kronos 모델 (Hugging Face)

Kronos-small(24.7M), Kronos-base(102.3M), Kronos-large(499.2M) 세 가지 크기의 사전 학습된 모델과 토크나이저 체크포인트가 공개되어 있습니다.

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: