ComeçarComece de graça

lapply() em um data frame

Se, em vez de uma lista, você tivesse um data frame com retornos de ações, ainda daria para usar lapply()? Sim! Surpreendentemente, data frames são, na verdade, listas por baixo dos panos, e uma chamada a lapply() aplicaria a função a cada coluna do data frame.

df
  a b
1 1 4
2 2 6

class(df)
[1] "data.frame"

lapply(df, FUN = sum)
$a
[1] 3

$b
[1] 10

lapply() somou cada coluna do data frame, mas continua seguindo sua convenção de sempre retornar uma lista. Foi fornecido um data frame de retornos diários de ações em decimais chamado stock_return.

Este exercício faz parte do curso

R Intermediário para Finanças

Ver curso

Instruções do exercício

  • Imprima stock_return para ver o data frame.
  • Use lapply() para obter a média (mean) de cada coluna.
  • Crie uma função para o índice de Sharpe. Ela deve pegar a média dos retornos, subtrair dela a taxa livre de risco (.03%) e depois dividir pelo desvio padrão dos retornos.
  • Use lapply() para calcular o índice de Sharpe de cada coluna.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Print stock_return
___

# lapply to get the average returns
___

# Sharpe ratio
sharpe <- function(returns) {
    (___ - .0003) / ___
}

# lapply to get the sharpe ratio
___
Editar e executar o código