Development ----------- :Release: 0.8.5 :Date: TBD .. warning:: This release is still under active development. All changes listed are subject to change at any time. Highlights ~~~~~~~~~~ * Added classifiers and normalization methods to pipeline, along with new datasets and factors. * Added support for Windows with continuous integration on AppVeyor. Enhancements ~~~~~~~~~~~~ * Added new datasets :class:`~zipline.pipeline.data.buyback_auth.CashBuybackAuthorizations` and :class:`~zipline.pipeline.data.buyback_auth.ShareBuybackAuthorizations` for use in the Pipeline API. These datasets provide an abstract interface for adding cash and share buyback authorizations data, respectively, to a new algorithm. pandas-based reference implementations for these datasets can be found in :mod:`zipline.pipeline.loaders.buyback_auth`, and experimental blaze-based implementations can be found in :mod:`zipline.pipeline.loaders.blaze.buyback_auth`. (:issue:`1022`). * Added new built-in factors, :class:`zipline.pipeline.factors.BusinessDaysSinceCashBuybackAuth` and :class:`zipline.pipeline.factors.BusinessDaysSinceShareBuybackAuth`. These factors use the new ``CashBuybackAuthorizations`` and ``ShareBuybackAuthorizations`` datasets, respectively. (:issue:`1022`). * Implemented :class:`zipline.pipeline.Classifier`, a new core pipeline API term representing grouping keys. Classifiers are primarily used by passing them as the ``groupby`` parameter to factor normalization methods. (:issue:`1046`) * Added factor normalization methods: :meth:`zipline.pipeline.Factor.demean` and :meth:`zipline.pipeline.Factor.zscore`. (:issue:`1046`) * Added :meth:`zipline.pipeline.Factor.quantiles`, a method for computing a Classifier from a Factor by partitioning into equally-sized buckets. Also added helpers for common quantile sizes (:meth:`zipline.pipeline.Factor.quartiles`, :meth:`zipline.pipeline.Factor.quartiles`, and :meth:`zipline.pipeline.Factor.deciles`) (:issue:`1075`). Experimental Features ~~~~~~~~~~~~~~~~~~~~~ .. warning:: Experimental features are subject to change. None Bug Fixes ~~~~~~~~~ * Fixed a bug where merging two numerical expressions failed given too many inputs. This caused running a pipeline to fail when combining more than ten factors or filters. (:issue:`1072`) Performance ~~~~~~~~~~~ None Maintenance and Refactorings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ None Build ~~~~~ * Added AppVeyor for continuous integration on Windows. Added conda build of zipline and its dependencies to AppVeyor and Travis builds, which upload their results to anaconda.org labeled with "ci". (:issue:`981`) Documentation ~~~~~~~~~~~~~ None Miscellaneous ~~~~~~~~~~~~~ * Adds :class:`~zipline.testing.fixtures.ZiplineTestCase` which provides hooks to consume test fixtures. Fixtures are things like: :class:`~zipline.testing.fixtures.WithAssetFinder` which will make ``self.asset_finder`` available to your test with some mock data (:issue:`1042`).