Rangos de precios diarios
El rango diario del precio de una acción es un buen indicador de su volatilidad en el mercado.
Trabajas para una empresa de inversiones como Analista de Datos. Tu jefe quiere calcular el rango diario de las acciones de las diez empresas tecnológicas más importantes del mundo.
Tienes una lista de archivos CSV, stock_list para los precios diarios de las acciones. Para cada archivo, te gustaría añadir una columna de rango. El Analista de Datos junior ha escrito el siguiente código R para hacerlo:
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)
}
Quieres ejecutar este código en paralelo en un Apple Mac dedicado y te gustaría utilizar un clúster FORK para obtener mejores resultados. El paquete parallel se carga en tu espacio de trabajo.
Este ejercicio forma parte del curso
Programación paralela en R
Instrucciones del ejercicio
- Utiliza el código proporcionado para hacer una función
add_range()que tomará como argumento una ruta de archivo y añadirá una columnarangea este archivo. - Crea un clúster FORK de cuatro núcleos.
- Aplica
add_range()a cada elemento destock_listen paralelo. - Detén el clúster.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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
___