[AI Google] TimesFM:AI预测股市价格,能否助我财务自由?

news2024/11/26 12:23:32

今天我偶然发现了一个名为TimesFM的模型,它能够预测时间序列数据。于是我心中冒出了一个大胆的想法:如果这个模型可以预测股票价格,那么我是否能借此成为股神呢?

介绍

TimesFM(时间序列基础模型)是由谷歌研究院开发的一个预训练模型,专用于时间序列预测。它的强大功能和应用前景引起了我的浓厚兴趣。

安装

要开始使用TimesFM,你需要按照以下步骤安装环境:

conda env create --file=environment.yml
conda env create --file=environment_cpu.yml

conda activate tfm_env
pip install -e .

代码

以下是一个完整的代码示例,展示了如何使用TimesFM模型来预测股票价格:

import datetime
import yfinance as yf
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import time
from datetime import date
from timesfm import TimesFm
from huggingface_hub import login
import matplotlib.pyplot as plt

# 给定需要处理的股票代码,上海票以.ss结尾,深圳票以.sz结尾
start = date(2020, 1, 1)  # 使用date类创建日期对象
end = date(2024, 1, 1)  # 指定结束日期为2024年1月1日
codelist = ["000001.ss"]

# 增加错误重试机制的下载数据部分
for retry in range(3):  # 尝试下载最多3次
    try:
        data2 = yf.download(codelist, start=start, end=end)
        # 数据预处理
        data2 = data2['Adj Close'].dropna()  # 使用调整结算价格删除缺损值
        if not data2.empty:
            break  # 成功下载并处理数据,跳出循环
    except Exception as e:
        print(f"下载失败,第{retry+1}次尝试。错误:{e}")
        if retry < 2:  # 在最后一次尝试前等待
            time.sleep(5)  # 等待5秒后重试

if data2.empty:
    raise ValueError("数据为空,请更改时间区间再试一次或检查网络连接。")

context_len = 512  # 设置上下文长度
horizon_len = 256  # 设置预测期间的长度

if len(data2) < context_len:
    raise ValueError(f"数据长度小于上下文长度({context_len})")

context_data = data2[-context_len:]  # 使用最近512天的数据作为上下文

# 初始化和导入TimesFM模型
tfm = TimesFm(
    context_len=context_len,
    horizon_len=horizon_len,
    input_patch_len=32,
    output_patch_len=128,
    num_layers=20,
    model_dims=1280,
    backend='cpu',  # 修改这里,将'gpu'改为'cpu'
)

# 登录Hugging Face Hub,此处****需替换成自己的Hugging token
login("*****")

tfm.load_from_checkpoint(repo_id="google/timesfm-1.0-200m")

# 准备数据
forecast_input = [context_data.values]
frequency_input = [0]  #设置数据频率(0是高频率数据)

# 运行预测
point_forecast, experimental_quantile_forecast = tfm.forecast(
    forecast_input,
    freq=frequency_input,
)

# 设置图表尺寸为24*12英寸
plt.figure(figsize=(24, 12))

forecast_dates = pd.date_range(start=data2.index[-1] + pd.Timedelta(days=1), periods=horizon_len, freq='B')
forecast_series = pd.Series(point_forecast[0], index=forecast_dates)

# 添加部分:获取并绘制2024.1.1到当前时间的实际价格数据
current_date = datetime.datetime.now().date()
data_recent = yf.download(codelist, start=date(2024, 1, 1), end=current_date)

if not data_recent.empty:
    data_recent = data_recent['Adj Close'].dropna()
    plt.plot(data_recent.index, data_recent.values, label="Actual Prices (2024-Now)")

# 创建或更新图表(如果前面已有图表,这里是更新)
plt.plot(data2.index, data2.values, label="Actual Prices")
plt.plot(forecast_series.index, forecast_series.values, label="Forecasted Prices")
plt.xlabel("Date")
plt.ylabel("Price")
plt.title(f"Price Compare & Forecast for {codelist[0]}")
plt.legend()

# 保存图表到文件,确保尺寸更改已生效
plt.savefig(f'{codelist[0]}_compare.png', bbox_inches='tight') 

# 显式关闭当前图表
plt.close(fig='all')

例图

