import pandas as pd
import numpy as np
from statsmodels.tsa.arima.model import ARIMA
from datetime import datetime, timedelta
# 读取数据
df = pd.read_csv("data.csv", index_col=0, parse_dates=True)
index=df['close']
# 一阶差分
diff_index = index.diff()[1:]
# 建立ARIMA模型
model = ARIMA(diff_index, order=(37, 1, 37)).fit()
# 预测20天
forecast = model.forecast(steps=20)
# 计算预测日期
last_date = index.index[-1]
forecast_dates = pd.date_range(start=last_date+timedelta(days=1), periods=20, freq="B")
# 计算预测值
forecast_values = np.cumsum(forecast.values)
# 合并历史和预测数据
result = pd.Series(np.concatenate((diff_index.values, forecast_values)), index=diff_index.index.append(forecast_dates)).cumsum()
# 输出结果
print(result)
ARIMA模型框架(不含检测调试)
最新推荐文章于 2024-07-31 14:30:10 发布