To calculate Burke ratio we take the difference between the portfolio return and the risk free rate and we divide it by the square root of the sum of the square of the drawdowns. To calculate the modified Burke ratio we just multiply the Burke ratio by the square root of the number of datas.
BurkeRatio(R, Rf = 0, modified = FALSE, ...)
R | an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns |
---|---|
Rf | the risk free rate |
modified | a boolean to decide which ratio to calculate between Burke ratio and modified Burke ratio. |
… | any other passthru parameters |
$$Burke Ratio = \frac{r_P - r_F}{\sqrt{\sum^{d}_{t=1}{D_t}^2}}$$ $$Modified Burke Ratio = \frac{r_P - r_F}{\sqrt{\sum^{d}_{t=1}\frac{{D_t}^2}{n}}}$$
where \(n\) is the number of observations of the entire series, \(d\) is number of drawdowns, \(r_P\) is the portfolio return, \(r_F\) is the risk free rate and \(D_t\) the \(t^{th}\) drawdown.
Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.90-91
data(portfolio_bacon) print(BurkeRatio(portfolio_bacon[,1])) #expected 0.74#> [1] 0.7447309print(BurkeRatio(portfolio_bacon[,1], modified = TRUE)) #expected 3.65#> [1] 3.648421data(managers) print(BurkeRatio(managers['1996']))#> HAM1 HAM2 HAM3 HAM4 HAM5 HAM6 #> Burke ratio (Risk free = 0) 4.779747 Inf 6.340485 4.048153 NA NA #> EDHEC LS EQ SP500 TR US 10Y TR US 3m TR #> Burke ratio (Risk free = 0) NA 4.739828 0.006137083 Infprint(BurkeRatio(managers['1996',1]))#> [1] 4.779747print(BurkeRatio(managers['1996'], modified = TRUE))#> HAM1 HAM2 HAM3 HAM4 HAM5 HAM6 #> Modified Burke ratio (Risk free = 0) 16.55753 Inf 21.96408 14.02321 NA NA #> EDHEC LS EQ SP500 TR US 10Y TR US 3m TR #> Modified Burke ratio (Risk free = 0) NA 16.41925 0.02125948 Infprint(BurkeRatio(managers['1996',1], modified = TRUE))#> [1] 16.55753