FUN-argumenten
Vaak heeft de functie die je wilt toepassen andere optionele argumenten die je misschien wilt aanpassen. Kijk naar de functie percent_to_decimal() waarmee de gebruiker het aantal decimalen kan opgeven.
percent_to_decimal(5.4, digits = 3)
[1] 0.054
In de aanroep van lapply() kun je de benoemde optionele argumenten na het FUN-argument specificeren; deze worden dan doorgegeven aan de functie die je toepast.
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
In deze oefening breid je je sharpe-ratiofunctie uit zodat de gebruiker het risicovrije rendement als argument kan meegeven, en gebruik je dit vervolgens met lapply(). Een data frame met dagelijkse aandelenrendementen als decimalen genaamd stock_return is beschikbaar.
Deze oefening maakt deel uit van de cursus
R voor finance voor gevorderden
Oefeninstructies
- Breid
sharpeuit zodat je het risicovrije rendement als optioneel argument kunt opgeven. De standaardwaarde moet.0003zijn. - Gebruik
lapply()opstock_returnom de sharpe-ratio te bepalen als het risicovrije rendement.0004is. - Gebruik
lapply()opstock_returnom de sharpe-ratio te bepalen als het risicovrije rendement.0009is.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
(mean(returns) - ___) / sd(returns)
}
# First lapply()
___
# Second lapply()
___