shiyu-coder/Kronos — Kronos: A Foundation Model for the Language of Financial Markets
Kronos: 금융 시장 캔들스틱을 위한 파운데이션 모델
Kronos는 45개가 넘는 글로벌 거래소의 금융 캔들스틱 데이터를 학습한 오픈소스 시계열 모델입니다. OHLCV 데이터를 토큰으로 바꾼 뒤 Transformer로 학습하며, 예측과 배치 추론, 사용자 데이터 파인튜닝 절차를 제공합니다.
- 주제
에디터 노트
Kronos의 공개 범위는 모델 크기마다 다르고, 저장소가 제시하는 백테스트는 전략 성능을 입증하는 결과가 아니라 파인튜닝 절차를 보여주는 예제입니다. 공개 목록에는 4억 9,920만 파라미터의 large가 빠져 있으며, small과 base는 입력 길이가 512로 제한됩니다. 저장소도 top-K 전략에 포트폴리오 최적화와 위험 관리가 없고 거래 비용과 슬리피지를 반영해야 한다고 밝힙니다. 따라서 이 프로젝트에서 확인할 수 있는 것은 금융 시계열을 토큰화해 예측하는 모델 구조와 재현 가능한 실험 흐름입니다. 예제 백테스트를 실제 투자 성과의 근거로 읽을 수는 없습니다.
AI 요약
Kronos는 금융 시장의 캔들스틱, 즉 K-line 시계열을 대상으로 만든 디코더 전용 파운데이션 모델 계열입니다. 프로젝트는 45개가 넘는 글로벌 거래소에서 가져온 데이터를 학습에 사용했다고 설명합니다. 일반적인 시계열 파운데이션 모델과 달리 금융 데이터의 잡음이 큰 특성을 고려해, 연속적인 OHLCV 값을 먼저 계층형 이산 토큰으로 양자화하고 그 토큰 시퀀스를 대규모 자기회귀 Transformer로 학습하는 2단계 구조를 씁니다. 저장소에는 AAAI 2026 채택 소식과 arXiv 논문, 파인튜닝 스크립트 공개 안내가 올라와 있습니다.
모델과 추론
Hugging Face에서 토크나이저와 예측 모델을 불러온 뒤 KronosPredictor에 전달해 예측합니다. 입력은 과거 OHLC 데이터와 각 시점의 타임스탬프이며, volume과 amount는 선택 항목입니다. 예측하려는 미래 시점도 타임스탬프 배열로 지정합니다. Predictor는 전처리와 정규화, 예측, 역정규화를 처리하고 OHLCV 및 amount 예측값을 pandas DataFrame으로 반환합니다. T와 top_p로 샘플링을 조절하고 sample_count를 지정해 여러 예측 경로를 만들 수 있습니다.
모델 크기는 Kronos-mini 410만 파라미터, Kronos-small 2,470만, Kronos-base 1억 230만, Kronos-large 4억 9,920만입니다. 저장소 표에서 mini, small, base는 공개되어 있고 large는 공개되지 않았습니다. mini의 컨텍스트 길이는 2,048이며 small과 base는 512입니다. small과 base에 512보다 긴 과거 구간을 넣으면 Predictor가 입력을 자릅니다. 여러 시계열을 한꺼번에 처리하는 predict_batch도 제공하지만, 한 배치 안의 시계열은 과거 구간 길이와 예측 길이가 같아야 합니다. volume이나 amount가 빠지면 해당 값은 0으로 채웁니다.
파인튜닝과 백테스트
저장소는 Qlib 데이터를 이용해 데이터 전처리, 토크나이저 파인튜닝, 예측 모델 파인튜닝, 백테스트를 진행하는 예제 파이프라인을 제공합니다. 데이터와 체크포인트 경로, 학습 설정은 config.py에서 지정합니다. 전처리 스크립트는 데이터를 학습, 검증, 테스트 세트로 나눠 pickle 파일로 저장합니다. 이어 torchrun으로 토크나이저와 예측 모델을 각각 학습하고, 마지막에 테스트 세트 예측 신호를 이용해 간단한 top-K 전략을 평가합니다.
저장소는 이 파이프라인을 설명용 예제로 한정하며 실제 운용 가능한 퀀트 시스템은 아니라고 명시합니다. 예제 전략에는 포트폴리오 최적화와 위험 요인 중립화, 동적 포지션 크기 조절, 위험 관리가 포함되지 않습니다. 실제 성과를 추정하려면 거래 비용과 슬리피지, 시장 충격도 백테스트에 반영해야 한다고 안내합니다. 다른 데이터 형식에 맞추려면 데이터 로딩과 전처리 코드도 수정해야 합니다.
원문: GitHub / 번역·요약: Trawling