掘金人工智能本月最热 10月24日 05:49
Kronos+miniQMT预测股票教程
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文提供了Kronos模型用于股票预测的保姆级教程,重点介绍了如何创建Python虚拟环境、下载并安装Kronos项目及其依赖库。教程详细指导了如何配置运行环境,包括修改代码以适应CPU预测以及解决国内用户访问Hugging Face下载模型遇到的问题,通过指定本地缓存路径来使用模型。此外,文章还说明了如何准备训练数据,并结合miniQMT获取行情数据进行预测,最终展示了预测结果,为用户提供了实操性的股票预测方法。

📊 **环境搭建是基础**:文章强调了创建独立的Python虚拟环境(如使用conda创建名为'pykronos'的环境,Python版本3.10+)的重要性,以避免因库版本冲突导致安装和使用Kronos项目时出现错误,这是成功运行预测模型的首要步骤。

🛠️ **项目配置与运行**:教程详细指导了如何从GitHub下载Kronos项目,安装所有必需的依赖库(`pip install -r requirements.txt`),并在VSCode等编辑器中打开项目。关键步骤包括在项目根目录创建'data'文件夹存放行情数据,修改`prediction_example.py`文件以适应CPU预测(`device='cpu'`),并根据需求选择不同的Kronos模型和分词器。

🌐 **解决模型下载难题**:针对国内用户可能遇到的Hugging Face模型下载困难,文章提供了解决方案,即通过修改代码中的`cache_dir`和设置`local_files_only=True`,将模型下载和缓存路径指向项目根目录下的'NeoQuasar'文件夹,从而实现本地化模型使用,确保教程的可行性。

📈 **训练与预测数据准备**:文章介绍了如何准备用于训练和预测的股票行情数据,指出可以从AKShare、baostock、miniQMT等渠道获取。并特别提供了一份使用miniQMT下载数据并修改代码以加载自定义行情文件的示例,使用户能够对接自己的数据源进行预测。

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

前几天分享了一篇介绍Kronos(它被称为 “金融市场语言的模型” ,专门用来读懂和预测 K 线走势)的项目,看大家评论非常感兴趣但是上手有难度,今天花姐就出一期保姆级教程。

创建虚拟环境
创建虚拟环境
创建虚拟环境

重要的事情说3遍,这个项目依赖很多python库,如果你没有新建一个干净的python虚拟环境,在安装使用过程中很容易出现各种由于包不兼容而导致的错误。

我用的是windows系统,10年前的配置了,没有GPU,所以这个项目大部分人都可以跑起来,跟着我一步步来就行。

创建虚拟环境

Python我用的是Anaconda版本,虚拟环境我们也用conda来创建。

Kronos官方要求Python 3.10+,这里我用的是Python3.12版本。

打开一个CMD命令行(Win+R 然后输入cmd 按回车键打开)

conda create -n pykronos python=3.12

下载Kronos项目

下载项目需要访问github,直接打开https://github.com/shiyu-coder/Kronos然后点击下载解压到你的电脑

或者直接通过git clone下载也可以(推荐

git clone https://github.com/shiyu-coder/Kronos.git

安装依赖库

这里打开CMD窗口,然后通过cd命令进入到Kronos项目目录,不知道怎么操作的,可以打开Kronos项目目录,然后按下图操作

这样我们的CMD窗口就定位到Kronos项目对应的根目录了。

接下来激活我们创建的Python虚拟环境 (pykronos)

activate pykronos

接下来在CMD里执行下面的命令安装依赖库

pip install -r requirements.txt

大概等一会就安装好了,如果网络不好会下载很久。

运行demo

用VSCode打开Kronos项目(其它Python 编辑器同理)

打开项目以后我们需要在根目录新建一个data文件夹,里面用于存放用来训练和预测的行情数据文件。

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

打开examples下的prediction_example.py文件,我们修改下:

sys.path.append("../")改成,这里我们import了os库

import ossys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

找到47行代码,如果你电脑有英伟达显卡不用改就可以,这里表示用显卡来预测,这里我改成了cpu,因为花姐的电脑没有显卡。

改完的代码如下

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行代码

改成

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

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

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Kronos miniQMT 股票预测 量化交易 Python教程 AI 金融科技 Stock Prediction Quantitative Trading Python Tutorial FinTech
相关文章