Piirra kuvio SP500 indeksin tuottojen korrelaatiofunktiosta ja tuottojen itseisarvon korrelaatiofunktiosta.
file<-"http://cc.oulu.fi/~jklemela/timeseries/sp500.csv" data<-read.csv(file=file) sp500<-data[,7] # otetaan kunkin paivan lopetuskurssi sp500<-sp500[length(sp500):1] # aloitetaan aikasarja vanhimmasta havainnosta # piiretaan aikasarja plot(sp500,type="l") # tulostetaan tuotot y<-sp500[2:length(sp500)]-sp500[1:(length(sp500)-1)] r<-y/sp500[1:(length(sp500)-1)] plot(r,type="l") n<-length(r) k<-300 cors<-matrix(0,k,1) for (i in 1:k){ x<-r[1:(n-i)] y<-r[(1+i):n] cors[i]<-cor(x,y) } a<-n^(-1/2)*1.96 # qnorm(0.975) plot(cors,type="l") segments(0,a,k,a) segments(0,-a,k,-a) sum(abs(cors)<=a)/k cors [1,] 2.849787e-02 [2,] -4.365698e-02 [3,] -3.868074e-05 [4,] -3.745309e-03 [5,] -1.469485e-02 [6,] -6.888570e-03 [7,] -2.035406e-02 [8,] 8.168811e-03 [9,] -7.241974e-03 [10,] 1.023363e-02 # acf ja pacf ######################### acf(r) pacf(r) # tuottojen itseisarvojen autokorrelaatio ################# n<-length(r) k<-1000 cors<-matrix(0,k,1) for (i in 1:k){ x<-abs(r[1:(n-i)]) y<-abs(r[(1+i):n]) cors[i]<-cor(x,y) } plot(cors,type="l") a<-n^(-1/2)*1.96 # qnorm(0.975) segments(0,a,k,a) segments(0,-a,k,-a) sum(abs(cors)<=a)/k # acf ja pacf ######################### acf(abs(r),lag.max=1000) pacf(abs(r),lag.max=100)