#Question 1 library(xts) library(quantmod) mes_titres <- new.env(hash=TRUE)# un crée un réceptacle dans lequel on va placer les données tékélchargées tickers = c("^FCHI","^GSPC","^IXIC") getSymbols(tickers,from='2016-11-21',na.omit="F", env=mes_titres ) nrow(mes_titres$FCHI) nrow(mes_titres$GSPC) nrow(mes_titres$IXIC) data1<-merge(mes_titres$GSPC,mes_titres$IXIC,mes_titres$FCHI) Cac<-na.approx(data1$FCHI.Adjusted) SP<-na.approx(data1$GSPC.Adjusted) Nas<-na.approx(data1$IXIC.Adjusted) nrow(Cac) nrow(SP) nrow(Nas) #data_fin<-getSymbols(tickers, from="2016-1-1", to="2021-07-06", auto.assign = TRUE,return.class = 'xts', env=mes_titres) # Comme il manque des données sur le CA40 on va traiter le plus simplement possible en retirant les lignes dont les données sont mnquantes ClosePrices <- do.call(cbind,eapply(mes_titres, Cl)) Nas_100<-(Nas)/as.vector(Nas[1])*100# base 100 par vectorisation, le problème de l'heritage. Lorsqu'on divise un vecteur par un scalaire ça donne un scalaire. Pour éviter, il faut trasnformer le scalaire en vecteur. Cac_100<-(Cac)/as.vector(Cac[1])*100# SP_100<-(SP)/as.vector(SP[1])*100# plot(Cac_100,ylim=(c(90,320)),main='Base 100') lines(Nas_100,col='blue') lines(SP_100,col='red') addLegend("topleft", on=1, legend.names = c("CAC", "Nasdaq","SP500"), lty=c(1, 1), lwd=c(2, 1), col=c("black", "blue", "red")) plot(dailyReturn(Nas),,main='Rendements') rend_nas<-dailyReturn(Nas) rend_cac<-dailyReturn(Cac) rend_sp<-dailyReturn(SP) plot(rend_nas) lines(rend_cac,col='red') lines(rend_sp,col='blue') addLegend("topleft", on=1, legend.names = c("CAC", "Nasdaq","SP500"), lty=c(1, 1), lwd=c(2, 1), col=c("black", "blue", "red")) lm1<-lm(rend_cac~rend_nas) summary(lm1) lm2<-lm(rend_cac~rend_sp) summary(lm2) lm3<-lm(rend_nas~rend_sp) summary(lm3) #changement de statut de variable pour le graphique en nuage de points data3<-as.data.frame(cbind(rend_sp,rend_cac,rend_nas)) plot(data3[,1],data3[,3], main="Sensibilité du Nadaq au SP500", xlab="rdt SP500 ", ylab="rdt Nasdaq", pch=8,cex=0.3,) abline(lm3,col='blue') text(-0.08,0.06, paste("R_Nasdaq =", round(lm3$coefficients[1],4),"+ R_sp500 *",round(lm3$coefficients[2],4)),col="blue",cex=0.6) text(-0.08,0.04,paste("R² ajusté",round(summary(lm3)$adj.r.squared,3)),col="blue",cex=0.6) grid(NULL,NULL) par(mfrow = c(1, 3)) hist(rend_cac,50,col='cyan') hist(rend_nas,50,co='red') hist(rend_sp,50,col='green') require(moments) kurtosis(rend_cac) kurtosis(rend_nas) kurtosis(rend_sp) skewness(rend_cac) skewness(rend_nas) skewness(rend_sp)