TreynorRatio {PerformanceAnalytics} | R Documentation |
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)
Ra |
an xts, 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) |
modified |
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:
(mean(Ra-Rf))/(Beta(Ra,Rb))
ModifiedTreynorRatio = (Rp - Rf)/sytematic risk
Peter Carl, Matthieu Lestel
http://en.wikipedia.org/wiki/Treynor_ratio, Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.77
SharpeRatio
SortinoRatio
CAPM.beta
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))