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, ...)

Arguments

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

Details

$$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.

References

Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.90-91

Examples

data(portfolio_bacon) print(BurkeRatio(portfolio_bacon[,1])) #expected 0.74
#> [1] 0.7447309
print(BurkeRatio(portfolio_bacon[,1], modified = TRUE)) #expected 3.65
#> [1] 3.648421
data(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 Inf
print(BurkeRatio(managers['1996',1]))
#> [1] 4.779747
print(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 Inf
print(BurkeRatio(managers['1996',1], modified = TRUE))
#> [1] 16.55753