Tutkitaan aikasarjaa SP500 osakeindeksin päivittäisistä päätoskursseista ajalta 1950-01-03 -- 2014-08-28.
Lue data R:ään ja muuta hintojen aikasarja tuottojen 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") pituus<-length(sp500) tuotto<-log(sp500[2:pituus])-log(sp500[1:(pituus-1)]) plot(tuotto,type="l") pituus<-length(sp500) tuotto<-(sp500[2:pituus]-sp500[1:(pituus-1)])/sp500[1:(pituus-1)] plot(tuotto,type="l")
Oletetaan, että portfolio koostuu 10 kappaleesta SP500 indeksiosuutta. Oletetaan, että eletään päivää 2014-08-28, jolloin yhden indeksiosuuden arvo on 1996.74 USD. Laske portfoliolle VaR(alpha) yhden päivän horisontilla kun alpha = 0.95 ja alpha=0.99, käyttäen empiiristä kvantiilia.
St<-1996.74 losses<--10*St*tuotto probs<-c(0.95,0.99) qua<-quantile(losses,probs) qua # 95% 99% # 287.1558 513.8020 alpha<-0.95 n<-length(losses) m<-ceiling(n*(1-alpha)) sort(losses,decreasing=TRUE)[m] # [1] 287.2515 qua<-quantile(losses,probs=0.95,type=2) qua # 95% # 287.2515
Laske edelliselle portfoliolle VaR(alpha) kymmenen päivän horisontilla kun alpha = 0.95 ja alpha=0.99, käyttäen empiiristä kvantiilia.
# kerrotann neliojuuri kymmenella St<-1996.74 losses<--10*St*tuotto probs<-c(0.95,0.99) qua<-quantile(losses,probs) sqrt(10)*qua # 95% 99% # 908.0665 1624.7846 # haetaan hinnat 10-päivän välein pituus<-length(sp500) ind<-seq(1,pituus,10) sp500.10<-sp500[ind] plot(sp500.10,type="l") pituus10<-length(sp500.10) #tuotto10<-log(sp500.10[2:pituus10])-log(sp500.10[1:(pituus10-1)]) tuotto10<-(sp500.10[2:pituus10]-sp500.10[1:(pituus10-1)])/sp500.10[1:(pituus10-1)] plot(tuotto10,type="l") losses<--10*St*tuotto10 probs<-c(0.95,0.99) qua<-quantile(losses,probs) qua # 95% 99% # 918.352 1512.073