
Kronos K線預測入門從安裝到第一份 120 點預測【免費下載鏈接】KronosKronos: A Foundation Model for the Language of Financial Markets項目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos假設你手里有一段 5 分鐘 K 線數據想知道接下來 120 根 K 線大概怎么走。這正是 Kronos 要解決的問題它是一個面向金融 K 線預測的開源金融大模型輸入歷史行情輸出未來的價格與成交量序列。下面按「裝環境 → 跑第一次預測 → 看懂原理 → 回測驗證 → 換成自己的數據」的順序走一遍不需要你有金融時序建模背景。項目速覽Kronos 能做什么選哪個規格Kronos 做的事情可以概括為兩點把 OHLCV 行情開、高、低、收、量即一根 K 線的完整信息當作一種「語言」來理解再順著這種語言把未來的 K 線「寫」出來。它基于全球 40 多家交易所的 K 線數據預訓練提供三個可直接加載的開源規格區別主要在參數量和能處理的序列長度模型規格參數量最大上下文適合場景Kronos-mini4.1M2048低配機器跑通流程需要看更長歷史Kronos-small24.7M512日常預測與回測顯存壓力適中Kronos-base102.3M512追求更高預測上限、顯存夠用新手建議直接從小規格開始512 的上下文意味著喂給它最近 512 根 K 線作為參考窗口對分鐘級數據已經覆蓋相當長的歷史而加載速度在普通 GPU 上完全可接受。安裝 Kronos克隆倉庫并裝好依賴這一節的目標是讓環境在 3 分鐘內可用。要求 Python 3.10 及以上版本然后執行git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt依賴清單很短核心是 PyTorch、pandas 和 Hugging Face Hub模型權重從這個庫自動下載。如果你的機器上已有其他項目占用了全局環境建議建一個獨立的虛擬環境再執行安裝后面「避坑」一節會說原因。跑通第一次 K 線預測最少必要代碼這一節只回答一個問題代碼最少能寫到多短加載分詞器和模型、組裝預測器、調用預測核心就 5 步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) pred_df predictor.predict(dfx_df, x_timestampx_ts, y_timestampy_ts, pred_len120)輸入x_df是一張 CSV 讀出來的 pandas 表格必須包含open、high、low、close四列volume、amount兩列可選沒有就填 0x_timestamp是歷史數據對應的時間戳y_timestamp是你想預測的未來時間點。輸出pred_df里就是未來 120 個時間點上每個 OHLCV 字段的預測值。上面是預測曲線與真實值疊加的效果上方是收盤價下方是成交量。想要直接能跑的完整腳本含畫圖看 examples/prediction_example.py多只股票一起預測則參考 examples/prediction_batch_example.py它用的是predict_batch接口一次并行處理多支標的。它憑什么能預測分詞器 自回歸的雙階段機制這一節用幾句話把原理講清楚不用看源碼。Kronos 把預測拆成兩步第一步由一個專門的 K 線分詞器tokenizer可以把理解成把連續數字翻譯成「文字」的工具把 OHLCV 這些連續值量化成一串離散 token而且 token 是分層設計的——粗粒度 token 記錄長周期趨勢細粒度 token 記錄短期波動第二步交給一個自回歸 Transformer自回歸指像大語言模型逐字補全句子那樣根據前文逐個預測下一個 token基于已知的 token 序列依次「續寫」出未來的 token最后再逆量化回 K 線數值。整個架構如下圖理解了這一點后面很多細節就順理成章為什么輸入長度要限制在 512small/base 的上下文上限因為第二步的模型一次最多處理這么長的 token 序列。為什么微調要分兩階段因為第一步和第二步是兩套獨立參數。讀懂回測曲線Kronos 效果的兩個觀察角度預測好不好不能只看單支股票的曲線得放到回測里檢驗。Kronos 提供了一套基于 Qlib 的回測腳本finetune/qlib_test.py模型在測試集上生成預測信號按預測收益選前 K 只股票構成組合再和滬深 300 基準對比。產出的累計收益曲線可以這樣讀看策略線和基準線虛線的相對位置整段周期里策略線在上方說明組合跑贏了指數看超額收益部分扣除成本后曲線仍然向上代表信號本身有效而不是靠杠桿或擇時僥幸看回撤深度兩段上升之間如果曲線沒有大幅下探說明策略在不同行情下的波動可控。對高頻場景倉庫里還有一組用港股 5 分鐘 K 線阿里巴巴 09988微調后的預測樣例位于 finetune_csv/ 目錄讀這張圖重點看兩處預測段的價格形態方向、波動幅度與真實段的銜接是否自然以及成交量預測是否跟得上真實放量的節奏。單次預測的偏離很正常重點是整體趨勢和量級是否對得上。把 Kronos 微調到你的數據上兩階段命令預訓練模型見過的是全球混合數據換成你熟悉的標的時微調能讓它適應你的數據分布。流程固定為兩階段各一條命令python finetune/qlib_data_preprocess.py # 數據切分為訓練/驗證/測試集 torchrun --standalone --nproc_per_node2 finetune/train_tokenizer.py # 第一階段微調分詞器 torchrun --standalone --nproc_per_node2 finetune/train_predictor.py # 第二階段微調預測器所有路徑和超參數回看窗口、預測窗口、batch size、學習率等集中在 finetune/config.py 里開跑前先按你的環境改掉數據目錄和模型路徑。為什么要先動分詞器再動預測器因為預測器是在分詞器定義的 token 空間里做學習的——先把分詞器調成認得你的數據預測器才能站在一個合適的地基上。如果你手頭是 CSV 格式的行情列名要求見 finetune_csv/README_CN.md也可以走 finetune_csv/train_sequential.py 這條更簡單的路線一條命令順序完成兩個階段。避坑三則依賴、顯存、效果依賴沖突導致裝不上。Kronos 依賴里鎖定了若干版本如 pandas 2.2.2如果和你系統里其他項目沖突用虛擬環境隔離最省事python -m venv kronos_env激活后再執行安裝命令。顯存不夠用。依次嘗試把batch_size調小、改用 Kronos-mini參數量只有 small 的六分之一、縮短輸入序列長度。mini 規格還額外支持 2048 的上下文小顯存下反而是長序列任務的好選擇。預測效果不理想。預測是采樣出來的T溫度和top_p兩個參數直接控制輸出的隨機程度溫度越低預測越貼近歷史慣性、越「保守」top_p調小會收窄候選范圍。倉庫回測腳本里用的是T0.6、top_p0.9可以作為起點再上下微調。另外單次預測偏離大不一定代表模型不行配合sample_count多采樣幾條路徑取平均能顯著平滑隨機性。小結與下一步Kronos 把 K 線變成 token 序列預測問題就轉化成了類似大語言模型的續寫問題small 規格 512 上下文足夠走完「預測 → 回測」完整流程是最穩妥的起步配置換成自己的數據時記住「先分詞器、后預測器」這條順序。下一步建議用你自己的 CSV 數據把回測跑一遍或者試試predict_batch同時預測一籃子股票。提醒一句以上所有預測與回測結果僅供參考不構成投資建議。【免費下載鏈接】KronosKronos: A Foundation Model for the Language of Financial Markets項目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考