Kronos金融大模型:5分钟跑通首次K线价格预测
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
Kronos 是面向金融K线的开源基础模型,输入一段K线CSV即可输出未来多期的价格与成交量预测,适合个人投资者、量化新手和想搭建股票预测原型的开发者。
场景:你手里有一份K线CSV
你有一段某只股票的5分钟K线(open、high、low、close、volume 和时间戳),想生成未来 120 期的走势。自己写技术指标容易互相矛盾,通用时序模型又难处理金融数据的高噪声特性。Kronos 针对这一步设计:输入历史K线,直接输出未来的 OHLCV 序列,归一化和反归一化都内置在预测器里。
Kronos 是什么:开源金融基础模型概览
Kronos 是首个专为金融K线训练、完全开源的 foundation model,训练数据覆盖 45 个以上全球交易所,论文被 AAAI 2026 收录。它是一族 decoder-only 自回归 Transformer,共四个规格:mini(4.1M 参数,上下文 2048)、small(24.7M,上下文 512)、base(102.3M,上下文 512)、large(499.2M,未开源)。项目采用 MIT 协议,要求 Python 3.10+,推理支持 CPU、CUDA 和 Apple MPS,mini 规格可在普通笔记本上运行。
Kronos 安装步骤:环境准备与首次跑通
先克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt准备一份包含 open、high、low、close 列(volume 可选)和 timestamps 列的 CSV,然后在项目根目录运行最小预测脚本。首次运行会自动从 Hugging Face 下载模型权重:
from model import Kronos, KronosTokenizer, KronosPredictor import pandas as pd tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base") model = Kronos.from_pretrained("NeoQuasar/Kronos-small") predictor = KronosPredictor(model, tokenizer, max_context=512) df = pd.read_csv("your_kline.csv") df["timestamps"] = pd.to_datetime(df["timestamps"]) pred_df = predictor.predict(df=df.iloc[:400], x_timestamp=df["timestamps"][:400], y_timestamp=df["timestamps"][400:520], pred_len=120) print(pred_df.head())完整可运行脚本见 examples/prediction_example.py。不写代码也可以:执行cd webui && python run.py后在浏览器打开 http://localhost:7070 ,选择数据文件、模型规格和时间窗口即可出图。
Kronos 工作原理:从K线到Token
Kronos 把预测拆成两级。第一级是分词器:把每根K线的 OHLCV 多维数据量化成粗、细两种粒度的离散 token,相当于把K线"压缩"成词——粗粒度 token 描述整体形态,细粒度 token 保留局部细节。第二级是在这套"K线语言"上预训练的因果 Transformer:每个块同时包含自注意力与跨块注意力,配合交叉注意力和共享参数,让信息在不同时间尺度间传递。
推理时模型自回归地逐 token 生成,再经线性头解码回价格与成交量。由于分词和预测是解耦的,你可以只微调其中一级来适配自己的市场数据。
Kronos 预测效果与边界对比
官方示例中,某只 A 股 5 分钟K线的收盘价与成交量预测(未来 120 期)与真实值走势基本贴合,趋势和量能起伏都能还原:
回测侧,官方流程用 Qlib 处理 A 股日线数据、微调后跑 top-K 策略:累计收益曲线持续跑赢沪深300基准,超额收益持续为正、最高约 0.15。效率方面,predict_batch支持多序列并行,官方描述沪深300成分股批量预测约 8 分钟完成。
单股分析图还会同时给出价格、成交量、波动率与市场因素的综合评分,例如 000021 的预测分析:
边界需要说清楚:该回测是简化的 top-K 演示,README 明确标注不是生产级交易系统,未包含交易成本、滑点和风险因子中性化;large 规格未开源;small/base 上下文只有 512,直接喂入多年的分钟级数据会被截断;微调依赖 pyqlib 和 torchrun 多卡训练,门槛不低。
Kronos 常见坑与排查
- 现象:首次运行卡住或报连接错误。原因:模型权重托管在 Hugging Face,默认网络不稳定。解决:设置 HF_ENDPOINT 镜像环境变量后再运行。
- 现象:CPU 推理极慢或内存溢出。原因:Kronos-base 有 102.3M 参数,超出普通 CPU 承载。解决:换用 Kronos-mini(4.1M 参数),注意配套分词器是 Kronos-Tokenizer-2k,且上下文变为 2048。
- 现象:输入超过 512 行时,远期历史像没生效。原因:Kronos-small/base 上下文长度为 512,预测器只保留最近 512 个点。解决:把回看窗口控制在 512 以内,需要更长上下文时用 mini。
- 现象:predict 报类型错误。原因:timestamps 列仍是字符串。解决:先执行
pd.to_datetime(df["timestamps"]),再按行号切出 x、y 两段时间戳。
下一步
先跑通 examples/prediction_example.py,熟悉数据格式与输出结构;接着用 finetune/ 目录在你自己的市场数据上微调分词器和预测器,再回测验证;若要接入实盘,需在原始信号之上叠加组合优化与风控,而不是直接采用模型输出。
风险提示:Kronos 输出属于统计意义上的预测,不构成投资建议,据此操作风险自担。
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考