Plages de prix quotidiennes
La plage quotidienne du cours d’une action est un bon indicateur de sa volatilité sur le marché.
Vous travaillez comme Data Analyst dans une société d’investissement. Votre responsable souhaite calculer la plage quotidienne pour les actions des dix plus grandes entreprises technologiques au monde.
Vous disposez d’une liste de fichiers CSV, stock_list, contenant les cours quotidiens des actions. Pour chaque fichier, vous voulez ajouter une colonne de plage. Le Data Analyst junior a écrit le code R suivant pour le faire :
for (file in file_list) {
df <- read.csv(file)
df$range <- 0
for (r in 1:nrow(df)) {
df$range[r] <- df$High[r] - df$Low[r]
}
write.csv(df, file)
}
Vous souhaitez exécuter ce code en parallèle sur un Apple Mac dédié et utiliser un cluster FORK pour de meilleures performances. Le package parallel est chargé dans votre espace de travail.
Cet exercice fait partie du cours
Programmation parallèle en R
Instructions
- À partir du code fourni, créez une fonction
add_range()qui prendra un chemin de fichier en argument et ajoutera une colonnerangeà ce fichier. - Créez un cluster FORK de quatre cœurs.
- Appliquez
add_range()à chaque élément destock_listen parallèle. - Arrêtez le cluster.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Make a function out of existing code
add_range <- function (file) {
___
}
# Make FORK cluster of four cores
cluster <- makeCluster(___, type = "___")
# Apply add_range to stock_list in parallel
out <- parLapply(___, ___, ___)
# Stop cluster
___