Tietokoneharjoitus 1

Tutkitaan aikasarjaa SP500 osakeindeksin päivittäisistä päätoskursseista ajalta 1950-01-03 -- 2014-08-28.

Tehtävä 5

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 

Tehtävä 5+

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