Dzienne zakresy cen
Dzienny zakres ceny akcji to dobry wskaźnik jej zmienności rynkowej.
Pracujesz w firmie inwestycyjnej jako analityk danych. Twój szef chce obliczyć dzienny zakres cen akcji dziesięciu największych firm technologicznych na świecie.
Masz listę plików CSV, stock_list, z dziennymi cenami akcji. Dla każdego pliku chcesz dodać kolumnę zakresu. Młodszy analityk danych napisał w tym celu następujący kod 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)
}
Chcesz uruchomić ten kod równolegle na dedykowanym komputerze Apple Mac i skorzystać z klastra FORK, aby uzyskać lepsze wyniki. Pakiet parallel jest już wczytany w twoim środowisku.
To ćwiczenie jest częścią kursu
Programowanie równoległe w R
Instrukcje do ćwiczenia
- Korzystając z dostarczonego kodu, utwórz funkcję
add_range(), która przyjmie ścieżkę do pliku jako argument i doda do niego kolumnęrange. - Utwórz klaster FORK złożony z czterech rdzeni.
- Zastosuj funkcję
add_range()równolegle do każdego elementu listystock_list. - Zatrzymaj klaster.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
___