logo

아치 이펙트 📂통계적분석

아치 이펙트

정의 1

아치 이펙트란 그 AutoRegressive Conditional Heteroscedasticity라는 말 그대로 ‘자기회귀 조건부 이분산 효과’로 순화되기 때문에 순화하지 않는다.

설명

쉽게 말해서 데이터의 변동성이 변하면서, 그 자체가 이전의 데이터로 설명될 수 있는 경우 데이터에 아치 이펙트가 있다고 말한다.

이러한 아치 이펙트를 통계적으로 설명하는 모델을 아치 모델이라고 하며, 보통은 일반화의 ‘G-‘가 붙은 가치 모델GARCH을 쓴다.

실습

2.png

위의 그래프는 내장데이터 EuStockMarkets에서 DAX만 뽑아내서 그 리턴을 그린 것이다. 척봐도 아치이펙트가 있어보이는데, 리턴을 이용해 아치 이펙트를 디텍트해보자.

origin.png

우선 가장 먼저 떠올릴 수 있는 방법은 리턴에 ACFPACF를 취해 자기 상관성이 있는지 파악해보는 것이다. 그러나 위의 결과는 딱히 아치 이펙트가 있다는 증거가 되지 못한다.

여기서 생각을 달리 해봐야한다. 지금 목표는 ‘변동성’이 어떻게 변하는지를 알아내는 것이었다. 아르마 모형은 실제로 값의 등락에 관심이 있기 때문에 음수인지 양수인지도 중요한 정보였지만, 적어도 이 경우에는 ‘변하는 크기’만 신경 쓰면 된다.

abs.png

리턴에 절댓값을 취해 그린 그래프는 리턴의 ‘굵기’가 아니라 ‘높이’만 보면 되기 때문에 훨씬 이해하기 쉬워진다. 실제로 여기에다가 ACFPACF를 취한 결과를 확인해보자.

3.png

아까까지는 보이지 않았던 자기상관관계가 극명하게 드러나는 것을 볼 수 있다. 따라서 데이터에 아치 이펙트가 있음을 가정해봄직하다.

4.png

물론 데이터를 양수로 만드는 방법으로 제곱을 취하는 것도 있다. 언뜻 절대값의 경우와 달라보이지만 전하고자하는 요지는 결국 ‘아치 이펙트가 있는 것 같다’일 뿐이므로 차이점에는 신경쓰지 않아도 좋다. 그러나 제대로 된 분석이나 수식전개에선 보통 제곱만 생각하는 편인데, 리턴 $r_{t}$ 가 이분산성을 파악하기 위한 표현이고 보통 분산을 $\sigma^2$ 와 같이 쓰는 것을 고려해보면 당연한 것이다.

ml.png

한편 이러한 방법 외에도 맥리어드-리 테스트 역시 고려해볼 수 있다. p밸류가 빨간 점선 밑으로 깔리면 아치 이펙트가 있는 것으로 의심해본다. 이 경우 DAX의 리턴으로 테스트해본 것인데, 저러한 결과는 아주, 아주 강력하게 아치 이펙트가 있다는 것을 의미한다.

이렇듯 아치 이펙트가 있다는 것이 가정되면 이제 가치 모델분석하는 일만 남았다.

코드

library(TSA)
returnize <- function(data) {return(diff(log(data)))}

DAX <- ts(EuStockMarkets[,1],start=1)
r.DAX <- returnize(DAX)
win.graph(6,3); par(mfrow=c(1,2))
acf(r.DAX,main='리턴 ACF')
pacf(r.DAX,main='리턴 PACF')
win.graph(6,4)
plot(abs(r.DAX),type='h',main='DAX의 리턴의 절대값')
win.graph(6,3); par(mfrow=c(1,2))
acf(abs(r.DAX),main='리턴의 절댓값 ACF')
pacf(abs(r.DAX),main='리턴의 절댓값 PACF')
win.graph(6,3); par(mfrow=c(1,2))
acf(r.DAX^2,main='리턴의 제곱 ACF')
pacf(r.DAX^2,main='리턴의 제곱 PACF')
win.graph(6,3)
McLeod.Li.test(y=r.DAX)

  1. Cryer. (2008). Time Series Analysis: With Applications in R(2nd Edition): p283. ↩︎