
Kronos 快速上手:输入 400 根历史 K 线,预测未来 120 根走势【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos如果你手上有一段 5 分钟 K 线数据,想看看接下来 120 根会怎么走,Kronos 可以直接给出预测:取最近 400 根历史 K 线作为上下文,调用一次predict方法,就能拿到未来的开、高、低、收和成交量。下面按装、跑、改、懂四步带你把它跑起来,并在最后附上几个新手最容易踩的坑。装环境:3 行命令装好依赖 Kronos 的依赖很轻,requirements.txt 里只有 9 个库,主力是 torch2.0、pandas 2.2.2 和 matplotlib,官方要求 Python 3.10 及以上:git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt避坑提示:模型权重不随仓库分发,首次运行时才从 Hugging Face 下载(例如NeoQuasar/Kronos-small,24.7M 参数),这一步需要网络畅通;如果下载不稳定,建议提前配置镜像源。跑通第一个 5 分钟 K 线预测 预测入口是KronosPredictor类,定义在 model/kronos.py 中:数据归一化、采样预测、反归一化都由它内部完成,你只需准备三样东西——历史 K 线的 DataFrame、历史时间戳、要预测的未来时间戳。输入 CSV 必须有open/high/low/close四列,volume/amount可以没有(缺失时自动补 0)。示例脚本在 examples/prediction_example.py,取 5 分钟 K 线的前 400 根作为历史,预测后面 120 根。先把数据放到examples/data/XSHG_5min_600977.csv(仓库未附带该文件,格式可参照finetune_csv/data/HK_ali_09988_kline_5min_all.csv),然后:cd examples python prediction_example.py返回值是一个 DataFrame,按你给定的未来时间戳索引,列是预测出的 OHLCV。采样参数默认T1.0、top_p0.9、sample_count1;想降低单条预测路径的随机性,可以把sample_count调大,让它生成多条路径取平均。上图就是该脚本的产出:上面一行对比收盘价,下面一行对比成交量,哪段走势贴合、哪段偏离,肉眼就能判断。要一次预测多只股票,可以用predict_batch,但它要求所有序列的历史长度和预测长度完全一致。换成自己的数据:改一个配置文件就能微调如果你的数据分布和预训练语料差异较大(比如某只个股的 5 分钟 K 线),建议走微调。finetune_csv/ 目录提供了基于 CSV 的完整流程:把数据整理成 CSV(列为 timestamps/open/high/low/close/volume/amount,volume 和 amount 没有就全填 0),改好 finetune_csv/configs/config_ali09988_candle-5min.yaml,再运行 finetune_csv/train_sequential.py 传入该配置,它会先训 tokenizer、再训预测模型,多卡时可用 torchrun 启动。示例配置里几个关键参数值得对照:lookback_window: 512(用多少根历史)、predict_window: 48(预测多少根未来)、tokenizer 训 30 轮、主模型训 20 轮,学习率分别是 2e-4 和 1e-6,batch_size 为 32。运行前记得把data_path和pretrained_*两个模型路径改成你自己的。上图是官方在阿里巴巴(09988)5 分钟 K 线上微调后的预测曲线,可以作为你微调自己数据后的参照。看懂架构:K 线先变 token 再预测原理一句话:tokenizer 先把连续的 OHLCV 数据量化成分层的离散 token,再由一个 decoder-only 的自回归 Transformer 逐个预测下一个 token,最后把 token 解码回价格。这样分两阶段,是因为金融 K 线噪声大,先转成离散序列再让 Transformer 学习,训练上更稳定。目前已开源的规格有三档:Kronos-mini(4.1M 参数,上下文长度 2048)、Kronos-small(24.7M,上下文 512)、Kronos-base(102.3M,上下文 512),都可以通过from_pretrained按名称加载。显存紧张就用 mini,追求预测质量再上 base。常见问题:预测不对先查这 3 处一是输入长度。Kronos-small 和 base 的上下文上限是 512,官方建议 lookback 不要超过 512,超出的部分会被KronosPredictor自动截断,历史并不是越多越好。二是缺成交量数据。如果你的数据只有价格,examples/ 目录下的 prediction_wo_vol_example.py 就是为这种场景准备的,volume 和 amount 直接给 0 即可。三是两次结果不一样。预测本身是带温度 T 和 top_p 的随机采样,同一输入每次略有差异属于正常现象,曲线抖动大时优先调大sample_count取平均,而不是怀疑模型报错。下一步可以做什么:用predict_batch批量预测一篮子股票,对比各标的预期变化;用自己的 CSV 跑一遍微调,把微调前后的预测曲线放在一起看;如果想在策略层面验证信号,finetune/ 目录里还有基于 Qlib 的回测脚本,可以画出累计收益曲线做进一步评估。【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考