CommencezCommencez gratuitement

lapply() sur un data frame

Si, au lieu d'une liste, vous aviez un data frame de rendements boursiers, pourriez-vous quand même utiliser lapply()? Oui! De façon peut-être surprenante, les data frames sont en fait des listes en arrière-plan, et un appel à lapply() appliquerait la fonction à chaque colonne du 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() a additionné chaque colonne du data frame, mais respecte quand même sa convention de toujours retourner une liste. Un data frame de rendements boursiers quotidiens en décimales nommé stock_return est fourni.

Cette activité fait partie du cours

R intermédiaire pour la finance

Voir le cours

Instructions de l’exercice

  • Affichez stock_return pour voir le data frame.
  • Utilisez lapply() pour obtenir la moyenne (mean) de chaque colonne.
  • Créez une fonction pour le ratio de Sharpe. Elle doit prendre la moyenne des rendements, en soustraire le taux sans risque (.03%), puis diviser par l'écart type des rendements.
  • Utilisez lapply() pour calculer le ratio de Sharpe de chaque colonne.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Print stock_return
___

# lapply to get the average returns
___

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

# lapply to get the sharpe ratio
___
Modifier et exécuter le code