nomi<-as.matrix(c("bulgari","eni","fastweb","lottomatica", "mediaset","mps","pirelli","snam","terna","unipol")) N<-nrow(nomi) durata<-600 num<-matrix(0,durata,1) den<-matrix(0,durata,1) closes<-matrix(0,durata,1) volumi<-matrix(0,durata,1) capi<-0 for(i in 1:N) {a<-paste("c:/msmf/",nomi[i],".csv",sep="") titolo<-read.csv(a,header=TRUE,dec=".",sep=",") # print(titolo[1,]) # Estrazione variabili e ordinamento n.oss<-nrow(titolo) ordine<-as.matrix(seq(n.oss,1,-1)) close_vol<-titolo[,5:6] close_vol<-cbind(ordine,close_vol) close_vol<-close_vol[sort.list(close_vol[,1]),] clos<-close_vol[,2] volum<-close_vol[,3] tempo0<-n.oss-durata+1 titolo.nis<-clos/clos[tempo0] # print(titolo.nis[n.oss]) titolo.cap<-clos[tempo0]*volum[tempo0] titolo.num<-as.matrix(titolo.nis*titolo.cap) num<-cbind(num,titolo.num[tempo0:n.oss]) closes<-cbind(closes,clos[tempo0:n.oss]) volumi<-cbind(volumi,volum[tempo0:n.oss]) capi<-rbind(capi,titolo.cap) } num<-num[,2:ncol(num)] closes<-closes[,2:ncol(closes)] volumi<-volumi[,2:ncol(volumi)] capi<-capi[2:nrow(capi)] num<-apply(num,1,sum) den<-sum(capi) indice<-num/den # Finestra grafica indice<-ts(indice,start=c(2005,8,1),frequency=250) closes<-ts(closes,start=c(2005,8,1),frequency=250,names=nomi) par(mfrow=c(2,1)) ts.plot(indice) ts.plot(closes[,1],ylab=nomi[1]) par(mfrow=c(1,1)) ts.plot(cbind(indice,closes[,1]/closes[1,1]),lty=c(1,2))