时间序列----ARIMA 对苹果进行股价分析

import yfinance as yf
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
import matplotlib.pyplot as plt

# 加载数据
apple_stock = yf.download('AAPL', start='2023-01-01', end='2024-01-01')

# 确保数据按日期排序
# 假设apple_stock是你从yfinance下载的DataFrame
dates = pd.date_range(start='2023-01-01', end='2023-12-31', freq='D')  # 'D'代表每日频率
apple_stock.index = pd.DatetimeIndex(apple_stock.index).normalize()  # 规范化索引以去除时间,保留日期
apple_stock = apple_stock.reindex(dates, method='ffill')  # 重新索引以填充缺失的日期,并向前填充数据

# 现在apple_stock有了一个明确的频率,可以再次尝试ARIMA模型

# 使用收盘价
closing_prices = apple_stock['Close']
[*********************100%%**********************]  1 of 1 completed
"""
参数优化对于ARIMA模型的性能至关重要。
理想的参数(p, d, q)能够最准确地捕捉到时间序列数据的特性,从而提高预测的准确性。
一种自动化寻找最佳ARIMA模型参数的方法是使用pmdarima库中的auto_arima函数。
这个函数通过遍历不同的参数组合,选择出最佳的模型
"""
# 使用.ffill()和.bfill()方法替代fillna(method='ffill')和fillna(method='bfill')
closing_prices = closing_prices.ffill()  # 向前填充,填充缺失值
closing_prices = closing_prices.bfill()  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值