Skip to content

Releases: quantopian/pyfolio

Bug fix

15 Apr 11:38
Compare
Choose a tag to compare
0.9.2

BUG Get axis instead of figure.

Bug fix

20 Feb 10:36
Compare
Choose a tag to compare

This is a bugfix release fixing an indentation bug. For more information, see #568.

Risk and performance attribution

01 Aug 17:46
Compare
Choose a tag to compare

New features

  • Previously, pyfolio has required a benchmark, usually the U.S. market
    returns SPY. In order to provide support for international equities and
    alternative data sets, pyfolio is now completely independent of benchmarks.
    If a benchmark is passed, all benchmark-related analyses will be performed;
    if not, they will simply be skipped. By George Ho
  • Performance attribution tearsheet PR441, PR433, PR442. By Vikram Narayan.
  • Improved implementation of get_turnover PR332. By Gus Gordon.
  • Users can now pass in extra rows (as a dict or OrderedDict) to display in the perf_stats table PR445. By Gus Gordon.

Maintenance

Risk analysis

31 Aug 09:39
Compare
Choose a tag to compare

This is a major release from 0.7.0, and all users are recommended to upgrade.

New features

  • Adds a new risk tear sheet that analyzes the risk exposures of the portfolio. Generates analysis showing the portfolio's exposures to common factors such as momentum and mean reversion, the portfolio's gross and net exposure to each sector, the gross and net exposure to each market cap bucket, and the overall exposure to illiquid stocks.
  • Adds a new performance attribution tear sheet that analyzes how much of the portfolio's returns is attributable to common factors (e.g. sector or style factors). Generates analysis showing the exposure to, and PnL generated by, common factors.
  • Adds a new simple tear sheet to provide a quick summary analysis using the most important plots in the full tear sheet.
  • Adds a rolling annual volatility plot to the returns tear sheet.
  • Adds new features to performance statistics summary table.

Bugfixes

  • Bug fix with Yahoo and pandas data reader.
  • Rolling Fama-French exposures now performs a multivariate regression instead of multiple linear regressions.
  • Removed information_ratio to remain compatible with empyrical.

Maintenance

  • Migrated Fama-French data loaders from pyfolio to empyrical. utils.load_portfolio_risk_factors is now deprecated in pyfolio, please use the same function in empyrical.
  • Minor decorative changes to plots, particularly the holdings plots.

v0.7.0

27 Jan 16:30
Compare
Choose a tag to compare

This is a major release from 0.6.0, and all users are recommended to upgrade.

New features

  • Adds a transaction timing plot, which gives insight into the strategies' trade times.
  • Adds a plot showing the number of longs and shorts held over time.
  • New round trips plot selects a sample of held positions (16 by default) and shows their round trips. This replaces the old round trip plot, which became unreadable for strategies that traded many positions.
  • Adds basic capability for analyzing intraday strategies. If a strategy makes a large amount of transactions relative to its end-of-day positions, then pyfolio will attempt to reconstruct the intraday positions, take the point of peak exposure to the market during each day, and plot that data with the positions tear sheet. By default pyfolio will automatically detect this, but the behavior can be changed by passing either estimate_intraday=True or estimate_intraday=False to the tear sheet functions (see here).
  • Now formats zipline assets, displaying their ticker symbol.
  • Gross leverage is no longer required to be passed, and will now be calculated from the passed positions DataFrame.

Bugfixes

  • Cone plotting location is now correct.
  • Adjust scaling of beta and Fama-French plots.
  • Removed multiple dependencies, some of which were previously unused.
  • Various text fixes.

v0.6.0

17 Oct 10:26
Compare
Choose a tag to compare

This is a major new release from 0.5.1. All users are recommended to upgrade.

New features

  • Computation of performance and risk measures has been split off into empyrical. This allows Zipline and pyfolio to use the same code to calculate its risk statistics. By Ana Ruelas and Abhi Kalyan.
  • New multistrike cone which redraws the cone when it crossed its initial bounds PR310. By Ana Ruelas and Abhi Kalyan.

Bugfixes

  • Can use most recent PyMC3 now.
  • Depends on seaborn 0.7.0 or later now PR331.
  • Disable buggy computation of round trips per day and per month PR339.

v0.5.0

21 Apr 10:07
Compare
Choose a tag to compare

v0.5.1 (June, 10, 2016)

This is a bugfix release from 0.5.0 with limited new functionality. All users are recommended to upgrade.

New features

Bugfixes

  • Fix drawdown behavior and pandas exception in tear-sheet creation PR297 by Flavio Duarte

v0.3.1

12 Nov 06:59
Compare
Choose a tag to compare

This is a minor release from 0.3 that includes mostly bugfixes but also some new features. We recommend that all users upgrade to this new version.

New features

  • Add Information Ratio PR194 by @MridulS
  • Bayesian tear-sheet now accepts 'Fama-French' option to do Bayesian multivariate regression against Fama-French risk factors PR200 by Shane Bussman
  • Plotting of monthly returns PR195

Bug fixes

  • pos.get_percent_alloc was not handling short allocations correctly PR201
  • UTC bug with cached Fama-French factors commit
  • Sector map was not being passed from create_returns_tearsheet commit
  • New sector mapping feature was not Python 3 compatible PR201

Maintenance

  • We now depend on pandas-datareader as the yahoo finance loaders from pandas will be deprecated PR181 by @tswrightsandpointe

Contributors

Besiders the core developers, we have seen an increase in outside contributions which we greatly appreciate. Specifically, these people contributed to this release: