Last chance! 50% off unlimited learning
Sale ends in
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).
TreynorRatio(Ra, Rb, Rf = 0, scale = NA, modified = FALSE)
an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns
return vector of the benchmark asset
risk free rate, in same period as your returns
number of periods in a year (daily scale = 252, monthly scale = 12, quarterly scale = 4)
a boolean to decide whether to return the Treynor ratio or Modified Treynor ratio
To calculate modified Treynor ratio, we divide the numerator by the systematic risk instead of the beta.
Equation:
http://en.wikipedia.org/wiki/Treynor_ratio, Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.77
# NOT RUN {
data(portfolio_bacon)
data(managers)
round(TreynorRatio(managers[,1], managers[,8], Rf=.035/12),4)
round(TreynorRatio(managers[,1], managers[,8], Rf = managers[,10]),4)
round(TreynorRatio(managers[,1:6], managers[,8], Rf=.035/12),4)
round(TreynorRatio(managers[,1:6], managers[,8], Rf = managers[,10]),4)
round(TreynorRatio(managers[,1:6], managers[,8:7], Rf=.035/12),4)
round(TreynorRatio(managers[,1:6], managers[,8:7], Rf = managers[,10]),4)
print(TreynorRatio(portfolio_bacon[,1], portfolio_bacon[,2], modified = TRUE)) #expected 0.7975
print(TreynorRatio(managers['1996',1], managers['1996',8], modified = TRUE))
print(TreynorRatio(managers['1996',1:5], managers['1996',8], modified = TRUE))
# }
Run the code above in your browser using DataLab