Tägliche Preisspannen
Die tägliche Spanne des Aktienkurses ist ein guter Indikator für die Marktvolatilität.
Du arbeitest als Data Analyst bei einer Investmentfirma. Deine Chefin möchte die tägliche Spanne für die Aktien der zehn größten Tech-Unternehmen der Welt berechnen.
Du hast eine Liste von CSV-Dateien, stock_list, mit den täglichen Aktienkursen. Für jede Datei möchtest du eine Spalte für die Spanne hinzufügen. Der Junior Data Analyst hat dazu den folgenden R-Code geschrieben:
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)
}
Du willst diesen Code auf einem dedizierten Apple-Mac parallel ausführen und dafür einen FORK-Cluster verwenden, um bessere Ergebnisse zu erzielen. Das Paket parallel ist in deinem Workspace geladen.
Diese Übung ist Teil des Kurses
Paralleles Programmieren in R
Anleitung zur Übung
- Verwende den bereitgestellten Code, um eine Funktion
add_range()zu erstellen, die einen Dateipfad als Argument nimmt und dieser Datei eine Spalterangehinzufügt. - Erstelle einen FORK-Cluster mit vier Kernen.
- Wende
add_range()parallel auf jedes Element vonstock_listan. - Stoppe den Cluster.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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
___