最后,我运行了上涨指数和沪深300指数的预测,并生成了一些效果图:

上证指数

沪深300指数

结论

尽管TimesFM模型在一定程度上展示了其预测能力,但最终的效果仍未达到预期。看来,想通过预测股票价格实现财务自由还需更加努力,或许我还是得继续好好工作。


  • github
  • Google Research blog
  • Hugging Face checkpoint repo
  • https://github.com/lhw828/timesfm
  • AI 博客 - 从零开始学AI
  • 公众号 - 从零开始学AI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1835145.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Spring Boot+VUE旅游管理系统

1管理员功能模块 管理员通过点击后台管理&#xff0c;进入页面可以输入用户名、密码、角色进行登录相对应操作&#xff0c;如图1所示。 图1管理员登录界面 管理员通过点击后台管理&#xff0c;进入页面可以填写首页、个人中心、用户管理、旅游方案管理、旅游购买管理、系统管…

华为---RIP路由协议的汇总

8.3 RIP路由协议的汇总 8.3.1 原理概述 当网络中路由器的路由条目非常多时&#xff0c;可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数&#xff0c;加快路由收敛时间和增强网络稳定性。路由汇总的原理是&#xff0c;同一个自然网段内的不同子网的路由在向外(其他…

【接口自动化测试】第一节.接口自动化测试基础和框架介绍

文章目录 前言一、接口自动化基础 1.1 接口自动化基础介绍 1.2 接口自动化测试流程 1.3 选取自动化测试用例 1.4 搭建自动化测试环境二、接口自动化测试框架 2.1 接口自动化框架设计思路 2.2 定义项目目录结构总结 前言 一、接口自动化基础 1.1…

企业中没有有效的PMC管理会是什么样子?

众所周知&#xff0c;有效的产品物料控制&#xff08;PMC&#xff09;管理对于企业的稳健发展至关重要。然而&#xff0c;如果企业忽视了PMC的重要性&#xff0c;或者其管理不到位&#xff0c;那么企业将面临一系列严重的问题&#xff0c;从生产线混乱到效益滑坡&#xff0c;甚…

16. 一个I/O项目:构建命令行程序(上)

标题 一、功能二 、接受命令行参数三、 读取文件四、重构改进模块性和错误处理4.1 二进制项目的关注分离4.2 提取参数解析器4.3 创建一个Config的构造函数4.4 传参错误处理4.5 从main中提取逻辑4.6 将代码拆分进crate 一、功能 grep 最简单的使用场景是在特定文件中搜索指定字…

大模型应用实战2——大模型知识体系、GLM4的function calling功能及agents开发

前面通过glm4作为引子&#xff0c;现在来谈大模型知识体系结构是怎么样的 两个研究方向&#xff1a;开发特定的agents/强化大模型在某个领域的能力&#xff0c;后一个的大致方法如下图 GLM4的function calling功能&#xff1a; 需要解决的问题&#xff1a;不能解决大数运算&a…

香港优才计划是坑人的吗?申请的人都在说……

大家好啊&#xff01;最近看到超多小伙伴私信我说申请香港优才被“坑”了&#xff0c;被割了一波韭菜&#x1f33f;心疼你们&#xff01;作为一个通过这个计划顺利移民香港的老司机&#x1f697;&#xff0c;我必须出来吐槽一下&#xff0c;并且把我的成功经验分享给大家&#…

天锐绿盾 | -公司电脑文件防泄密软件

天锐绿盾是一款专为企业设计的电脑文件防泄密系统&#xff0c;它结合了多种安全功能&#xff0c;旨在从源头上保障企业数据的安全。 www.drhchina.com 以下是关于天锐绿盾的详细介绍&#xff1a; 一、产品概述 天锐绿盾&#xff0c;又名绿盾信息安全管理软件&#xff0c;是一…

【达梦数据库】typeorm+node.js+达梦数据库返回自增列值

1.配置环境&#xff0c;下载依赖包 typeorm init --name test22 --database mysql typeorm-dm&#xff0c;uuid,typeorm2,修改连接信息 修改src/ data-source.ts 文件 连接dm&#xff0c;可参考刚刚安装typeorm-dm 模块中的 README.md 3.修改自增信息 /* 修改前*/PrimaryGen…

