Intervalli di prezzo giornalieri
L'intervallo giornaliero del prezzo di un'azione è un buon indicatore della sua volatilità di mercato.
Lavori come Data Analyst in una società di investimenti. Il tuo responsabile vuole calcolare l'intervallo giornaliero per i titoli delle dieci principali aziende tech al mondo.
Hai un elenco di file CSV, stock_list, con i prezzi giornalieri delle azioni. Per ciascun file, vuoi aggiungere una colonna con l'intervallo. Il junior Data Analyst ha scritto il seguente codice R per farlo:
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)
}
Vuoi eseguire questo codice in parallelo su un Apple Mac dedicato e desideri usare un cluster FORK per risultati migliori. Il pacchetto parallel è caricato nel tuo workspace.
Questo esercizio fa parte del corso
Programmazione parallela in R
Istruzioni dell'esercizio
- Usa il codice fornito per creare una funzione
add_range()che prenda un percorso di file come argomento e aggiunga a questo file una colonnarange. - Crea un cluster FORK con quattro core.
- Applica
add_range()a ogni elemento distock_listin parallelo. - Arresta il cluster.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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
___