You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言SP500时间序列绘图及ACF/PACF分析故障排查求助

问题排查与修正方案

一、核心问题定位

原代码存在两个关键错误:

  • Date列未转换为日期格式,导致横轴排序混乱、线性回归趋势线无法正确拟合
  • stat="rolling_mean"已被R官方弃用,无法生成移动平均线

以下是修正后的完整代码及分析:


二、数据预处理(修正版)

library(tidyverse)
library(zoo) # 用于计算移动平均线
library(forecast) # 用于ACF/PACF分析

# 加载数据并标准化格式
sp500 <- read.csv("SP500.csv") %>%
  mutate(Date = as.Date(Date, format = "%m/%d/%y")) %>% # 按数据预览的日期格式转换
  mutate(Close = as.numeric(Close)) # 确保收盘价为数值型
head(sp500)

三、时间序列图(含均值线、趋势线、3期均线)

# 提前计算3期移动平均线
sp500 <- sp500 %>%
  mutate(ma3 = rollmean(Close, k = 3, fill = NA, align = "right"))

# 绘制完整时间序列图
ggplot(sp500, aes(x = Date, y = Close)) +
  geom_line(color = "steelblue", linewidth = 0.8) +
  # 样本均值水平线
  geom_hline(yintercept = mean(sp500$Close, na.rm = TRUE), 
             linetype = "dashed", color = "red") +
  # 简单线性回归趋势线
  geom_smooth(method = "lm", se = FALSE, color = "darkgreen", linewidth = 0.8) +
  # 3期移动平均线
  geom_line(aes(y = ma3), linetype = "dotted", color = "orange", linewidth = 0.8) +
  labs(x = "时间", y = "SP500收盘价") +
  theme_minimal()

四、ACF图绘制与判断

# 转换为时间序列对象(按年交易日频率252处理)
sp_ts <- ts(sp500$Close, frequency = 252)

# 绘制ACF图
acf(sp_ts, main = "SP500收盘价ACF图")

特征判断:ACF值缓慢衰减至置信区间内,呈现拖尾特征,说明序列存在长期相关性。


五、PACF图绘制与判断

# 绘制PACF图
pacf(sp_ts, main = "SP500收盘价PACF图")

特征判断:PACF值在滞后1阶后快速落入置信区间,呈现1阶截断特征,说明序列的短期相关性仅集中在滞后1期。

内容的提问来源于stack exchange,提问作者Nina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 17:15:42