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
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 colunarangea esse arquivo. - Crie um cluster FORK com quatro núcleos.
- Aplique
add_range()a cada elemento destock_listem 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
___