Today, we shipped several improvements to the performance attribution tear sheet, to help make the chart more informative and easier to read. The major changes are:
- Instead of daily returns attribution, we now provide cumulative returns attribution. It was hard to derive meaningful trends from the crowded daily chart, whereas the cumulative chart makes it easy to understand which common factors are driving an algorithm's returns over time.
- Returns attribution and risk exposure charts have each been split into two. It was hard to read a line chart with 16 lines, so they've now been split into sector and style charts.
There are also a couple of minor visual tweaks that are new:
- The legend font size has been increased, which should help with readability on certain screens.
- The x-axis labels now explicitly render for each plot, instead of using shared x-axis labels at the very bottom of the tear sheet.
While these changes affect the default create_perf_attrib_tear_sheet()
, you can always run your own studies using the attributed_factor_returns
and factor_exposures
attributes on the BacktestResult object. For example, if you'd like to plot just your momentum exposures versus your technology exposures, without getting the entire tear sheet:
bt.factor_exposures[['momentum', 'technology']].plot()
Attached to this post is a notebook that shows the new charts in action. It uses the same algorithm mentioned in the original risk model post.