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-smallKronos-base 的上下文长度为 512,输入数据超过此长度会被自动截断。
  • 输出解读:Kronos 输出的是对未来 OHLCV 的预测数值,而不是直接的“涨”或“跌”信号,需要你进行后处理。
  • 训练微调:项目提供了完整的微调流程示例,包括基于 Qlib 框架对中国 A 股市场数据的微调。

Kronos 为量化爱好者提供了一个强大的新工具,它将 LLM 的思路用于金融时间序列预测,底层逻辑很前沿。不过,就像任何预测工具一样,在实际应用前需要充分测试其有效性。

参考资料