FileZilla证书过期,导致FileZilla Client联不上,或者老断开的处理

1、先到服务器上去重新生成一下证书&#xff0c;并且覆盖掉老的证书。edit--settings 输入信息&#xff0c;并且确认生成新的证书&#xff1a; 2、Client连接的时候&#xff0c;弹出证书信任&#xff0c;点击确认。 这样第一次连接&#xff0c;然后访问目录全都是好的&#xff…

解决此平台不支持虚拟化的 Intel VT-x/EPT故障问题

一、问题描述 当我们在VMware Workstation虚拟机上【启用】虚拟系统(如:Windows10)所在的虚【拟机设置】【处理器】【虚拟化引擎】下面的【虚拟化 Intel VT-x/EPT 或AMD-V/RVI(V)】内容后,在启动虚拟系统时,虚拟系统无法启动,且弹出【此平台不支持虚拟化的 Intel VT-x/EP…

算法课程笔记——单调栈单调队列

算法课程笔记——单调栈&单调队列

多协议接入/GB28181/GAT1400协议/安防综合管理系统EasyCVR报错version`GLIBCXX_3.4.19‘not found如何处理?

多协议接入/GB28181/GAT1400协议/安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入与汇聚管理。智慧安防/视频存储/视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、…

【自动驾驶】串口通信控制与反馈

文章目录 串口通信控制与反馈通讯协议上行数据帧解析下行数据帧解析串口通信控制与反馈 通讯协议 上行数据指的是机器人底盘向上位机发送的状态数据, 下行数据指的是上位机向机器人底盘发送的控制信息。 上行数据帧解析 机器人运动底盘通过串口发送的数据包格式,如下表所…

练习时长 1 年 2 个月的 Java 菜鸡练习生最近面经,期望25K

面经哥只做互联网社招面试经历分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥 自我介绍&#xff1a;本人是练习时长 1 年 2 个月的 Java 后端菜鸡练习生。下面是我最近面试的面经&#xff1a; 百度 一面 约1h时间&#xff1a;2…

MJ绘画设计基础——如何玩转midjourney?

抽卡的时候经常有一个问题&#xff0c;就是整张图都还不错&#xff0c;但是某些地方有些小问题&#xff0c;比如说手很奇怪&#xff0c;比如下面这个图&#xff0c;哪都挺好看&#xff0c;就是左手有点问题。 这时候就可以局部重绘来拯救一下 第一次生成的图 点击图片下方的V…

黄仁勋加州理工毕业典礼演讲:人工智能是我们这个时代最重要的技术

英伟达公司首席执行官黄仁勋周五&#xff08;6月14日&#xff09;在加州理工学院&#xff08;Caltech&#xff09;毕业典礼上发表演讲&#xff0c;鼓励毕业生在逆境中努力&#xff0c;不断寻求新的机遇。 黄说&#xff0c;加州理工学院因其毕业生受人尊敬而闻名&#xff0c;如…

5G+北斗高精度定位终端技术,赋能千行百业应用

5G北斗高精度定位终端技术的融合&#xff0c;正以前所未有的精准度和实时性&#xff0c;为千行百业带来革命性的变革。从智慧城市的精细化管理&#xff0c;到智能交通的实时调度&#xff0c;再到精准农业的播种与收割&#xff0c;这一技术正不断拓宽其应用领域&#xff0c;为各…

驰为电脑软件卸载指南:轻松解决软件占用问题

驰为电脑作为一款性能出色的设备&#xff0c;用户在使用过程中难免会安装各种软件以满足不同的需求。然而&#xff0c;随着时间的推移&#xff0c;一些软件可能变得不再需要&#xff0c;或者我们可能需要更新到新版本。这时&#xff0c;如何有效地卸载不再使用的软件&#xff0…

【启明智显产品分享】Model4 工业级HMI芯片详解(三):高安全、防抄板

Model4 工业级HMI芯片详解系列专题&#xff08;三&#xff09;【高安全、防抄板】 随着物联网和智能设备的快速发展&#xff0c;设备安全认证的需求日益迫切。硬件安全认证和保护在确保设备和身份安全中发挥着不可替代的作用&#xff0c;需要与软件安全相结合&#xff0c;共同构…