Kokeile SP500 osakeindeksin hintatietojen hakemista sivulta
http://finance.yahoo.com/q/hp?s=^GSPC+Historical+Prices
Tiedosto on csv-muodossa osoitteessa
http://cc.oulu.fi/~jklemela/stafin/sp500.csv
# Lue data R:aan file<-"http://cc.oulu.fi/~jklemela/stafin/sp500.csv" data<-read.csv(file=file) sp500<-data[,7] sp500<-sp500[length(sp500):1] plot(sp500,type="l") # Muuta data aikasarjaksi start<-c(1950,3) end<-c(2012,9) sp500.ts<-ts(sp500,start=start,end=end,frequency=250) plot(sp500.ts) # Muuta hintojen aikasarja tuottojen aikasarjaksi ja # laske keskimaarainen paivatuotto seka # laske tuoton volatiliteetti eli keskihajonta. pituus<-length(sp500) tuotto<-log(sp500[2:pituus])-log(sp500[1:(pituus-1)]) plot(tuotto,type="l") mean(tuotto)*250*100 sd(tuotto)*sqrt(250)*100 #[1] 7.233696 #[1] 15.3821
Kokeile USD/EUR vaihtokurssin tietojen hakemista sivulta
http://research.stlouisfed.org/fred2/series/DEXUSEU/downloaddata?cid=94
Tiedosto on csv-muodossa myos osoitteessa
http://cc.oulu.fi/~jklemela/stafin/DEXUSEU.csv
# Lue data R:aan. file<-"http://cc.oulu.fi/~jklemela/stafin/DEXUSEU.csv" data<-read.csv(file=file,na.strings=".") useu<-data[,2] plot(useu,type="l") # Muuta data aikasarjaksi komennoilla start<-c(1999,1) end<-c(2014,10) useu.ts<-ts(useu,start=start,end=end,frequency=250) plot(useu.ts) # Muuta hintojen aikasarja tuottojen aikasarjaksi # ja laske keskimaarainen paivatuotto # seka laske tuoton volatiliteetti eli keskihajonta. pituus<-length(useu) tuotto<-log(useu[2:pituus])-log(useu[1:(pituus-1)]) plot(tuotto,type="l") mean(tuotto,na.rm=TRUE)*250 sd(tuotto,na.rm=TRUE)*sqrt(250) [1] 0.01192767 [1] 0.0983095
Kokeile 10-vuoden US valtionlainan korkotason tietojen hakemista sivulta
http://research.stlouisfed.org/fred2/series/DGS10/downloaddata?cid=115
Tiedosto on csv-muodossa myos osoitteessa
http://cc.oulu.fi/~jklemela/stafin/DGS10.csv
# Lue data R:aan file<-"http://cc.oulu.fi/~jklemela/stafin/DGS10.csv" data<-read.csv(file=file,na.strings=".") dgs10<-data[,2] plot(dgs10,type="l") # Muuta data aikasarjaksi komennoilla start<-c(1962,1) end<-c(2014,10) dgs10.ts<-ts(dgs10,start=start,end=end,frequency=250) plot(dgs10.ts) # Laske tuotot gs10b<-dgs10/100 len<-length(dgs10) gs10return<--10*(gs10b[2:len]-gs10b[1:(len-1)])+gs10b[2:len]/250 plot(gs10return,type="l") 250*mean(gs10return,na.rm=TRUE) sqrt(250)*sd(gs10return,na.rm=TRUE) [1] 0.07287241 [1] 0.1043618