新浪财经

K线即语言:Kronos 开源金融时序基础模型

市场资讯 04.12 22:18

(来源:磐创AI)

你有没有想过,K线图本质上也是一种"语言"?

每根K线记录的是一段时间内的开盘价、收盘价、最高价、最低价——这些数字的排列组合,其实隐藏着市场的情绪和规律。

最近发现一个挺有意思的开源项目:Kronos,刚被 AAAI 2026 接收。它是第一个开源的金融K线基础模型,用训练 LLM 的思路来处理金融时序数据。

15K+ Stars,说实话让我有点意外——这个方向之前一直被传统量化那边主导,没想到开源社区能做这么好。

核心思路:把K线当"语言"来处理

Kronos 的做法挺巧妙的。它不是直接把 OHLCV 数据扔进模型,而是分两步走:

  1. 1. Tokenizer 量化:把连续的、多维的 K线数据(OHLCV)转换成离散的 token 序列——就像把文字转换成词表中的词
  2. 2. Transformer 生成:用大规模的 autoregressive Transformer 在这些 token 上做预训练

这样做的最大好处是:金融数据的噪声非常大,直接用数值预测效果往往不好。但 token 化之后,模型学到的是"K线形态"而不是"具体价格",泛化能力会强很多。

训练数据来自 45 个全球交易所,覆盖范围够广。

小巧但能打:模型家族

Kronos 发布了一整套模型,从迷你到大型都有:

模型Tokenizer参数量开源
Kronos-miniKronos-Tokenizer-2k4.1M
Kronos-smallKronos-Tokenizer-base24.7M
Kronos-baseKronos-Tokenizer-base102.3M
Kronos-largeKronos-Tokenizer-base499.2M

最让我惊喜的是 Kronos-small 只有 24.7M 参数——我的 MacBook Air 都能跑起来做预测。官方还很贴心地提供了 Live Demo,直接看效果:

👉 Live Demo(BTC/USDT 24小时预测)

用起来有多简单?

官方给的示例代码非常简洁,基本上就是"加载模型→喂数据→出结果"三步走:

from model import Kronos, KronosTokenizer, KronosPredictor# 加载模型tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")model = Kronos.from_pretrained("NeoQuasar/Kronos-small")# 初始化预测器predictor = KronosPredictor(model, tokenizer, max_context=512)# 准备数据(需要 OHLCV)lookback = 400pred_len = 120x_df = df.loc[:lookback-1, ['open', 'high', 'low', 'close', 'volume']]x_timestamp = df.loc[:lookback-1, 'timestamps']y_timestamp = df.loc[lookback:lookback+pred_len-1, 'timestamps']# 预测pred_df = predictor.predict(    df=x_df,    x_timestamp=x_timestamp,    y_timestamp=y_timestamp,    pred_len=pred_len,    T=1.0,    top_p=0.9,    sample_count=1)

说实话,这个代码量比我之前折腾的那些时序预测模型少多了。

支持微调

Kronos 不仅仅是个推理工具,还提供了完整的微调流程。官方用 A股市场做了示例:

  1. 1. 配置数据路径(支持 Qlib)
  2. 2. 预处理数据
  3. 3. 先微调 Tokenizer
  4. 4. 再微调 Predictor
  5. 5. 回测评估

微调脚本都开源了,步骤写得很清晰,跟着走能跑通。不过官方也提醒了:raw signal ≠ 真实 alpha,实盘之前需要加风控、组合优化这些额外的步骤。

值得关注的点

有意思的地方:- 两阶段训练的设计思路——tokenizer 学数据分布,transformer 学时序规律- 分层 token 的量化方式,把连续金融数据变成离散序列- 最小模型 24M 参数就能跑,门槛不高

需要注意的地方:- 它预测的是 K线形态,不是价格本身- 论文被 AAAI 接收不等于已经过市场验证- 金融预测风险很大,别看到预测结果就冲进去

怎么用?

# 安装pip install -r requirements.txt# 克隆代码git clone https://github.com/shiyu-coder/Kronoscd Kronos# 看示例python examples/prediction_example.py

所有模型都在 Hugging Face 上可以直接下载:NeoQuasar/Kronos-smallNeoQuasar/Kronos-base 等。

说实话,之前我对"金融 + AI"这个方向有点偏见,总觉得要么是吹牛的,要么就是传统量化的老路。但 Kronos 这个做法确实让我眼前一亮——用基础模型的思路做时序预测,思路很清晰,开源也诚意十足。

感兴趣的朋友可以先玩一下 Live Demo,感受一下这个模型在 BTC 数据上的表现。

GitHub:https://github.com/shiyu-coder/Kronos

加载中...