Kronos+miniQMT预测股票,真香!保姆级教程,建议收藏
前几天分享了一篇介绍Kronos(它被称为 "金融市场语言的模型" ,专门用来读懂和预测 K 线走势)的项目,看大家评论非常感兴趣但是上手有难度,今天花姐就出一期保姆级教程。
创建虚拟环境
创建虚拟环境
创建虚拟环境
重要的事情说3遍,这个项目依赖很多python库,如果你没有新建一个干净的python虚拟环境,在安装使用过程中很容易出现各种由于包不兼容而导致的错误。
我用的是windows系统,10年前的配置了,没有GPU,所以这个项目大部分人都可以跑起来,跟着我一步步来就行。
创建虚拟环境
Python我用的是Anaconda版本,虚拟环境我们也用conda来创建。
Kronos官方要求Python 3.10+,这里我用的是Python3.12版本。
打开一个CMD命令行(Win+R 然后输入cmd 按回车键打开)
pip
conda create -n pykronos python=3.12
下载Kronos项目
下载项目需要访问github,直接打开https://github.com/shiyu-coder/Kronos
然后点击下载解压到你的电脑

或者直接通过git clone下载也可以(推荐)
pip
git clone https://github.com/shiyu-coder/Kronos.git
安装依赖库
这里打开CMD窗口,然后通过cd命令进入到Kronos项目目录,不知道怎么操作的,可以打开 Kronos项目目录,然后按下图操作
这样我们的CMD窗口就定位到Kronos项目对应的根目录了。
接下来激活我们创建的Python虚拟环境 (pykronos)
cmd
activate pykronos

接下来在CMD里执行下面的命令安装依赖库
cmd
pip install -r requirements.txt
大概等一会就安装好了,如果网络不好会下载很久。
运行demo
用VSCode打开Kronos项目(其它Python 编辑器同理)
打开项目以后我们需要在根目录新建一个data文件夹,里面用于存放用来训练和预测的行情数据文件。

在examples里面的data文件夹官方为我们提供了一个示例行情,我们把它复制到根目录的data文件夹里。示例数据格式入下:

打开examples下的prediction_example.py
文件,我们修改下:
把sys.path.append("../")
改成,这里我们import了os库
python
import os
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

找到47行代码,如果你电脑有英伟达显卡不用改就可以,这里表示用显卡来预测,这里我改成了cpu,因为花姐的电脑没有显卡。
改完的代码如下
python
predictor = KronosPredictor(model, tokenizer, device="cpu", max_context=512)
到这一步如果你的网络良好(可以上-外-网)就可以执行成功了。
模型选择
在prediction_example.py
的40行左右的代码可以设置模型,默认训练预测用的是Kronos-small
,分词器用的是Kronos-Tokenizer-base
模型

目前可用选择的模型有4种

解决无法下载问题
不过估计大部分人会遇到如下情况,这是因为国内无法访问Hugging Face网站下载模型导致的。

找到40行代码,# 1. Load Model and Tokenizer
这个注释下面的2行代码

改成
python
tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base",cache_dir='NeoQuasar',local_files_only=True)
model = Kronos.from_pretrained("NeoQuasar/Kronos-base",cache_dir='NeoQuasar',local_files_only=True)
cache_dir='NeoQuasar',local_files_only=True
这句的意思是缓存路径改成项目根目录,使用本地模型来训练。
接下来我们在根目录创建NeoQuasar文件夹,里面存放对应的模型如下图

弄好以后就可以跑通demo了,我已经把文件打包发网盘了,大家直接下载就可以了。下图是预测结果,红线是预测的,蓝线是实际走势。

训练数据
训练数据我们可以从AKShare、baostock、miniQMT等渠道下载。这里我写了一份用miniQMT下载的,已经放星球了。用的时候先运行examples文件里的down_load_hq.py
文件,然后修改如下代码。

预测的时候我们把prediction_exampleold.py
文件里对应的代码
改成对应的行情文件即可,如下图

好了今天关于Kronos的教程就到这里了。
模型和项目代码我已经打包放到星球了,星球用户自行下载。