Коэффициент скользящего тидикванта с использованием динамической безрисковой ставки

Первый раз постер так извините за любые вопросы форматирования.

Я рассчитываю передать безрисковую ставку динамически в функцию 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")

Спасибо!

0 ответов

Другие вопросы по тегам