如何快速上手Kronos:从0到1跑通K线AI预测的完整指南
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
看盘多年,你能说清自己的买卖"感觉"吗?说不清,也很难验证。Kronos 是第一个专为金融 K 线设计的开源预测基础模型,把 OHLCV 数据喂给它,它能直接输出未来的价格和成交量预测,帮你把盘感变成可以回测的信号。
10秒看懂Kronos:关键数字一览
Kronos 是一组 decoder-only 的金融时序基础模型,训练数据覆盖全球 45 个以上交易所的 K 线序列。官方开源了 3 个规格:mini(410万参数,上下文 2048)、small(2470万参数,上下文 512)、base(1.02亿参数,上下文 512),论文已被 AAAI 2026 接收。对普通用户来说 small 是默认推荐——单卡甚至纯 CPU 都能跑,速度和效果比较平衡。
它解决什么问题:从"凭感觉"到"有信号"
自己搭预测模型最大的痛点是金融 K 线噪声极大,直接把原始价格喂给通用时序模型,往往学不到东西。Kronos 的思路是先把 K 线"翻译"成离散 token,再让 Transformer 在这些 token 上做自回归预训练。对你意味着什么:不用自己搭 tokenizer、不用纠结数据归一化,几行代码就能得到一条能跟上趋势转折的预测曲线;而且它一次预测同时输出价格和成交量,不用两个模型各管一摊。
3个核心亮点:Token化、价量双预测、自带微调管线
- K线分位数Token化:把连续的 OHLCV 数据量化成层次化离散 token,模型先"听懂"K线再预测。对你意味着什么:输入只要标准 OHLCV 表格,不用做任何特征工程。
- 价量双任务预测:一次 predict 同时返回价格和成交量。对你意味着什么:成交量放大这类信号也能被捕捉,而不是只盯价格。
- 自带微调与回测管线:
finetune/目录提供 A 股 Qlib 数据的全套流程,finetune_csv/提供 CSV 数据的顺序训练脚本。对你意味着什么:预训练效果不满意时,可以直接用自己的历史数据继续训练。
上手路径:三种方式跑通Kronos预测
先装环境,要求 Python 3.10+,依赖 torch>=2.0.0:
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt方式一:Web界面,约10分钟,零代码
cd webui python run.py浏览器打开 http://localhost:7070 ,选数据文件、选模型规格(mini/small/base)、拖时间窗口(固定 400+120 根K线)、点预测即可。温度、top_p、采样条数都可以在界面上调。第一次运行会下载模型权重,耐心稍等。适合先建立"这模型输出长什么样"的直观印象。
方式二:Python脚本,约30分钟
核心调用浓缩在下面,完整可运行版本见 examples/prediction_example.py:
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_context=512) pred_df = predictor.predict(df=x_df, x_timestamp=x_ts, y_timestamp=y_ts, pred_len=120)predict 内部自动处理归一化和反归一化,返回的 DataFrame 直接包含 open/high/low/close/volume/amount 的预测值。要一次预测多个标的,改用 predictor.predict_batch,注意所有序列的历史长度和预测长度必须一致。
方式三:用自己的数据微调,需GPU,数小时起
把 CSV 数据(timestamps/open/high/low/close/volume/amount 七列,volume、amount 缺失可填0)准备好,改好 finetune_csv/configs/config_ali09988_candle-5min.yaml 里的数据路径和训练参数,运行 train_sequential.py 即可自动按"先 tokenizer 后预测器"的顺序训练。仓库里附了阿里巴巴港股 5 分钟线的完整示例数据(finetune_csv/data/HK_ali_09988_kline_5min_all.csv),列格式可以直接照着抄。
效果展示:跑起来之后你看到什么
这是 examples/prediction_example.py 跑出来的图。上半部分红色曲线(预测)贴着蓝色曲线(真实值)走,趋势转折段能跟上方向变化;下半部分的成交量预测虽然对个别尖峰贴合不够紧,但整体量级和节奏是对得上的。
再进一步,微调后的模型可以接入回测:finetune/qlib_test.py 生成预测信号后跑一个 top-K 策略,上图是扣除交易成本后的累计收益曲线,多条策略曲线整体位于 CSI300 基准(黑色虚线)上方。但注意官方提醒:这是简化演示,不是生产级交易系统,真实落地还需要组合优化、风险中性化、滑点建模等一整套东西。
避坑指南:新手最容易踩的3个坑
- 历史窗口不是越长越好:small 和 base 的 max_context 是 512,lookback 超过 512 会被自动截断,别指望喂 2000 根K线进去模型就全用上了。
- 数据列名必须对:DataFrame 必须包含 open、high、low、close 四列,volume、amount 可选。列名对不上时 predict 会直接报错。
- 回测曲线不等于实盘收益:回测图是 top-K 简化策略的结果,没有组合层面的风险控制,拿它当决策依据前先理解这一层含义。
资源索引:关键文件在哪里
- 核心模型源码:model/kronos.py
- 可运行预测示例:examples/prediction_example.py
- Web界面入口:webui/app.py
- 微调管线:finetune/(Qlib/A股)与 finetune_csv/(CSV数据)
装好环境后,现在就可以用方式一在浏览器里跑出你的第一条预测曲线。
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考