Коэффициент скользящего тидикванта с использованием динамической безрисковой ставки
Первый раз постер так извините за любые вопросы форматирования.
Я рассчитываю передать безрисковую ставку динамически в функцию PortfolioAnalytics SharpeRatio.annualized через мутированную функцию PA, свернутую с помощью tq_mutate.
Изменить * В настоящее время я не могу прокрутить окно периода безрисковой ставки вместе с портфелем через группу или столбец. Пример окна будет 120 месяцев и будет расширяться как для возврата, так и безрисковой ставки. Как написано ниже, я могу заменить "Rf =" на число или уравнение, но не на скользящий период. Как я могу включить эту скользящую безрисковую ставку в функцию ниже?
У меня есть список ежемесячных возвратов временных рядов, с одной группой ("портфолио"), содержащей настроенный RFR, который выглядит следующим образом, я также включил RFR в качестве столбца "return.rf", чтобы посмотреть, может ли это также сработать.
Примечание: у Шарпа в таблице ниже РЧ не вычитается
# A tibble: 2,133 x 13
# Groups: portfolio [9]
portfolio index return return.rf Sharpe_12 Sharpe_36 Sharpe_60
<chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
1 BH 1998-04-30 -0.0142 0.00430 NA NA NA
2 BH 1998-05-29 0.000259 0.00400 NA NA NA
3 BH 1998-06-30 -0.0525 0.00410 NA NA NA
4 BH 1998-07-31 -0.00949 0.00400 NA NA NA
5 BH 1998-08-31 0.000536 0.00430 NA NA NA
6 BH 1998-09-30 0.0486 0.00460 NA NA NA
7 BH 1998-10-30 0.00685 0.00320 NA NA NA
8 BH 1998-11-30 -0.00452 0.00310 NA NA NA
9 BH 1998-12-31 0.00615 0.00380 NA NA NA
10 BH 1999-01-29 0.0323 0.00350 NA NA NA
Мой код работает, если я закомментирую прохождение Rf:
tidy_opt_roll_returns <- tidy_opt.returns %>%
tq_mutate(
# tq_mutate args
select = return,
mutate_fun = rollapply,
# rollapply args
width = 120,
align = "right",
FUN = SharpeRatio.annualized,
# mean args ## commented out next three lines ##
# Rf = return.rf,
# tq_mutate args
col_rename = "Sharpe_120")
Спасибо!