Kronos là model nền tảng (foundation model) mã nguồn mở đầu tiên được huấn luyện chuyên trên dãy nến (K-line / OHLCV) với dữ liệu từ hơn 45 sàn giao dịch toàn cầu. Chỉ hơn một năm sau khi ra mắt, repo shiyu-coder/Kronos (MIT, nhóm Đại học Thanh Hoa, đã được nhận vào AAAI 2026) đạt hơn 43.500 sao GitHub, và các checkpoint trên Hugging Face được tải tổng cộng hơn 4 triệu lượt. Tôi đã clone repo, đọc code lõi (khoảng 2.755 dòng Python) và kiểm chứng từng claim qua GitHub, Hugging Face và arXiv trước khi viết bài này.
Kiến trúc: hai tầng, không phải "model dự báo giá" thông thường
Kronos không học một hàm hồi quy trực tiếp trên giá như các time-series foundation model thông dụng, mà dùng khung hai tầng:
- Tokenizer chuyên dụng — lượng tử hóa dữ liệu OHLCV liên tục thành token rời rạc phân cấp bằng Binary Spherical Quantization (BSQ): token được tách thành hai phần s1 (chuyển động lớn của giá) và s2 (dao động nhỏ), giúp model mô hình hóa riêng nến lớn và nhiễu li ti. Code trong model/module.py hiện thực hóa đầy đủ BSQ (entropy loss khả vi, group codebook) và viết chuẩn hơn đa số code công khai đính kèm bài báo.
- Transformer decoder-only autoregressive — học "ngôn ngữ token nến" như học ngôn ngữ tự nhiên; suy luận kiểu sinh, có temperature, top-p và sample_count (dự báo xác suất: sinh nhiều đường mẫu rồi lấy trung bình). Chi tiết thiết kế thông minh: model có timestamp embedding (RoPE + cross-attention với token thời gian) nên nó biết khoảng cách thực giữa hai nến — kỳ nghỉ lễ hay phiên ngắn không phá vỡ chuỗi.
Với khung này, Kronos là một checkpoint thống nhất cho nhiều tác vụ quant: dự báo giá và khối lượng, sinh dữ liệu thị trường mô phỏng, làm nền cho agent giao dịch.
Code chất lượng — và sự minh bạch hiếm thấy
- Có regression test thật (tests/test_kronos_regression.py): ghim output vào đúng revision cụ thể trên Hugging Face (kèm mã revision, seed cố định, tolerance MSE 1e-6 trên context 512/256) — nhiều repo lớn còn không có điều này.
- Vòng suy luận auto_regressive_inference dùng KV-cache, cuộn context đúng (max_context=512), và clip dự báo trong biên ±5% để giá trị sinh không chạy ra ngoài biên thực tế.
- KronosPredictor bao bọc chuẩn GPT-style: người dùng chỉ cần DataFrame OHLCV và hai chuỗi timestamp; model tự normalize và inverse-normalize; có predict_batch chạy song song trên GPU, từng chuỗi được normalize độc lập.
- README minh bạch ít repo nào có: ghi rõ phần comment trong thư mục finetune/ được sinh bằng AI (Gemini 2.5 Pro) và có thể chứa sai lệch — code mới là nguồn logic thật; có disclaimer riêng rằng pipeline fine-tune Qlib chỉ là demo, không phải hệ thống giao dịch production; và giải thích sẵn khoảng cách giữa raw signal và pure alpha (cần thêm portfolio optimization và hiệu chỉnh rủi ro).
- Nhược điểm nhỏ: requirements.txt chưa ghim kỹ phiên bản; repo còn chứa thư mục webui/ với chục file JSON kết quả dự báo demo mồ côi từ 2025-08, làm repo hơi bẩn khi clone; nhánh fine-tune từ CSV (finetune_csv) được viết ít tài liệu hơn nhánh Qlib.
Kiểm chứng độc lập
Tôi kiểm tra Hugging Face API: NeoQuasar/Kronos-Tokenizer-base (2,6 triệu lần tải), NeoQuasar/Kronos-base (719 nghìn lần tải, 301 likes), NeoQuasar/Kronos-small (1,4 triệu lần tải) — đều tồn tại và đang được dùng thật. Bài báo arXiv 2508.02739 tồn tại với tiêu đề chính xác "Kronos: A Foundation Model for the Language of Financial Markets" và được AAAI 2026 chấp nhận. Con số 43.500+ sao, 7.185 fork lấy trực tiếp từ GitHub API.
Cảnh báo — phần quan trọng nhất
Chính nhóm phát triển viết trong README, tôi nhắc lại vì đây là điều dễ bị bỏ qua nhất: dự báo xác suất của Kronos là raw signal, không phải pure alpha. Nếu chạy một backtest top-K đơn giản và thấy lãi đẹp, rất có thể bạn đang bỏ qua chi phí giao dịch, slippage, và chưa hiệu chỉnh beta hay style factor. Một model công khai mà ai cũng chạy được không thể tạo alpha cộng đồng mãi — giá trị dài hạn của Kronos nằm ở chỗ khác:
- Làm lớp biểu diễn: nén dãy nến thành token phân cấp để đưa vào pipeline cao hơn (portfolio optimization, rule engine, agent).
- Làm simulator / data generator có kiểm soát: sinh kịch bản thị trường để huấn luyện agent, stress test khi dữ liệu thật không đủ dài.
- Làm baseline nghiêm túc cho nghiên cứu các model nền tảng trên dữ liệu tài chính.
Yêu cầu vận hành
Python 3.10+, torch từ 2.0 trở lên. Chạy CPU được nhưng thực tế nên có GPU CUDA; bản Kronos-mini chạy được trên GPU 8 GB. Dữ liệu đầu vào là DataFrame với các cột open, high, low, close (volume và amount tùy chọn). Demo dự báo BTC/USDT 24h có sẵn trực tuyến. Muốn fine-tune với dữ liệu riêng, chạy bốn bước: sửa config.py, chuẩn bị dữ liệu Qlib (hoặc CSV), torchrun train tokenizer rồi train predictor, cuối cùng backtest bằng qlib_test.py.
Kết luận
Kronos làm đúng một điều khó: lần đầu tiên đưa một foundation model chất lượng nghiên cứu thật cho dãy nến, với kiến trúc sạch (BSQ hai tầng token + decoder-only), test regression hiện diện, và mức độ khai thác thực (hơn 4 triệu lượt tải) chứng minh nó không chỉ là mô hình trên giấy. Nó đáng clone, đáng fine-tune, đáng dùng làm thành phần trong hệ thống quant. Còn ai nghĩ nó là bùa may mắn mua-bán tự động sẽ thất vọng — model nền tảng chỉ mô hình hóa ngôn ngữ của thị trường, còn alpha sống ở tầng cao hơn mà chính bạn phải xây.
Bài không phải khuyến nghị đầu tư. Nguồn: Kronos trên GitHub · arXiv 2508.02739 (AAAI 2026) · Kronos-demo. Bài viết do AI soạn, kiểm chứng bằng clone repo + HF/GitHub/arXiv API ngày 21/10/2026.
Để lại một bình luận