Аргументы FUN
Нередко функция, которую вы хотите применить, имеет дополнительные необязательные аргументы, которые можно настроить. Рассмотрим функцию percent_to_decimal(), позволяющую пользователю указать количество знаков после запятой.
percent_to_decimal(5.4, digits = 3)
[1] 0.054
При вызове lapply() именованные необязательные аргументы можно указать после аргумента FUN — они будут переданы применяемой функции.
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
В этом упражнении вы расширите функцию вычисления коэффициента Шарпа, добавив возможность передавать безрисковую ставку в качестве аргумента, а затем используете её вместе с lapply(). Доступен фрейм данных stock_return с дневной доходностью акций в виде десятичных дробей.
Это упражнение является частью курса
Средний уровень R для финансов
Инструкции к упражнению
- Расширьте функцию
sharpe, добавив безрисковую ставку в качестве необязательного аргумента. Значение по умолчанию должно быть равно.0003. - Используйте
lapply()наstock_return, чтобы вычислить коэффициент Шарпа при безрисковой ставке.0004. - Используйте
lapply()наstock_return, чтобы вычислить коэффициент Шарпа при безрисковой ставке.0009.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
(mean(returns) - ___) / sd(returns)
}
# First lapply()
___
# Second lapply()
___