Tutkitaan aikasarjaa SP500 osakeindeksin päivittäisistä päätoskursseista ajalta 1950-01-03 -- 2014-08-28.
Lue data R:ään ja muuta data aikasarjaksi
file<-"http://cc.oulu.fi/~jklemela/marketrisk/sp500.csv" data<-read.csv(file=file) sp500<-data[,7] sp500<-sp500[length(sp500):1] plot(sp500,type="l") start<-c(1950,1) end<-c(2014,8) ts.data<-ts(sp500,start=start,end=end,frequency=250) plot(ts.data)
(a) Muuta hintojen aikasarja tuottojen aikasarjaksi.
logs<-log(ts.data) logr<-diff(logs) plot(logr) pituus<-length(ts.data) tuotto<-log(ts.data[2:pituus])-log(ts.data[1:(pituus-1)]) plot(tuotto,type="l") ts.tuotto<-ts(tuotto,start=start,end=end,frequency=250) plot(ts.tuotto)
(b) Laske keskimääräinen päivätuotto. Lasketaan päivätuotto annualisoituna. Laske tuottojen mediaani.
mean(ts.tuotto)*250 mean(ts.tuotto) median(ts.tuotto) [1] 0.06831447 [1] 0.0002732579 [1] 0.0004619211
(c) Laske tuoton volatiliteetti eli keskihajonta. Lasketaan volatiliteetti annualisoituna.
sd(ts.tuotto)*sqrt(250) quantile(ts.tuotto,probs=0.05) [1] 0.154323 5% -0.01448565
Estimoi tuottojen aikasarjasta kvantiili q(alpha) kun alpha = 0.05 ja alpha=0.01 käyttämällä empiiristä kvantiilia.
probs<-c(0.01,0.05) qua<-quantile(tuotto,probs) 100*qua 1% 5% -2.614625 -1.448634 alpha<-0.01 n<-length(tuotto) m<-ceiling(n*(1-alpha)) 100*sort(tuotto,decreasing=TRUE)[m] [1] -2.614938 alpha<-0.05 n<-length(tuotto) m<-ceiling(n*(1-alpha)) 100*sort(tuotto,decreasing=TRUE)[m] [1] -1.449051 probs<-c(0.01,0.05) qua<-quantile(tuotto,probs,type=1) 100*qua 1% 5% -2.614938 -1.449051