본문 바로가기
시계열모델링

시계열 자료의 분해법

by 다빈치스탁 2020. 10. 19.
728x90
반응형

분해법이라는 것은 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법으로 시계열의 구성요소를 추세요인, 계절요인, 순환요인 및 불규칙요인으로 구분하여 각 요소로 분해하여 분석한다. 즉 이 4가지 구성요소 중에서 추세, 계절, 순환요인을 제거한다면 남은 자료는 우연변동에 의한 정상 시계열로 만들 수 있기 때문이다. 사실 주식의 경우 로그차분을 수행하면 평균이 뮤, 분산이 시그마인 안정 시계열로 대부분 변환이 되지만 경우에 따라 그렇지 않은 경우도 있기 때문에 이러한 방법들에 대해 간략히 짚고 넘어가보자.

 

#작업경로를 지정하는 명령어
setwd("")

mydatat<-read.csv("jisu.csv",
                  header=TRUE, na.strings = "")

mydatat<-na.omit(mydatat)
o=mydatat$코스피지수

#----------------------------stat에서 제공하는 기본 요소분해-------------------
dlt<-ts(data=o, frequency = 4)
dc=decompose(dlt)

#계절적 요인(주기성).
ds<-dc$seasonal
#추세요인. 
dt<-dc$trend
#백색잡음.
dr<-dc$random

#귀무가설 : 시계열 자료는 정상적이다.
#95% 유의수준에서 기각할 수 없다. -> 따라서 정상성을 만족한다.
tseries::kpss.test(dr)

#원래의 시계열 자료
plot(o)
#계절요인을 제거한 자료.
plot(o-ds)
#추세요인을 제거한 자료.
plot(o-dt)
#백색잡음에 대한 자료.
plot(dr)

#----------------------------timsac에서 제공하는 확장 요소분해-------------------
#install.packages("timsac")
dtt<-timsac::decomp(o,trade=TRUE)
tseries::kpss.test(dtt$noise)

#----------------------------최우추정법에 의한 구조분석.-------------------
mldl<-StructTS(o, type="level")
Box.test(mldl$residuals)
mldlf<-forecast::forecast(mldl,h=10)
forecast::accuracy(mldlf)
plot(mldlf)

#분석의 결과 코스피지수에 있어서 유의미한 추세는 없는 것으로 나옴.
mldt<-StructTS(o, type="trend")
Box.test(mldt$residuals)

#마찬가지로 분석결과 코스피지수에 있어서 유의마한 추세는 없고 계절성 또한 0으로 추정.
mldb<-StructTS(dlt, type="BSM")
Box.test(mldb$residuals)

우선 기본적인 패키지에서 제공하고 있는 decompose 로 분석을 수행해본 결과 시계열에서 추세를 제거한 잡음의 그래프는 아래와 같이 백색잡음의 형태를 가지고 있는 것으로 보인다. 물론 코로나-19로 인한 금융쇼크 때문에 어느정도 fat-tail의 분포는 보이긴 한다. 그러나 어떠한 주기성이나 추세를 보이고 있지 않다는 것을 확인할 수 있다. 

 

그 다음으로는 timsac 패키지에서 제공하는 확장 요소분해는 추세, 주기, 자기회귀, 거래일효과, 잡음으로 한 단계 더 확장해서 구성요소를 분해할 수 있는데 아래의 그림처럼 추세와 자기회귀 구성요소는 유의미한 패턴을 찾을 수 있지만 나머지 계절성이나 거래일 효과는 찾을 수 없는 것으로 나온다.

 

마지막으로 최우추정법에 의한 시계열의 구조를 분석해 본결과 추세와 계절성의 경우 유의미하지 않은 것으로 분석되었다. 하계 및 동계휴가 기간의 해외 여행객의 수치, 계절과일의 생산량 등의 경우 계절성에 대해 고려해야 겠지만 코스피지수가 여름이라고 더 오르고 겨울이라고 더 빠지는 것은 논리적 모순이 많다. (산타랠리? 그건 케이스 바이 케이스라 고려대상이 될 수 없다.)

 

3가지 분석법 중 timsac을 제외한 나머지 모두 코스피 지수에서 유의미한 추세를 발견할 수 없었다. 슬프지만 현실이 그렇다. 거의 2년 동안 코스피 지수에 투자해놓았다 한들 추세에 의한 수익률의 기대값은 0이다. 만약 다우존스 산업지수나 S&P500 지수로 분석을 했다면 아주 높은 확률로 추세변동을 찾아낼 확률이 높다고 예상된다. 

코스피 지수의 시계열 자료
추세를 제거한 시계열 자료
timsac 을 이용한 요소분해

728x90
반응형

댓글