Zacznij terazZacznij za darmo

lapply() na ramce danych

Co by było, gdybyś zamiast listy miał ramkę danych ze stopami zwrotu akcji – czy lapply() nadal by działało? Tak! Co może zaskakiwać, ramki danych są w gruncie rzeczy listami, dlatego wywołanie lapply() zastosuje funkcję do każdej kolumny ramki danych.

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() zsumowało każdą kolumnę ramki danych, zachowując przy tym swój zwyczaj – zawsze zwraca listę. Przygotowano ramkę danych z dziennymi stopami zwrotu akcji wyrażonymi w postaci ułamków dziesiętnych, o nazwie stock_return.

To ćwiczenie jest częścią kursu

R dla finansów – poziom średnio zaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl stock_return, aby zobaczyć zawartość ramki danych.
  • Użyj lapply(), aby obliczyć średnią (mean) każdej kolumny.
  • Napisz funkcję obliczającą wskaźnik Sharpe'a. Powinna ona obliczać średnią zwrotów, odejmować od niej stopę wolną od ryzyka (.03%), a następnie dzielić wynik przez odchylenie standardowe zwrotów.
  • Użyj lapply(), aby obliczyć wskaźnik Sharpe'a dla każdej kolumny.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Print stock_return
___

# lapply to get the average returns
___

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

# lapply to get the sharpe ratio
___
Edytuj i uruchom kod