การคืนสินค้าเป็นตัวอย่างที่ดีในชีวิตจริงของสิ่งที่คุณต้องการ มีความสัมพันธ์ใกล้เคียงกับศูนย์อย่างมากระหว่างผลตอบแทน S&P 500 ของวันนี้และเมื่อวาน อย่างไรก็ตามมีการพึ่งพาที่ชัดเจน: ผลตอบแทนกำลังสองมีความสัมพันธ์เชิงบวกโดยอัตโนมัติ ช่วงเวลาที่มีความผันผวนสูงจะรวมเป็นกลุ่มตามเวลา
รหัส R:
library(ggplot2)
library(grid)
library(quantmod)
symbols <- new.env()
date_from <- as.Date("1960-01-01")
date_to <- as.Date("2016-02-01")
getSymbols("^GSPC", env=symbols, src="yahoo", from=date_from, to=date_to) # S&P500
df <- data.frame(close=as.numeric(symbols$GSPC$GSPC.Close),
date=index(symbols$GSPC))
df$log_return <- c(NA, diff(log(df$close)))
df$log_return_lag <- c(NA, head(df$log_return, nrow(df) - 1))
cor(df$log_return, df$log_return_lag, use="pairwise.complete.obs") # 0.02
cor(df$log_return^2, df$log_return_lag^2, use="pairwise.complete.obs") # 0.14
acf(df$log_return, na.action=na.pass) # Basically zero autocorrelation
acf((df$log_return^2), na.action=na.pass) # Squared returns positively autocorrelated
p <- (ggplot(df, aes(x=date, y=log_return)) +
geom_point(alpha=0.5) +
theme_bw() + theme(panel.border=element_blank()))
p
ggsave("log_returns_s&p.png", p, width=10, height=8)
บันทึกเวลาของชุดบันทึกจะกลับมาที่ S&P 500:
หากผลตอบแทนเป็นอิสระตลอดเวลา (และอยู่กับที่) มันคงไม่น่าเป็นไปได้มากที่จะเห็นรูปแบบของความผันผวนของคลัสเตอร์เหล่านั้นและคุณจะไม่เห็นความสัมพันธ์อัตโนมัติในการส่งคืนบันทึกกำลังสอง