资讯动态

如何快速跑出第一份股票K线预测:Kronos开源金融模型完整指南

发布时间:2026/9/1 21:16:27 来源:尧图企业网站定制
如何快速跑出第一份股票K线预测Kronos开源金融模型完整指南【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos假设你手上有某只A股 400 根 5 分钟K线想看看模型对接下来 120 根K线会给出什么样的走法——这正是 Kronos 要解决的问题它是一个面向K线蜡烛图序列的价格预测模型输入一张含 open/high/low/close开盘、最高、最低、收盘和成交量的数据表输出未来时间段完整的K线预测表。不需要自己搭指标、做特征工程读完数据调用一次predict()就能出结果。项目速览一张表看清 Kronos 是什么条目内容一句话定位首个面向金融K线序列的开源基础模型预训练覆盖 45 家以上全球交易所的数据技术路线两阶段Tokenizer 先把连续K线量化成分层离散 tokenBSQ 二进制球面量化再由自回归 Transformer 做序列预测目标用户个人量化爱好者WebUI / Python 脚本、量化团队微调 回测管线运行要求Python 3.10PyTorch ≥ 2.0依赖见 requirements.txt开源协议MIT24.7M 参数的小模型在 CPU 上可跑批量推理建议 GPU模型家族按参数量分四档权重从官方模型库Hugging Face 上的 NeoQuasar 空间按 ID 拉取模型参数支持上下文长度是否开源Kronos-mini4.1M2048是Kronos-small24.7M512是Kronos-base102.3M512是Kronos-large499.2M512否原理拆解一根K线如何变成模型能读的 tokenKronos 的整体设计可以概括成一句话先压缩再预测。下面按数据流顺序讲两个关键环节每一段先看类比再看实现。类比一把K线压成条形码——Kronos Tokenizer 的两级量化你可以把分词过程想象成给每根K线贴一个条形码连续的价格、成交量数值被编码成一串离散的编号模型读的是编号而不是原始浮点数。技术上KronosTokenizer实现在 model/kronos.py用编码器 Transformer 把每个时间步的 OHLCV 向量映射到隐空间再交给 BSQuantizerBinary Spherical Quantization二进制球面量化切成两层 tokens1 粗粒度 token只保留一部分比特承载宏观走势信息相当于条形码的前缀s2 细粒度 token补齐剩余比特刻画微观细节。量化是有损的所以解码器会把 token 再还原回 K 线训练时用还原误差逼着量化过程尽量保真。这个过程在代码里就是两个函数indices tokenizer.encode(x) # K线 - 两级离散 token粗 s1 细 s2 recon tokenizer.decode(indices) # token - 重建的 K线用于训练校验量化还有一个附带好处预测从回归一条曲线变成了按条件生成一段 token 序列于是采样温度 T、核采样 top_p、多路径平均这些大语言模型里常见的控制旋钮在 Kronos 里同样可用。类比二补全句子——自回归 Transformer 的双头解码第二阶段的 Transformer 干的活和预测下一个词的语言模型同构给定历史 token 序列逐个推出下一个时间步的 token。区别在于它有两个词头主干 Transformer 先输出s1 的 logits即预测下一根K线的粗粒度 token再经过一个DependencyAwareLayer依赖感知层把 s1 的嵌入条件注入进来由第二个头输出s2 的 logits。也就是说细粒度 token 的生成显式依赖于已定下的粗粒度 token和先定骨架再补细节一致。时间戳会以时间嵌入的形式加进序列让模型感知周期位置整个主干是因果causal结构每个位置只看得到历史符合预测场景的信息边界。为什么值得先看原理再看效果因为后面所有的使用参数都能从原理里推出来max_context对应序列长度上限采样参数对应 token 生成的随机性predict_batch的并行性则来自token 序列 批量推理这套机制本身。理解这一点后官方文档里的参数就不会显得凭空出现。从零到跑通五分钟跑通第一次 Kronos K线预测最短路径有三步装环境、加载模型、调预测。第一步克隆仓库并装依赖git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronospip install -r requirements.txt第二步写预测脚本。官方示例 examples/prediction_example.py 的核心逻辑如下400 根历史K线做上下文预测 120 根import pandas as pd 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_context512) df pd.read_csv(./data/XSHG_5min_600977.csv) x_df df.loc[:399, [open, high, low, close, volume, amount]] x_timestamp df.loc[:399, timestamps] y_timestamp df.loc[400:519, timestamps] pred_df predictor.predict(dfx_df, x_timestampx_timestamp, y_timestampy_timestamp, pred_len120) print(pred_df.head())KronosPredictor封装了归一化、推理、反归一化返回的 DataFrame 按你传入的未来时间戳索引包含预测的 open/high/low/close/volume/amount 六列。若某只股票没有成交量数据可参考 examples/prediction_wo_vol_example.py 的写法缺列会被填 0 处理。第三步不想写代码就直接开 WebUIcd webui python run.py然后访问http://localhost:7070。界面里选 CSV 数据文件、选模型和计算设备CPU / CUDA / MPS 都支持用滑块选一段400 120的固定窗口点预测即可看到 K 线对比图。WebUI 给出的推荐采样参数是温度 T 取 1.2–1.5top_p 取 0.95–1.0采样数 2–3 条路径取平均。效果数据哪些数字有据可查这一节只列仓库里能验证的实测与官方数据不做外推。① 官方回归测试的预测误差。tests/test_kronos_regression.py 用固定种子、固定模型版本在 CPU 上做了确定性回归校验其中 30 步预测长度的 MSE均方误差越小越准为上下文长度预测 MSE5120.0089792560.003741注意这是同一份固定数据上的复现性校验值不是泛化到未知行情的误差用途是验证你跑出来的结果和官方一致而不是证明模型多准。② 微调后回测的形态证据。官方 A 股微调管线的回测脚本跑的是简单的 Top-K 策略产物形如下图策略累计收益曲线对基准指数的对照。官方 README 对这张图的态度要如实传达该管线是演示性质不是生产级量化系统高保真回测还需建模交易成本、滑点等。③ 可复现的社区示例。finetune_csv/examples/ 收录了用 5 分钟K线微调后对港股阿里巴巴09988的预测可视化examples/yuce/ 里则有 000021、002354、300207、600580 四只个股的综合分析 JSON 报告与优化预测图可作为微调后实际输出长什么样的参照。④ 学术背书。论文 arXiv:2508.02739已被 AAAI 2026 接收见 README News。需要说明网传的各种准确率 89%、千股 8 分钟之类的对比数字在仓库内找不到数据来源本文不采用。使用建议个人轻量使用与团队深度定制两条路个人轻量使用不训练只做推理。先用 WebUI 跑通一只股票建立直观感受再切到 Python 脚本做批量多资产并行用predictor.predict_batch()它利用 GPU 并行并对每条序列独立做归一化。算力有限就选 Kronos-mini4.1M 参数上下文 2048或 small 版CPU 也能完成单只推理。数据列名对齐[open,high,low,close]volume、amount 可选时间戳列转成 datetime 即可格式参考 finetune_csv/README_CN.md 里的 CSV 样例。团队深度定制在自己数据上微调。仓库提供两条完整管线按数据源选其一finetune/Qlib 路线面向 A 股日线。流程为改 finetune/config.py 里的路径 →python finetune/qlib_data_preprocess.py切分数据 →torchrun多卡依次微调 Tokenizer 和 Predictorfinetune/train_tokenizer.py、finetune/train_predictor.py→python finetune/qlib_test.py --device cuda:0出回测曲线。finetune_csv/CSV 路线适合港股/加密等任意来源的自定义数据。准备含 timestamps 与 OHLCV 的 CSV配一份 YAML参考 finetune_csv/configs/config_ali09988_candle-5min.yaml一条命令顺序训练python train_sequential.py --config configs/xxx.yaml多卡可加torchrun开启 DDP也支持--skip-tokenizer/--skip-basemodel只训单侧。两条管线共同的前提微调顺序是先 Tokenizer 后 Predictor因为下游模型消费的是上游产出的 token。边界与注意这些限制会直接影响你的结果上下文上限。small / base 的max_context是 512mini 是 2048。超过上限KronosPredictor会自动截断但官方建议历史窗口lookback不要超过该值否则你付了数据费用模型却没用上。批量预测的硬性约束。predict_batch要求所有序列的历史长度相同、预测长度相同DataFrame 必须含 OHLC 四列缺失的 volume/amount 会被填 0而不是报错。序列长度不一时先自己切片对齐。演示 ≠ 生产。官方对回测管线的免责声明值得完整保留Top-K 策略是起点而非策略原始预测信号在真实工作流里要经过组合优化和风险因子中性化市场 beta、市值、风格因子才能谈纯 alpha高保真回测必须建模交易成本、滑点与市场冲击。finetune/ 目录里还有 AI 生成的代码注释官方也提示注释可能有误以代码本身为准。模型可用性。Kronos-large499.2M未开源首次运行会自动下载权重断网环境需提前把 Tokenizer 和 Predictor 两个权重落到本地。预测本身的不确定性。K线是高噪声序列模型输出的是概率意义上的走法而非确定走势。采样参数T、top_p、sample_count不同同一段历史会得到不同预测路径把单次输出当标准答案是最常见的误用。收束它解决了什么没解决什么Kronos 目前把K线序列 → 未来K线这条路径做成了开箱即用的开源组件分词器、自回归主干、批量推理、微调管线和 WebUI 都有现成实现论文被 AAAI 2026 接收说明其方法经过了同行评审。它没解决的是策略层的工程问题——成本建模、风控、组合优化仍在使用者手里官方也明确划了这条线。如果你手边正有一批 OHLCV 数据最短的验证方式就是上面的五行代码先看模型怎么预测再决定要不要投入微调。【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价