ÎncepețiÎncepe gratuit

Intervalele zilnice de prețuri

Intervalul zilnic al prețului unei acțiuni este un indicator bun al volatilității sale pe piață.

Lucrezi pentru o firmă de investiții în calitate de Analist de Date. Superiorul tău dorește să calculeze intervalul zilnic pentru acțiunile primelor zece companii tech din lume. Ai o listă de fișiere CSV, stock_list, cu prețurile zilnice ale acțiunilor. Pentru fiecare fișier, vrei să adaugi o coloană range. Analistul de Date junior a scris următorul cod R pentru a face acest lucru:

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)
}

Vrei să rulezi acest cod în paralel pe un Apple Mac dedicat și ai dori să folosești un cluster de tip FORK pentru rezultate mai bune. Pachetul parallel este încărcat în spațiul tău de lucru.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește codul furnizat pentru a crea o funcție add_range() care va primi calea unui fișier ca argument și va adăuga o coloană range în acel fișier.
  • Creează un cluster de tip FORK cu patru nuclee.
  • Aplică add_range() pe fiecare element din stock_list în paralel.
  • Oprește clusterul.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
___
Editează și rulează codul