Releases: quantopian/pyfolio
Releases · quantopian/pyfolio
Bug fix
Bug fix
Risk and performance attribution
New features
- Previously,
pyfolio
has required a benchmark, usually the U.S. market
returnsSPY
. 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
- Many features have been more extensively troubleshooted, maintained and
tested. By Ana Ruelas and Vikram
Narayan. - Various fixes to support pandas versions >= 0.18.1 PR443. By Andrew Daniels.
Risk analysis
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
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
orestimate_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
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 allowsZipline
andpyfolio
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
v0.5.0
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
- OOS data is now overlaid on top of box plot PR306 by Ana Ruelas
- New logo PR298 by Taso Petridis and Richard Frank
- Raw returns plot and cumulative log returns plot PR294 by Thomas Wiecki
- Net exposure line to the long/short exposure plot PR301 by Ana Ruelas
Bugfixes
- Fix drawdown behavior and pandas exception in tear-sheet creation PR297 by Flavio Duarte
v0.3.1
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:
- Shane Bussman
- @MridulS
- @YihaoLU
- @jkrauss82
- @tswrightsandpointe
- @cgdeboer