if (!require(quantmod)) install.packages('quantmod') if (!require(moments)) install.packages('moments') library(quantmod) library(moments) ##### Exemple - Variable discrète ##### set.seed(123) # Afin d'assurer la reproductivité du résultat random_numbers <- sample(1:6, 1000, replace = TRUE) hist(random_numbers, breaks = seq(0.5, 6.5, by = 1), main = "Histogramme des résultats de 1 000 lancements de dé", xlab = "Résultat", ylab = "Fréquence") ##### Exemple - Variable continue ##### CAC40 <- getSymbols("^FCHI", from = "2021-04-01", to = "2023-04-01", env = NULL) CAC40 <- CAC40[!is.na(CAC40[,6]),] #enlever les jours de valeurs NA (le cas échéant) # Compute logarithmic percentage returns (with respect to the daily closing prices) CAC40$return = diff(log(CAC40[,6]))*100 # Convert the xts object (from the QuantMod R package) to a data frame and process dates CAC40 <- data.frame(Date=index(CAC40), coredata(CAC40)) CAC40$Date <- as.POSIXct(CAC40$Date) CAC40 <- CAC40[-1,] my_breaks <- seq(-10, 10, by = 0.5) hist(CAC40$return, freq = FALSE, breaks = my_breaks, main = "Distribution des rendements journaliers de CAC-40") dens <- density(CAC40$return) curve(dnorm(x, mean(CAC40$return), sd(CAC40$return)), add = TRUE, col = "red", lwd = 1, lty=2) legend("topright", legend = c("Estimation de la distribution", "Distribution normale"), col = c("blue", "red"), lwd = 1, cex =0.8,lty=2) # Calcul des statistiques descriptives mean(CAC40$return) median(CAC40$return) sd(CAC40$return) skewness(CAC40$return) kurtosis(CAC40$return)