Kronos-demo
金融时序预测基座模型 Kronos 的 Web 演示:通过 BSQ 分词器将 OHLCV 数据"语言
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
金融时序预测基座模型 Kronos 的 Web 演示:通过 BSQ 分词器将 OHLCV 数据"语言
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Kronos 项目 Logo
图2:BTC/USDT 24小时概率预测图表(蓝色=历史价格,橙色=预测均值,阴影=不确定性区间)
想象一下,如果你能提前 24 小时"看见"比特币的价格走势——不是精确数字,而是一张概率分布图:上涨概率 66.7%、可能波动的幅度区间一目了然。这正是 Kronos-Demo 正在做的事情:它不是一个普通的 K 线图工具,而是一套名为 Kronos 的金融时序预测基座模型的可视化演示页面。
Kronos 的核心假设颇具颠覆性:金融市场的历史价格数据,本质上也是一种"语言"——它有自己的"词汇"(价格模式)、"语法"(时序依赖)和"语义"(价格含义)。传统量化方法依赖手工设计的特征工程,而 Kronos 选择了一条更接近大语言模型的路:
预训练 + 领域微调。项目作者构建了一个专用的 Binary Spherical Quantization(BSQ)分词器,将 OHLCV(开盘价、最高价、最低价、收盘价、成交量)六维时序数据压缩为离散 token 序列——这类似于将连续的价格波动"翻译"成模型能理解的"单词"。
分词后的序列送入一个自定义的 Transformer 架构进行预训练,目标函数融入了可微熵正则化(Differentiable Entropy),让模型在学习压缩表示时兼顾信息保留与码本效率。预训练完成后,可在加密货币、股票、外汇等不同金融市场上进行微调适配。
Kronos-Demo 仓库本身是一个轻量级的前端项目,包含一个完整的 Web 预测仪表盘。用户打开 index.html 即可看到 BTC/USDT 的实时预测结果(数据来自 Binance 公开 API):
核心预测逻辑在 update_predictions.py 中实现:
predictor.predict(
df=x_df, x_timestamp=x_timestamp, y_timestamp=y_timestamp,
pred_len=24, # 预测 24 小时
T=1.0, # 温度参数,控制采样多样性
top_p=0.95, # Nucleus sampling
sample_count=30, # 30 次采样用于构造概率分布
verbose=True
)
模型推理需要加载两个 HuggingFace 模型:
NeoQuasar/Kronos-mini:主预测模型(mini 版本)NeoQuasar/Kronos-Tokenizer-2k:BSQ 分词器项目代码组织清晰,核心在 model/ 目录下:
| 模块 | 文件 | 职责 |
|---|---|---|
| KronosTokenizer | kronos.py | 将 OHLCV 时序数据编码为离散 token,基于 BSQ(Binary Spherical Quantization)量化方法 |
| Kronos | kronos.py | 主模型,Encoder-Decoder Transformer 架构 |
| KronosPredictor | kronos.py | 推理封装,提供统一的 predict() 接口,支持蒙特卡洛采样 |
| BinarySphericalQuantizer | module.py | 核心量化模块,可微熵计算,码本学习 |
这个项目并非开箱即用的"预测工具",而是一个研究级演示系统。本地部署需要满足以下条件:
model/ 模块。此外,Kronos 论文尚未正式发表(arXiv 链接指向 arxiv.org/abs/XXXX.XXXXX),主模型 Kronos-mini 尚未开源权重,仅 Demo 和 Tokenizer 公开。预测结果仅供研究参考,不构成任何投资建议。
Kronos 代表了一个值得关注的研究方向:将 LLM 的预训练-微调范式引入金融时序预测。传统时序模型(如 ARIMA、Prophet)依赖大量领域知识做特征工程,而 Kronos 通过"语言化"市场数据,让模型自己学习复杂的时空模式。
如果后续主模型权重正式开源,结合 Streamlit 或 Gradio 做 Web 封装,这类工具可以让量化研究员快速构建加密货币或其他金融资产的概率预测原型——这将大大降低金融 AI 的研究门槛。