Kronos+miniQMT预测股票,真香!保姆级教程,建议收藏

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的教程就到这里了。

模型和项目代码我已经打包放到星球了,星球用户自行下载。

相关推荐
星哥说事4 小时前
Python自学25 - Django快速上手
开发语言·python·django
斑点鱼 SpotFish5 小时前
用Python可视化国庆期间旅游概况与消费趋势
开发语言·python·旅游
小兔崽子去哪了5 小时前
Python 学习记录
python
埃泽漫笔5 小时前
RabbitMQ四种交换机详解
python·mq
小猪快跑爱摄影6 小时前
【附代码】Jupyter 多进程调用 seaborn 并保留格式
python·jupyter
技术猴小猴6 小时前
如何使用Python实现LRU缓存
python·spring·缓存
2401_841495646 小时前
【自然语言处理】“bert-base-chinese”的基本用法及实战案例
人工智能·python·自然语言处理·bert·文本预处理·特征提取·训练验证
猫头虎6 小时前
AI_NovelGenerator:自动化长篇小说AI生成工具
运维·人工智能·python·自动化·aigc·gpu算力·ai-native
l1t7 小时前
DeepSeek辅助测试三种ODS电子表格写入程序
python·xlsx·ods·deepseek·xlsb