I'm trying to replicate the annualized Sharpe ratio of an buy-and-hold strategy for the Dow Jones Industrial Average index for a period consisting of multiple years. I got the daily DJIA (closing) price index (variable: "price") and the risk-free rate (given in a year percentage, variable: "rf").
The procedure I follow:
- Compute daily log returns, by:
log_returns = log(1+(price(t)/price(t-1)-1))
- Compute daily log risk-free rates, by:
log_rf = log(1+(rf/100))/252
- Compute daily excess returns, by:
excess_returns = log_returns-log_rf
- Compute daily Sharpe ratio, by:
daily_sharpe = mean(excess_returns)/std(excess_returns)
- Compute annualized Sharpe ratio, by:
annualized_sharpe = sqrt(252)*daily_sharpe
However the annualized Sharpe ratio doesn't correspond to the reported numbers. Am I missing a step/doing something wrong (with the logs?)?