金融市场的历史数据构成了最丰富的结构化时间序列来源之一。然而,与自然语言不同,金融 K 线数据(也称为 K 线或蜡烛图)具有独特的统计特性 —— 低信噪比、强非平稳性、以及 OHLCV(开盘价、最高价、最低价、收盘价、成交量)属性之间的高阶依赖关系。这些特性使得通用时间序列基础模型(TSFM)在金融任务上往往表现不佳。
Kronos 是首个针对金融 K 线数据设计的开源基础模型,它通过一个专门的两阶段框架解决了这一问题:首先使用专门的 Tokenizer 将连续的 K 线数据量化离散为层次化 Token,随后通过大规模自回归预训练学习市场动态表示。该模型在价格预测任务上将 RankIC 提升了 93%,显著超越现有最佳 TSFM,并在 AAAI 2026 获得发表。
金融领域为何需要专用基础模型
通用时间序列基础模型的预训练语料库中,金融数据占比极低。根据 Kronos 论文中的统计数据,主流 TSFM 的金融数据比例通常不足 1%,例如 Chronos 约为 0.45%、Moirai 约 0.1%、TimesFM 低于 0.01%。这种数据不平衡导致通用模型难以捕捉金融市场独特的非平稳性和高噪声特征。
金融 K 线数据(OHLCV)具有与其他时间序列截然不同的特性。价格序列的低信噪比意味着模型需要在大量随机波动中识别真实的价格趋势信号;强非平稳性要求模型能够适应不同市场环境(牛市、熊市、震荡市);而 OHLCV 各维度之间的复杂高阶依赖关系则需要专门的特征提取机制。通用 TSFM 通常将这些数据视为普通连续值序列进行处理,无法充分利用 K 线数据内在的结构信息。
Kronos 的解决方案是从零开始在超过 120 亿条 K 线记录上进行预训练,这些数据来自 45 个全球交易所、覆盖 7 个时间粒度(从 1 分钟到周线)、涵盖股票、期货、加密货币和外汇等多个资产类别。这种大规模领域专用预训练使模型能够学习到金融市场的通用表示。
层次化 Tokenizer:离散化金融 K 线数据
Kronos 的核心创新在于其专门设计的 Tokenizer,它将连续的、多维 K 线数据转换为离散的 Token 序列。这一过程借鉴了视觉生成模型中的量化技术,特别是 Binary Spherical Quantization(BSQ)。
从连续到离散:为何需要 Token 化
将连续金融数据离散化有多重优势。首先,量化过程本质上是一种强正则化形式 —— 它限制了单点异常值的影响,每个数据点的影响被 “封装” 在有限的 Token 中。其次,有限的离散状态空间显著提高了样本效率:语义相似但数值略有不同的输入可以被映射到同一 Token,从而增加了每个离散状态的观测数量。这对于建模稀有市场现象(如流动性冲击响应)尤为关键,因为这类现象的数据通常非常稀疏。
更重要的是,BSQ 的球面投影保证了量化误差具有严格的上界。具体而言,对于维度为 L 的码本,期望的量化误差满足:E||u-u'|| <√(2-2/√L) < √2。这意味着随着码本维度增加,误差上界会收紧,从而提供了更精细的表示能力。
粗细结合:层次化 Token 结构
Kronos 的 Tokenizer 将每个 K 线观测 x_t(一个 6 维向量,包含 OHLCV)转换为一个由粗粒度子 Token 和细粒度子 Token 组成的复合 Token。这一设计受到了视频生成领域中粗细 tokenization 思路的启发,但在金融时序数据上进行了针对性适配。
具体实现上,Kronos 使用 20-bit 的二进制编码,将其分解为两个 10-bit 的子码本(n=2)。这种分解具有重要的工程意义:如果不进行分解,一个 20-bit 的词表将包含约 100 万个词条,导致词汇表相关参数达到 17 亿级别,使模型体积膨胀约 95%。通过分解为两个子词表,词汇表参数从 17 亿降至 340 万,总参数量减少约 95%,同时保持了足够精细的表示能力。
Tokenizer 的训练采用复合损失函数:L_tokenizer = L_coarse + L_fine + λL_quant。其中 L_coarse 只使用粗粒度子 Token 重建输入,训练其捕获主要结构;L_fine 使用完整 Token 进行高保真重建;而 L_quant 是 BSQ 的量化损失,确保连续潜在向量与二进制代码对齐。这种层次化重建目标确保粗粒度 Token 学习市场的主要趋势,而细粒度 Token 则编码细化信息用于修正。
自回归预训练:学习市场动态
完成 Token 化后,Kronos 使用标准解码器 - only Transformer 进行自回归预训练,目标是根据历史 Token 序列预测未来的 Token 序列。
层次化预测机制
Kronos 的一个重要设计是在预测阶段也保持层次化特性。在每个时间步 t,模型首先预测粗粒度子 Token b_t^c,然后以该预测为条件再预测细粒度子 Token b_t^f。这种顺序预测机制具有双重优势:它显式建模了粗细粒度之间的条件依赖关系,且采用分层采样而非教师强制(teacher forcing),有助于缓解暴露偏差问题。
在具体实现上,粗粒度 Token 通过标准自注意力机制预测,而细粒度 Token 的预测则使用跨注意力机制 —— 将已预测的粗粒度 Token 的嵌入作为 Query,历史上下文隐藏状态作为 Key 和 Value。这种设计确保了预测的顺序依赖性。
训练配置与超参数
Kronos 提供了四种规模的模型变体以适应不同计算资源和应用场景。Kronos-mini 仅有 410 万参数,上下文长度 2048 个 Token;Kronos-small 有 2470 万参数,上下文 512 个 Token;Kronos-base 达 1.023 亿参数;Kronos-large 则为 4.992 亿参数。
预训练采用标准的 next-token 预测目标,使用交叉熵损失。模型采用 AdamW 优化器和余弦学习率调度,包含 15000 步的线性 warm-up 阶段。不同规模模型采用不同的峰值学习率(Kronos-small 为 1e-3,Kronos-base 为 5e-4,Kronos-large 为 2e-4)和权重衰减策略。上下文长度限制为 512 个 Token,但这足以覆盖大多数实际应用场景 —— 例如使用 1 分钟数据预测短期走势,或使用日线数据预测中长期趋势。
推理策略与采样控制
在推理阶段,Kronos 通过温度采样(Temperature Scaling)和核采样(nucleus sampling)来控制生成随机性。实验表明,不同任务需要不同的采样策略:价格预测等精确任务偏好较低温度(约 0.6)和较小的 top-p(约 0.9),以获得更确定性的输出;而波动率预测和合成数据生成等任务则受益于较高温度(约 1.0)和更大的核(≥0.9),以保留更多样性和随机性。
Kronos 还支持测试时扩展(test-time scaling):通过生成多条未来轨迹并取平均,可以持续提升预测精度。实验显示,随着采样路径数量增加,IC 和 RankIC 指标稳定提升,这为实际部署提供了计算精度权衡的灵活空间。
数据预处理与质量控制
大规模金融数据的质量是预训练成功的关键。原始 K 线数据通常存在多种质量问题:低流动性期间的虚假信号、价格涨跌停导致的数据异常、合约展期和股票分红引起的跳空缺口等。
Kronos 的预处理管道包含两阶段过滤。第一阶段按价格跳变进行结构断点分割:当相邻 K 线的 close-to-open 相对变化超过频率特定阈值时,序列被分割。这有效隔离了合约换月、股票分红等事件引起的数据断裂。第二阶段在每个分段内识别低质量和停滞区间:持续低成交量(流动性枯竭)和持续价格不变(数据馈送问题或市场休市)的时段被标记为无效。最终只保留满足最低长度要求的有效分段。
针对成交量和成交额数据,Kronos 采用零值填充策略处理缺失值,并引入正则化技术:在训练时随机将 5% 的样本的成交量和成交额设为零,强制模型学习仅基于价格信息进行预测的能力。这一设计增强了模型在成交量数据不可靠或不可用场景下的鲁棒性。
下游任务适配与微调
Kronos 原生支持价格序列预测任务。通过 KronosPredictor 类,用户只需提供包含 OHLCV 的 DataFrame 和对应的时间戳,即可获得未来 K 线序列的预测结果。模型输出经过逆标准化处理,直接返回原始尺度的价格和成交量预测。
对于需要针对特定市场(如 A 股)进行优化的场景,Kronos 提供了完整的微调管道。微调分为两个阶段:首先微调 Tokenizer 以适应目标市场的数据分布,然后微调预测模型完成具体预测任务。GitHub 仓库提供了基于 Qlib 的 A 股数据微调示例,包括回测框架集成。
实践部署的关键参数
基于论文实验结果,以下参数配置可作为生产环境部署的参考起点:
推理采样方面,价格预测推荐 Temperature=0.6、top-p=0.9、sample_count=10 以获得稳定的预测信号;波动率预测可适当提高 Temperature 至 0.9。模型规模选择上,在精度和延迟之间需要权衡 ——Kronos-small(24.7M)在大多数场景下已足够,Kronos-base(102.3M)适合对精度要求更高且计算资源充裕的系统。
需要特别注意的是,Kronos 的 max_context 对 Kronos-small 和 Kronos-base 均为 512 个 Token。输入数据长度超过此限制时,系统会自动截断。因此在使用 1 分钟 K 线数据时,512 个 Token 对应约 8.5 小时的历史;使用日线数据时则对应约一年半的历史价格。
小结
Kronos 代表了金融时序领域基础模型的重要进展。它通过专门设计的层次化 Tokenizer 将连续 K 线数据转换为离散 Token 序列,结合大规模领域预训练,学习到了金融市场的通用表示。实验结果验证了领域专用预训练的重要性 —— 在超过 120 亿条 K 线记录上训练得到的模型,在零样本设置下即超越了针对金融任务专门优化的非预训练模型。
这一工作的启示在于:通用大语言模型的成功经验可以迁移到特定领域,但需要针对领域数据的独特性质进行针对性适配。金融 K 线数据的离散化表示、层次化预测框架、以及针对市场特性的采样策略,都是这种适配的具体体现。随着更多领域专用基础模型的出现,我们可以期待 AI 在量化投资和金融风险管理领域发挥更大的价值。
资料来源:本文技术细节主要参考 Kronos 论文(arXiv:2508.02739)及 GitHub 官方仓库(shiyu-coder/Kronos)。