LoslegenKostenlos loslegen

lapply() auf einem Data Frame

Wenn du statt einer Liste einen Data Frame mit Aktienrenditen hast, kannst du lapply() trotzdem verwenden? Ja! Überraschenderweise sind Data Frames unter der Haube tatsächlich Listen, und ein Aufruf von lapply() wendet die Funktion auf jede Spalte des Data Frames an.

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() hat jede Spalte im Data Frame summiert, gibt aber gemäß seiner Konvention immer eine Liste zurück. Ein Data Frame mit täglichen Aktienrenditen als Dezimalzahlen namens stock_return wurde bereitgestellt.

Diese Übung ist Teil des Kurses

R für Finanzen – Aufbaukurs

Kurs anzeigen

Anleitung zur Übung

  • Gib stock_return aus, um den Data Frame zu sehen.
  • Verwende lapply(), um den Durchschnitt (mean) jeder Spalte zu berechnen.
  • Erstelle eine Funktion für die Sharpe-Ratio. Sie sollte den Durchschnitt der Renditen nehmen, davon den risikofreien Zinssatz (.03%) abziehen und anschließend durch die Standardabweichung der Renditen teilen.
  • Verwende lapply(), um die Sharpe-Ratio jeder Spalte zu berechnen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Print stock_return
___

# lapply to get the average returns
___

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

# lapply to get the sharpe ratio
___
Code bearbeiten und ausführen