Comece agoraComece grátis

Faixas diárias de preço

A faixa diária do preço de uma ação é um bom indicador da sua volatilidade no mercado.

Você trabalha em uma empresa de investimentos como Data Analyst. Sua chefe quer calcular a faixa diária das ações das dez maiores empresas de tecnologia do mundo. Você tem uma lista de arquivos CSV, stock_list, com os preços diários das ações. Para cada arquivo, você quer adicionar uma coluna de faixa. O(a) Data Analyst júnior escreveu o seguinte código em R para fazer isso:

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)
}

Você quer executar esse código em paralelo em um Apple Mac dedicado e gostaria de usar um cluster FORK para melhores resultados. O pacote parallel está carregado no seu workspace.

Este exercicio faz parte do curso

Programação Paralela em R

Ver curso

Instruções do exercicio

  • Use o código fornecido para criar uma função add_range() que receba um caminho de arquivo como argumento e adicione uma coluna range a esse arquivo.
  • Crie um cluster FORK com quatro núcleos.
  • Aplique add_range() a cada elemento de stock_list em paralelo.
  • Pare o cluster.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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 e Executar Código