IniziaInizia gratis

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

Visualizza il corso

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 colonna range.
  • Crea un cluster FORK con quattro core.
  • Applica add_range() a ogni elemento di stock_list in 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
___
Modifica ed esegui il codice