НачатьНачать бесплатно

Аргументы 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()
___
Редактировать и запускать код