Thanks to Jason Swearingen for catching a bug in our headline beta calculation and pointing it out on an earlier thread.
After investigation, we found that there was indeed a bug and the calculation for the cumulative value displayed on the overall results tab was flawed, while the calculation for the shorter period beta values was correct. This was causing the two versions of the same value to skew widely from each other at certain times. We've corrected this issue. In the course of our audit of all the risk metrics we found several other places where our overall risk metrics were not in agreement with the period stats as a result of the same bug.
Below is a summary of the items that were corrected, along with the current logic:
Results Overview headline stats:
BETA = cov((r1:ri),(b1:bi)) / var(b1:bi) ; where r1:ri is the time series of daily algorithm returns, and b1:bi is the time series of daily benchmark returns.
ALPHA = r_ann - (rf + BETA * (b_ann - rf)) ; where r_ann is the annualized algorithm returns, rf is the risk free rate, and b_ann is the annualized benchmark returns.
INFORMATION RATIO = (r_ann - b_ann ) / (stdev(r1:ri) * sqrt(252)) ; denominator is annualized standard deviation of the algorithm returns time series.
SHARPE RATIO = (r_ann - rf ) / (stdev(r1:ri) * sqrt(252)) ; denominator is annualized standard deviation of the algorithm returns time series.
Risk Metrics period stats:
- SORTINO RATIO = (r_ann - rf ) / (DR) ; where DR is than annualized standard deviation of returns below the running average return level.
This update represents the latest in our ongoing efforts to improve the completeness and accuracy of our backtester - we appreciate the continued support and expertise of everyone in the community who uses these tools. As we have done in prior posts here is a link to the Excel file that we use as our "answer key" in our development process to verify the accuracy of our risk metrics.
As always, we try to avoid changes to the backtester. In backtesting, stability and correctness are virtues that are sometimes in conflict. We welcome feedback about how we're balancing them.