EmpezarEmpieza gratis

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

Ver curso

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 columna range a este archivo.
  • Crea un clúster FORK de cuatro núcleos.
  • Aplica add_range() a cada elemento de stock_list en 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
___
Editar y ejecutar código