CommencerCommencer gratuitement

lapply() sur un data frame

Si, au lieu d'une liste, vous aviez un data frame de rendements d'actions, pourriez-vous tout de même utiliser lapply() ? Oui ! De façon peut-être surprenante, les data frames sont en réalité des listes en interne, 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 suit toujours sa convention de retourner une liste. Un data frame de rendements journaliers d'actions en décimales appelé stock_return a été fourni.

Cet exercice fait partie du cours

R intermédiaire pour la finance

Afficher le cours

Instructions

  • 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 cet exemple de code.

# 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