Argumenty FUN
Często funkcja, którą chcesz zastosować, ma dodatkowe opcjonalne argumenty, które warto dostosować. Rozważmy funkcję percent_to_decimal(), która pozwala użytkownikowi określić liczbę miejsc po przecinku.
percent_to_decimal(5.4, digits = 3)
[1] 0.054
W wywołaniu lapply() możesz podać nazwane argumenty opcjonalne po argumencie FUN – zostaną one przekazane do wywoływanej funkcji.
my_list
$a
[1] 2.444 3.500
$b
[1] 1.100 2.678 3.450
lapply(my_list, FUN = percent_to_decimal, digits = 4)
$a
[1] 0.0244 0.0350
$b
[1] 0.0110 0.0268 0.0345
W tym ćwiczeniu rozbudujesz funkcję obliczającą wskaźnik Sharpe'a tak, aby użytkownik mógł podać stopę wolną od ryzyka jako argument, a następnie użyjesz jej razem z lapply(). Dostępna jest ramka danych dziennych stóp zwrotu akcji wyrażonych jako ułamki dziesiętne o nazwie stock_return.
To ćwiczenie jest częścią kursu
R dla finansów – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Rozbuduj funkcję
sharpetak, aby przyjmowała stopę wolną od ryzyka jako opcjonalny argument. Wartość domyślna powinna wynosić.0003. - Użyj
lapply()nastock_return, aby obliczyć wskaźnik Sharpe'a przy stopie wolnej od ryzyka równej.0004. - Użyj
lapply()nastock_return, aby obliczyć wskaźnik Sharpe'a przy stopie wolnej od ryzyka równej.0009.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
(mean(returns) - ___) / sd(returns)
}
# First lapply()
___
# Second lapply()
___