公司动态
把 K 线当成语言来训——零样本预测 45 家交易所,被 AAAI 2026 收录
一句话理解像 GPT 学写作文一样Kronos 学会看 K 线——用 Token 化 自回归预测零样本预测比特币走势。 本文产出可运行 Kronos 预测 BTC/USDT 的完整 Python 代码模型选型对照表mini / small / base / large 的算力与精度权衡多资产批量预测模板 商业价值量化交易团队在传统策略失效时多一个预训练底座个人投资者可用 Kronos-small 做日内趋势参考省去从零训练时序模型的百万级成本背景传统时序预测的三大死穴金融时间序列预测长期困在三个死结里问题传统方案代价数据量不够单资产几千根 K 线过拟合是常态回测漂亮实盘翻车跨资产迁移ETH 模型在 BTC 上基本要重训每加一个品种多一套管线噪声过大价格变动中信号/噪声比 0.1特征工程做死也逃不出过拟合Kronos 的思路是跳脱这些框框——不按传统时序建模而是把 K 线当作一种语言来学。核心方案K 线的 Token 化革命Kronos 的核心创新在两步分层量化 Tokenizer把连续 OHLCV 数据离散化成层级 Token自回归 Transformer像 GPT 预测下一个词一样预测下一根 K 线原始K线数据OHLCV分层量化Tokenizer离散Token序列层级Token自回归Transformer预测下一根K线概率分布这和传统时序模型LSTM、ARIMA的本质区别在于传统模型预测连续数值Kronos 预测离散分布。后者天然能表达不确定性——它告诉你未来 5 分钟 BTC 可能涨 0.3%概率 72%而不是一个冷冰冰的 “BTC 将到 68000”。模型家族选型Kronos 提供四个规格按参数量和上下文窗口分档模型参数量上下文显存需求推荐场景Kronos-mini4.1M2048~500MB研究原型、快速验证Kronos-small24.7M512~1.5GB个人策略、日内趋势Kronos-base102.3M512~4GB多资产组合、批量预测Kronos-large499.2M512~16GB机构级高频策略选型建议个人用户从 Kronos-small 起步24.7M 参数在 1.5GB 显存上跑得飞快512 上下文对 5 分钟线刚好覆盖 2 个交易日。快速上手用 Kronos 预测 BTC/USDT下面是一个完整的实战流程从安装到出预测结果30 行代码搞定。环境准备gitclone https://github.com/shiyu-coder/Kronos.gitcdKronos pipinstall-rrequirements.txt加载模型frommodelimportKronos,KronosTokenizer,KronosPredictor# 从 Hugging Face 加载预训练模型tokenizerKronosTokenizer.from_pretrained(NeoQuasar/Kronos-Tokenizer-base)modelKronos.from_pretrained(NeoQuasar/Kronos-small)# 初始化预测器predictorKronosPredictor(model,tokenizer,max_context512)准备数据以 BTC/USDT 的 5 分钟 K 线为例。你需要一个 DataFrame包含至少open,high,low,close四列volume和amount可选。importpandasaspd# 假设已有 BTC 5分钟K线数据dfpd.read_csv(BTCUSDT_5min.csv)df[timestamps]pd.to_datetime(df[timestamps])# 用前 400 根 K 线预测后 120 根 10 小时lookback400pred_len120x_dfdf.loc[:lookback-1,[open,high,low,close,volume,amount]]x_timestampdf.loc[:lookback-1,timestamps]y_timestampdf.loc[lookback:lookbackpred_len-1,timestamps]执行预测pred_dfpredictor.predict(dfx_df,x_timestampx_timestamp,y_timestampy_timestamp,pred_lenpred_len,T1.0,# 采样温度——越高越多样化top_p0.9,# 核采样概率sample_count1# 采样路径数多路径取均值更稳)print(pred_df.head())输出是一张 DataFrame包含预测的 open/high/low/close/volume按你给的y_timestamp索引。直接可视化就能画出一张完整的预测 K 线图。是否准备OHLCV数据加载Tokenizer加载预训练模型创建Predictor设置lookback400pred_len120调用predict需要多资产?predict_batch单资产预测并行处理输出预测DataFrame可视化/策略回测批量预测多个资产如果有 5 个币种要同时预测用predict_batch# 准备多个资产的 DataFrame 列表df_list[btc_df,eth_df,sol_df,ada_df,dot_df]x_ts_list[x_ts1,x_ts2,x_ts3,x_ts4,x_ts5]y_ts_list[y_ts1,y_ts2,y_ts3,y_ts4,y_ts5]pred_resultspredictor.predict_batch(df_listdf_list,x_timestamp_listx_ts_list,y_timestamp_listy_ts_list,pred_len120,T1.0,top_p0.9,sample_count1,verboseTrue)注意所有资产的 lookback 和 pred_len 必须一致。技术原理为什么 K 线可以当作语言这回到了 Kronos 最核心的洞察——金融 K 线和自然语言共享同一个底层结构序列中的局部模式可组合成高阶语义。K线语言自然语言字母词根单词句子段落单根K线OHLCVK线组合吞没/十字星价格形态头肩顶趋势段完整行情语义/意图趋势判断GPT 学语言靠的是预测下一个词——每个词的上下文编码了语法和语义。Kronos 学 K 线靠的是预测下一根 K 线——每根 K 线的上下文编码了市场状态和博弈逻辑。具体来说Kronos 的分层量化 Tokenizer 做了三件事降维把连续价格映射到离散桶大幅降低噪声敏感度层级化底层 Token 编码单根 K 线形态高层 Token 编码多根组合模式词汇表构建从 45 家交易所的海量数据中自动学到 “K 线词汇表”Token 化过程示意原始 OHLCV: [o:68123, h:68200, l:68050, c:68180, v:1234] ↓ 分层量化 底层 Token: [class_up, body_medium, wick_short] ← 单根形态 高层 Token: [pattern_bullish_engulfing] ← 多根组合这种离散化带来的好处是模型不需要精确记忆价格数值而是理解模式——这就解释了为什么 Kronos 能零样本泛化到没见过的资产上。生产注意事项1. 上下文窗口限制Kronos-small 和 Kronos-base 的 max_context 是512。超过这个长度Predictor 会自动截断。如果要预测日线级别512 根约 2 年数据——够用。如果是 1 分钟线512 根只覆盖 8.5 小时需要考虑降采样。2. 低流动性时段失效Kronos 的论文明确指出在低流动性区间如山寨币深夜盘面准确率显著下降。原因是训练数据以主流交易所的高流动性资产为主低流动性场景的K 线语言和训练分布不一致。3. 采样参数调优T温度1.0 是默认值。做趋势判断建议 0.8-1.0做风险评估建议 1.2-1.5更保守地覆盖更多可能路径sample_count设为 3-5 取均值能显著降低单次噪声但推理时间线性增长top_p0.9 是标准值0.95 会更多样化但引入更多假信号4. 实盘前必须做的事用至少 3 个月的历史数据做回测对比 Kronos 预测和传统 TA 指标的信号一致性设置止损不要裸跑 Kronos 信号总结Kronos 把金融时间序列预测从用连续数值拟合推进到用离散 Token 理解。这不仅仅是技术选型差异——它代表了时序建模范式的转换。如果你之前用 LSTM 做量化试试 Kronos同样加载数据的工作量得到的预测不仅准确率更高还能告诉你市场状态的概率分布。下一步可以关注 Kronos 的 fine-tune 脚本已在 2025.08 发布把你的自有策略数据微调上去效果会比零样本更强。信息来源说明✅ 已验证基于 Kronos README 和论文描述 文档/论文Kronos paper (arXiv 2508.02739), AAAI 2026