rendimenti.r<- function(nome) { ################################################ # Computes returns from prices ############################################### # input: # nome = name of the file downloaded from yahoo.finance. It must be # inside " " to be considered as string # output: ra = absolute returns # Rt = relative returns # rt = logarithmic returns a<-paste("d:/gigi/",nome,".csv",sep="") titolo<-read.csv(a,header=TRUE,dec=".",sep=",") durata<-nrow(titolo) ordine<-as.matrix(seq(durata,1,-1)) titolo<-cbind(ordine,titolo) titolo<-titolo[sort.list(titolo[,1]), ] close<-as.matrix(titolo[,6]) close.ts<-ts(close,start=c(2002,4,24),frequency=250,names=nome) # Calcolo dei rendimenti giornalieri (Assoluti, Relativi, Logaritmici) close.ra<-as.matrix(diff(close.ts)) close.Rt<-as.matrix((close.ts/lag(close.ts,-1))-1) close.rt<-as.matrix(diff(log(close.ts))) ans=list(ra=close.ra,Rt=close.Rt,rt=close.rt) } a<-rendimenti.r("eni")