Kronos
Kronos 是一个面向金融 K 线(蜡烛图)数据的开源基础模型,为量化预测而生。它并非针对 LLM 安全机制,而是与你在上一步提到的 Heretic 完全不同领域的产品。
简单来说,它的核心能力是读懂 K 线所代表的“市场语言”,并据此进行价格预测。模型已在来自全球超过 45 家交易所的数据上进行了预训练。
⚙️ 核心机制
Kronos 有两个核心技术,专门应对金融数据高噪声和非平稳性的挑战:
-
专属“翻译官”:分层 Tokenizer:这是一个核心的创新点。它不将金融数据看作简单的数字序列,而是将原始的 OHLCV(开盘价、最高价、最低价、收盘价、成交量)等多维连续数据,通过分层量化的方式,“翻译”成模型能高效处理的离散 Token。这比通用时间序列模型能更精准地保留市场波动的关键信息。
-
强大的“预测器”:自回归 Transformer:完成“翻译”后,模型使用仅解码器(decoder-only)的 Transformer 架构,以自回归的方式对 Token 序列进行预训练。这使得它能够捕捉 K 线图中前后时间点的依赖关系,并最终输出对未来价格的预测。
🗺️ 模型家族
Kronos 提供了不同规模的模型,以适应从入门测试到高性能预测的各种场景。所有开源模型都可以在 Hugging Face Hub 上直接获取。
| 模型 | 参数量 | 上下文长度 | 适用场景 |
|---|---|---|---|
| Kronos-mini | 410万 | 2048 | 入门测试、低资源设备 |
| Kronos-small | 2470万 | 512 | 单资产短周期预测(如5分钟线) |
| Kronos-base | 1.02亿 | 512 | 多资产中周期预测(如日线) |
| Kronos-large | 4.99亿 | 512 | 高性能场景(暂未开源) |
🚀 快速上手指南
Kronos 的设计理念是“开箱即用”。它的 KronosPredictor 类封装了从数据预处理、归一化到预测和反归一化的全流程。通过几步代码,即可得到预测结果。
1. 环境准备与安装
- 系统要求:需要 Python 3.10 或更高版本。如果想进行模型微调,则需要 GPU 支持。
- 硬件参考:运行最小的
mini模型进行推理,建议至少 8GB 内存和 4GB 显存。 - 安装命令:从 GitHub 克隆项目后,在项目根目录下运行以下命令即可安装所有核心依赖。
pip install -r requirements.txt
2. 基本预测代码 以下是一个最简化的预测流程示例:
# 1. 加载模型和分词器
from model import Kronos, KronosTokenizer, KronosPredictor
tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
model = Kronos.from_pretrained("NeoQuasar/Kronos-small")
# 2. 创建预测器
predictor = KronosPredictor(model, tokenizer, max_context=512)
# 3. 准备输入数据 (df 需包含 'open', 'high', 'low', 'close' 列)
# (此处假设已通过 pandas 准备好名为 df 的 DataFrame)
# 4. 生成预测
# pred_df = predictor.predict(df, ...)
更完整的示例和可视化脚本可以参考项目中的 examples/ 目录。
💡 注意事项
- 模型限制:
Kronos-small和Kronos-base的上下文长度为 512,输入数据超过此长度会被自动截断。 - 输出解读:Kronos 输出的是对未来 OHLCV 的预测数值,而不是直接的“涨”或“跌”信号,需要你进行后处理。
- 训练微调:项目提供了完整的微调流程示例,包括基于 Qlib 框架对中国 A 股市场数据的微调。
Kronos 为量化爱好者提供了一个强大的新工具,它将 LLM 的思路用于金融时间序列预测,底层逻辑很前沿。不过,就像任何预测工具一样,在实际应用前需要充分测试其有效性。
