> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 微调 Kronos 来预测股市
- URL: https://www.hubwiz.com/blog/fine-tuning-kronos-to-predict-the-stock-market/
- Published: 2026-08-09T12:53:35.000Z
- Updated: 2026-08-09T12:53:35.000Z
- Description: 不需要数学学位。只是一次关于 Kronos 实验的诚实记录，而这次实验的结果出乎我的意料。
- Author: admin
- Tags: MODEL-ZOO, KRONOS, #Import 2026-10-14 14:41

有一个叫 Kronos 的模型最近在网上很火。它在 GitHub 上有超过 23,000 颗星，一篇论文被严肃的 AI 会议（AAAI-2026）接收，还有一个实时演示展示它对未来 24 小时比特币的预测。它的一切看起来都令人印象深刻。

于是我做了一件顺理成章的事。我下载了它，把它对准比特币和 SPY（追踪标普 500 的基金），然后检查它是否真的能预测出什么。接着我用自己的数据进一步训练（实际上是**微调**）它，看看能否让它变得更好。这篇文章带你了解 Kronos 是什么、如何使用、是否有效，以及当我试图改进它时发生了什么。我尽量少用专业术语，下面每张图表都来自我自己的运行结果。

## 1、首先，什么是蜡烛图（K 线）？

价格图表通常以蜡烛图的形式绘制。每根蜡烛将一段时间的切片压缩成四个数字：开始时的价格、结束时的价格、达到的最高价和最低价。

