Tietokoneharjoitus 1

Tehtävä 5a

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

Tehtävä 5b

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

Tehtävä 5c

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