Kronos K线预测教程:5行代码跑出第一次股价预测
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
把一份K线CSV丢给Kronos,它能接着最近的走势给出未来几十根K线的高低开收与成交量预测;换个姿势跑回测,还能画出策略相对基准指数的累计收益曲线。这是一个在45个以上全球交易所K线数据上预训练的开源金融大模型,跟着下面的步骤,你可以在自己电脑上跑通第一次预测。
📌 一句话认识Kronos
两句话讲清它是什么。
Kronos 是一个专门给K线序列做的"decoder-only"基础模型(decoder-only 即只看过去、往后逐条生成,和聊天大模型同构),也是首个开源的金融K线基础模型。它面对的人群是两类:想用AI辅助看盘的普通投资者,以及要做量化回测的开发人员。解决的核心问题也很直接:K线自带开高低收、成交量五个维度,噪声又大,传统指标各说各话,而Kronos把这堆数据当成一种"语言"整体来学,输出一条完整、连贯的未来K线预测。
🔍 它是怎么做到的
把它当成一个K线语言模型。
先把K线"翻译"成离散符号
你看到的每根K线是连续浮点数,模型学不动。所以Kronos第一步用一个分词器(tokenizer,相当于把句子切成词的翻译器)把OHLCV五个维度的数据量化成一串层次化的离散令牌——就像把K线图转写成一串"K线拼音",粗粒度和细粒度两层,整体趋势和局部波动都不丢。
自回归地"猜下一根"
拿到令牌序列后,一个因果Transformer(只看历史、不偷看未来的注意力网络)按自回归方式训练:给定前面所有K线令牌,预测下一根K线的令牌。这和语言模型猜下一个词是同一个套路,只是词表换成了K线。
采样生成再还原成价格
预测时通过温度、核采样(top_p)等参数从概率里抽若干条未来路径再平均,最后做反归一化,把令牌翻译回真实价格。模型支持 mini / small / base 三种规格,参数量从4.1M到102.3M,mini 在普通笔记本上就能跑。
🚀 从0到第一次出结果
半小时能跑起来。
第1步:装环境。需要Python 3.10+,克隆仓库后装依赖:
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos && pip install -r requirements.txt第2步:跑起来。不写代码的路径最省事——项目自带Web界面,在 webui/ 里执行:
cd webui && python run.py然后浏览器打开http://localhost:7070,上传包含 open/high/low/close 列的CSV,选模型规格(mini/small/base)和设备(CPU/CUDA/MPS),点预测即可。
想走代码路线,最小示例如下(完整可运行版在 examples/prediction_example.py):
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("data.csv"); df["timestamps"] = pd.to_datetime(df["timestamps"]) pred_df = predictor.predict(df=df.iloc[:512], x_timestamp=df["timestamps"].iloc[:512], y_timestamp=df["timestamps"].iloc[512:632], pred_len=120)第3步:看结果。pred_df就是未来时间点上逐根的 OHLCV 预测值,打印前几行即可核对;predict_batch还能一次并行预测多只标的。注意 small/base 的上下文上限是512根K线,超长输入会被自动截断(mini 支持2048)。
📊 效果怎么样
先说结论:官方示例里曲线跟得不错,回测能跑赢基准,但演示流程只是简化版。
官方示例用某只A股的5分钟数据,取400根K线做历史、预测后120根,收盘价和成交量的预测曲线(红色)整体贴着真实走势(蓝色)走:
真实个股的综合分析样例(在官方示例中,含价格、成交量与涨跌幅分析)长这样:
回测方面,官方微调示例对测试集做推理后走"Top-K选股"策略,策略累计收益曲线(彩色)大部分时间跑赢沪深300基准(黑色虚线),超额收益持续为正:
需要留意:官方README明确说明这条回测管线是简化演示,并非生产级量化系统,实盘前要做组合优化、风险因子中性化等额外工作。
🎯 适合谁用
看你对接的是鼠标还是代码。
个人投资者 / 量化新手
- 零代码看盘:Web界面上传CSV就能出预测,温度、采样参数都有滑块可拖
- 个股方向参考:批量看几只票的未来K线形态,辅助判断趋势
- 快速学习:examples/ 里十几个脚本覆盖单股、批量、无成交量等场景
量化开发人员
- 自有数据微调:finetune/ 提供基于Qlib的A股微调+回测完整管线;finetune_csv/ 支持任意CSV(含港股5分钟K线)顺序训练
- 批量推理:
predict_batch利用GPU并行,适合组合级预测 - 集成回测:预测输出就是标准DataFrame,直接进你的回测框架
❓ 常见疑问
几个最容易被问到的。
Q:没有显卡能跑吗?能。mini 版只有4.1M参数,CPU即可;Web界面同时支持 CPU、CUDA、MPS 三种设备。
Q:数据要满足什么格式?必须包含 open、high、low、close 四列,volume、amount 可选(缺了自动补0),时间戳列名为 timestamps/timestamp/date 均可。
Q:历史数据给多少合适?small/base 建议 lookback 不超过512根,超长会自动截断;mini 可给到2048根。
Q:预测结果能直接当买卖信号吗?不建议。预测本身是带随机采样的概率分布(可调 sample_count 取多条路径平均),且官方回测只是简化演示,请务必先自己回测验证。
核心源码在 model/,从安装到第一次预测的路径就到这里。最后提醒一句:Kronos 是研究用的开源工具,输出仅供技术参考,不构成任何投资建议;股市有风险,入市需谨慎。
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考