![K线示意图](https://www.hubwiz.com/blog/content/images/2026/08/1-22BfPwmxclZ4l_XtbC-nMg.png)

绿色意味着价格收盘高于开盘，红色意味着收盘更低。在我的实验中，每根蜡烛代表一小时的交易。这就是 Kronos 的"食物"原材料。

## 2、那么 Kronos 是什么？

Kronos 是一个语言模型，只不过它的语言不是英语，而是蜡烛图。想想 ChatGPT 是如何工作的。你给它一些词，它根据从海量文本中学到的模式预测下一个词，然后下一个，以此类推。Kronos 对价格柱状图做的事情完全一样。它的作者用来自全球 45 多个交易所的超过 120 亿根蜡烛图训练了它，所以它见过大量市场历史。

![示意图](https://www.hubwiz.com/blog/content/images/2026/08/1-dldcPFDurr4MPz3klQipkg.png)

它由两部分组成。一个分词器（tokenizer）将每根蜡烛转变成类似"词"的东西，从一个固定大小的蜡烛形态词汇表中选取。然后一个 transformer——你用过每个聊天机器人背后的同一家族模型——学习继续这个序列。

## 3、你实际上如何使用它

你给它几百小时的近期价格历史，然后让它预测接下来的几个小时。由于它通过采样来工作，就像一个可以用多种不同方式表述答案的聊天机器人，你不会只得到一个预测。你运行它很多次，得到许多种可能的未来。

![示意图](https://www.hubwiz.com/blog/content/images/2026/08/1-GltH-AyZF6YNLFjwDKtKrw.png)

这确实很有用：中间路径就是你的预测，而所有路径的离散程度就是模型在告诉你它有多确定。离散度小意味着自信，离散度大意味着不确定。记住这个"离散度"，因为它后面还会出现。搭建它很容易：模型在 Hugging Face 上，代码在 GitHub 上，大约二十行 Python 就能跑出一个预测。

## 4、它到底好不好？纸面上看，很好

已发表的结果很强。论文报告称，在基准数据集上，它比其他预测模型有大幅改进，波动率预测更好，合成价格数据也更真实。它被 AAAI 2026 接收，这不是一个随便放行的会议。

这些都不是假的。但基准结果和"它对我关心的东西是否有效"是两个不同的问题，而回答第二个问题的唯一方法就是自己运行它。

## 5、我做了什么

两个实验，按顺序进行。

- **实验一：开箱即用是否有效？** 我让 Kronos 预测比特币 24 小时后的价格，共 100 次；预测 SPY 一个交易时段后的价格，共 60 次，每次只使用该预测之前可用的数据。
- **实验二：用我自己的数据训练它是否有帮助？** 大多数人的直觉是，通用模型加上近期本地数据应该胜过单独的通用模型。我用两个版本测试了这一点：一个用最近两个月的市场数据训练，一个用最近三年的数据训练。

数据是 45 只交易活跃的美国股票和基金的小时级蜡烛图，约 228,000 行，覆盖 2023 年 9 月到 2026 年 8 月，从 Yahoo Finance 下载，另外还有来自 Binance 的比特币小时级蜡烛图。所有内容都运行在我桌面上的一台 NVIDIA DGX Spark 上。

## 6、最重要的一件事：你的对照基准是什么？

这就是大多数"我的 AI 预测市场"帖子翻车的地方，所以值得放慢脚步说清楚。

我把每个预测都与最懒惰的预测——"明天会和今天一模一样"——进行比较。在预测领域这被称为随机游走（random walk），而在流动性强的市场上，它出奇地难以战胜。如果一个模型无法打败"假设什么都不变"，那它就没有学到任何关于未来的有用信息。

> *所以下面每张图表中，问题不是"模型预测得准吗？"。问题是"模型比什么都不做更准吗？"*

## 7、我是如何训练的

几个影响结果的细节，用大白话说：我只训练了模型的后半部分——做预测的那部分，分词器保持原样。分词器是从数十亿个示例中学习到的蜡烛形态共享词汇表，在我这点小数据上重新训练它会毁了它。

我还必须修复示例训练代码中一个隐蔽的 bug。它把所有股票代码堆叠成一个长文件，然后在其上滑动一个窗口，这会悄悄制造出"从一家公司开始、在另一家完全不同公司结束"的虚假示例。我重写了它，确保没有任何训练示例跨越不同的股票代码。

而且我在时间上非常严格。测试期间的数据，甚至与第一个测试点同一小时的数据，都不允许进入训练。人们很容易不小心让模型"看到未来"，然后为结果兴奋不已。

## 8、结果，第一部分：开箱即用

这是 Kronos 与"什么都不做"基准相比的准确度。零意味着两者一样好。低于零意味着模型比什么都不做更差。

![对比图](https://www.hubwiz.com/blog/content/images/2026/08/1-PJApWacBYyGQheohwEWu2Q.png)

每一根柱子都向下。在比特币 24 小时预测上，它的误差是"简单假设价格不变"的两倍多。在方向上——价格最终是涨还是跌——它在比特币上 100 次里对了 50 次，这和抛硬币差不多。

![方向准确率图](https://www.hubwiz.com/blog/content/images/2026/08/1-75QMLYKUaH-xY6ZuaaD1rg.png)

第二张图更让我困扰：还记得那个"可能未来的离散度"吗？这个离散度本应在约 80% 的时间里包含真实结果。而实际上，它包含真相的比例最低只有 21%。模型采样出的许多未来彼此一致，却集体错误。"自信地错"是一个预测模型最糟糕的状态，因为一个承认不确定性的模型至少还能用。

## 9、结果，第二部分：我训练了它，结果更差了

两个训练版本都在相同的 21 个交易日、从相同的起点，与未动过的原始模型进行了对比。下面是每一个预测与市场实际走势的对比。

![对比图](https://www.hubwiz.com/blog/content/images/2026/08/1-s2bzxM5rxQTSKO8lOeJq0Q.png)

黑线是现实。灰色虚线是懒惰的"假设什么都不变"预测。三条彩色线是各个模型，它们在整张图上都紧贴着灰色虚线，而不是黑线。看看 7 月 29 日，SPY 一天内下跌了约 1.5%，三个模型没有一个预见到。

![对比图2](https://www.hubwiz.com/blog/content/images/2026/08/1-vElrT4ebtpx4yqG06zDroQ.png)

正确评分后得到下表：原始的、未动过的模型赢了。训练两个月让它略微变差。训练三年让它明显变差。这与"数据越多越好"的预期相反，所以有趣的问题是为什么。

![评分表](https://www.hubwiz.com/blog/content/images/2026/08/1-ESuFNSuPrNFHtGXNZYiVVA.png)

答案就在这张图里，它是我整个项目最喜欢的成果。左边是模型认为价格会波动多少。SPY 一天通常波动约 0.8%，而原始模型预测的波动只有 0.27%。它一直在含糊其辞。训练教会了它正确的幅度，三年版几乎精确地做到了这一点，达到 0.76%。这是真正的学习。

![波动幅度图](https://www.hubwiz.com/blog/content/images/2026/08/1-tM-S4RWxHscqVMrHh-CuQA.png)

右边是模型是否把方向搞对了，而训练几乎没有任何改变。把这两者放在一起，你就得到了一个学会了"下更大的注"却没有学会"下更准的注"的模型。幅度对但方向错的大注会产生更大的亏损，而这正是训练版本落后于原版的全部原因。

这里还有一个关于原始模型的很好的附带教训。它得分高，部分原因是它几乎不对任何事情下注，而预测"大致不变"本质上就是"什么都不做"基准的伪装。含糊其辞不等于正确。

## 10、我反驳自己结果的部分

我本可以到此为止，讲一个干净利落的故事，但数据并不支持一个干净利落的故事。21 个交易日是一个非常小的测试。当我正确地运行统计检验时，每个结果的置信度都太低，无法下结论。

![统计图](https://www.hubwiz.com/blog/content/images/2026/08/1-0ZPxkOmvfNbLue2wnvNUFg.png)

每根柱子显示的是"模型比基准好多少或差多少"的合理取值范围。每一个都跨越了零，这意味着对三个模型来说，"*不比什么都不做好*"仍然是一个完全合理的答案。

![敏感性图](https://www.hubwiz.com/blog/content/images/2026/08/1-5aSclEfFEjJuUKJ6hMBOgg.png)

然后还有这张，这是我画出的最令人谦卑的图。两根柱子是同一个完全未动过的模型。唯一的区别是我测试的天数和喂给它的历史数据量。分数相差 48 分。如果改变测试设置就能让数字移动这么远，那么小规模测试的任何单一结果都不值得太多信任。

## 11、我能说什么，不能说什么

- **我能说的：** 用近期市场数据训练这个模型没有帮助，而用三年数据训练让它变得更差。这个结果在我所有的度量方式下都成立，而且背后有清晰的解释。
- **我不能说的：** Kronos 没用——我的测试太小，无法证明这一点，而且有几个选择对模型不利。我喂给它的历史数据少于它设计所需，我从未调整过它的采样设置，我用的中等大小版本而非最大版本，而且我在一段相当平稳的市场行情中进行测试。

更大的收获其实与市场无关。在自己数据上微调基础模型，感觉上应该总是有帮助的，而且它确实教会了这个模型一些真实的东西。只是它教会了错误的那种"真实"。学会某样东西波动有多大，不等于学会它会往哪个方向走，而只有后者才能赚钱。

---

原文链接: [I Finetuned a Viral AI Model (Kronos) to Predict the Stock Market.](https://medium.com/towards-deep-learning/i-finetuned-a-viral-ai-model-kronos-to-predict-the-stock-market-59412a1be8b1?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处