Denní cenové rozsahy
Denní rozsah ceny akcie je dobrým ukazatelem její tržní volatility.
Pracuješ v investiční firmě jako datový analytik. Tvůj nadřízený chce vypočítat denní rozsah cen akcií deseti největších technologických společností na světě.
Máš k dispozici seznam CSV souborů stock_list s denními cenami akcií. Ke každému souboru chceš přidat sloupec s rozsahem. Junior datový analytik k tomu napsal následující kód v R:
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)
}
Chceš tento kód spustit paralelně na počítači Apple Mac a pro lepší výsledky použít FORK cluster. Balíček parallel je ve tvém pracovním prostředí již načten.
Toto cvičení je součástí kurzu
Paralelní programování v R
Pokyny k cvičení
- Pomocí poskytnutého kódu vytvoř funkci
add_range(), která jako argument přijme cestu k souboru a přidá do něj sloupecrange. - Vytvoř FORK cluster se čtyřmi jádry.
- Aplikuj funkci
add_range()paralelně na každý prvek seznamustock_list. - Zastav cluster.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
___