TreynorRatio      package:PerformanceAnalytics      R Documentation

_c_a_l_c_u_l_a_t_e _T_r_e_y_n_o_r _R_a_t_i_o _o_f _e_x_c_e_s_s _r_e_t_u_r_n _o_v_e_r _C_A_P_M _b_e_t_a

_D_e_s_c_r_i_p_t_i_o_n:

     The Treynor ratio is similar to the Sharpe Ratio, except it uses
     beta as the volatility measure (to divide the investment's excess
     return over the beta).

_U_s_a_g_e:

     TreynorRatio(Ra, Rb, rf = 0, scale = 12, ...)

_A_r_g_u_m_e_n_t_s:

      Ra: a vector, matrix, data frame, timeSeries or zoo object of
          asset returns 

      Rb: return vector of the benchmark asset 

      rf: risk free rate, in same period as your returns 

   scale: number of periods in a year (daily scale = 252, monthly scale
          = 12, quarterly scale = 4) 

     ...: any other passthru parameters 

_D_e_t_a_i_l_s:

     Equation:

              frac{overline{(R_{a}-R_{f})}}{beta_{a,b}}

_V_a_l_u_e:

     Treynor ratio

_A_u_t_h_o_r(_s):

     Peter Carl

_R_e_f_e_r_e_n_c_e_s:

_S_e_e _A_l_s_o:

     'SharpeRatio' 'SortinoRatio' 'CAPM.beta'

_E_x_a_m_p_l_e_s:

     # First we load the data
     data(edhec)
     edhec.length = dim(edhec)[1]
     start = rownames(edhec[1,])
     start
     end = rownames(edhec[edhec.length,])
     edhec.zoo = zoo(edhec, order.by = rownames(edhec))
     rf.zoo = download.RiskFree(start = start, end = end)
     sp500.zoo = download.SP500PriceReturns(start = "1996-12-31", end = end)

     # Now we have to align it as "monthly" data
     time(edhec.zoo) = as.yearmon(time(edhec.zoo))
     time(sp500.zoo) = as.yearmon(time(sp500.zoo))
     time(rf.zoo) = as.yearmon(time(rf.zoo))
     data.zoo = merge(edhec.zoo[,9,drop=FALSE],sp500.zoo)
     time(data.zoo) = as.Date(time(data.zoo),format="%b %Y")
     time(rf.zoo) = as.Date(time(rf.zoo),format="%b %Y")

     TreynorRatio(data.zoo[,1], data.zoo[,2], rf=rf.zoo)

