清华大学开源的kronos股票预测程序交流
本博客用于交流最近比较火的清华大学团队开源的kronos,一起学习。
1. 安装环境
1.1 conda 环境
参考github 网址 https://github.com/shiyu-coder/Kronos
conda create -n kronos_r python=3.10 -y
conda activate kronos_r
git clone https://github.com/shiyu-coder/Kronos
cd Kronos # 根据自己的系统命令,进入项目文件夹
pip install -r requirements.txt
1.2 下载权重
根据需要下载对应权重
https://huggingface.co/NeoQuasar/Kronos-Tokenizer-base
https://huggingface.co/NeoQuasar/Kronos-base#
2. 测试运行
进入 项目文件夹下的example文件夹
更改prediction_example.py文件的42和43行,权重路径改称自己下载存放的路径
tokenizer = KronosTokenizer.from_pretrained(“NeoQuasar/Kronos-Tokenizer-base”)
model = Kronos.from_pretrained(“NeoQuasar/Kronos-small”)
也可更改第49行,换成自己关心的股票的数据。
更改52行和53行
lookback = 400 # 观察数据量
pred_len = 120 #预测数据量
更改后运行:
python prediction_example.py
程序输出预测时间和预测值会打印在终端,同时也会生成一幅图,直观的观察预测值和gt是否一致。
这是使用kronos预测的sh.603876,截止日期为9月10,还未微调参数,直接运行结果。
以下内容持续更新中…
微调权重
安装pyqlib,获取数据
pip install pyqlib
下载qlibb源码
下载地址: https://github.com/microsoft/qlib
下载后进入qlib项目文件夹,运行如下命令获取股票数据
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
数据预处理
进入kronos项目文件夹,进入fineturn 文件夹,运行如下命令对数据预处理
python qlib_data_preprocess.py
训练
首先训练 tokenizer,
运行如下命令,训练tokenizer,根据自己电脑gpu数量更改NUM_GPUS
# Replace NUM_GPUS with the number of GPUs you want to use (e.g., 2)
torchrun --standalone --nproc_per_node=NUM_GPUS finetune/train_tokenizer.py
训练完tokenizer后训练predictor
# Replace NUM_GPUS with the number of GPUs you want to use (e.g., 2)
torchrun --standalone --nproc_per_node=NUM_GPUS finetune/train_predictor.py
训练中的终端输出图像如下所示:

以上实现kronos的fineturn,但是qlib数据库没有近期的数据,无法对近期数据训练,目前正在尝试更新qlib数据库的方法
自动预测判断
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)