Closed twiecki closed 7 years ago
Cc @joshpayne - this probably means we remove from the full backtest screen?
Yes.
Perhaps the information_ratio
could be renamed simple_information_ratio
or excess_sharpe
. Excess return / tracking error (which is what is represented now) can perhaps still be a reasonable proxy for an information ratio that uses a more correct "active risk" measure.
I imagine that @marketneutral is referring to the distinction between Active Risk and Tracking Error which is detailed in several places, but most notably the Qian and Hua paper listed below.
Active Risk and Information Ratio Journal of Investment Management, Vol. 2, No. 320-34 (Third Quarter 2004)
Any thoughts ?
That seems reasonable to me.
In order to report a statistic on a strategy, it should be
The current form of information_ratio
is neither (except in perhaps some very narrowly contrived situations). It should be removed or changed. In the absence of a full implementation vis a via Qian and Hua, we could make a simple change that would improve things:
The current definition is in the form:
adjusted_returns = strategy_returns - benchmark_returns
active_risk = std(adjusted_returns)
IR = adjusted_returns / active_risk
This could be changed to:
adjusted_returns = strategy_returns - beta * benchmark_returns
active_risk = std(adjusted_returns)
IR = adjusted_returns / active_risk
where beta
is the beta as calculated elsewhere.
Ok guys, how about this:
add a new statistic called "information_ratio". We can describe in the doc string the assumptions with respect to the Active Risk component. Calculations would follow the logic that @marketneutral posted above.
rename the existing statistic "excess_sharpe". A sound reason for keeping this in there is as follows: a lot of financial information vendors calculate information ratio
using no risk model. (what starts with 'M', and rhymes with 'Orningstar'). It maybe helpful for folks (like me) to have a metric to use as a comparision to what vendors might display.
That ok, at least for now ?
Our Information Ratio calculation (https://github.com/quantopian/empyrical/blob/master/empyrical/stats.py#L590) is wrong as noted by @marketneutral: "The definition is wrong. You need a risk model to calc active risk to benchmark. And the benchmark look through to calc active return."
As this is still a ways off, we should rather delete it instead of having a wrong measure in here.