Zipline 0.9.0 Adds Pipeline Factors, Classifiers, and Event Data
Summary
These release notes describe additions to Zipline’s Pipeline API in version 0.9.0. New datasets expose buyback authorizations and dividend information organized by ex-date, payment date, or announcement date. Related built-in factors measure business days since buyback authorization or dividend announcement, and days until or since an ex-date. These additions let algorithms incorporate corporate-event data and timing features into pipeline computations.
The release also introduces classifiers for grouping assets, factor normalization through demeaning and z-scores, and factor-to-quantile bucketing, including common bucket helpers. A bug fix addresses failures when numerical expressions combine more than ten factors or filters. The notes additionally mention Windows build support and continuous integration, but provide no trading strategy, empirical evaluation, or evidence about the predictive value of the new fields. They are a software capability summary; researchers still need appropriate data handling and independent tests before using these features in a strategy.
Key ideas
- The Pipeline API gains datasets for buyback authorizations and dividend event dates.
- New factors measure business-day timing around buybacks and dividend events.
- Classifiers provide grouping keys for factor normalization and related operations.
- Factors can be demeaned, converted to z-scores, or partitioned into quantile buckets.
- The release notes describe software additions and fixes, not strategy performance.
Tags
Full text
# 0.9.0 Release 0.9.0 ------------- :Release: 0.9.0 :Date: March 29, 2016 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 datasets :class:`~zipline.pipeline.data.dividends.DividendsByExDate`, :class:`~zipline.pipeline.data.dividends.DividendsByPayDate`, and :class:`~zipline.pipeline.data.dividends.DividendsByAnnouncementDate` for use in the Pipeline API. These datasets provide an abstract interface for adding dividends data organized by ex date, pay date, and announcement date, respectively, to a new algorithm. pandas-based reference implementations for these datasets can be found in :mod:`zipline.pipeline.loaders.dividends`, and experimental blaze-based implementations can be found in :mod:`zipline.pipeline.loaders.blaze.dividends`. (:issue:`1093`). * 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`). * Added new built-in factors, :class:`zipline.pipeline.factors.BusinessDaysSinceDividendAnnouncement`, :class:`zipline.pipeline.factors.BusinessDaysUntilNextExDate`, and :class:`zipline.pipeline.factors.BusinessDaysSincePreviousExDate`. These factors use the new ``DividendsByAnnouncementDate` and ``DividendsByExDate`` datasets, respectively. (:issue:`1093`). * 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`).
Shown in full with attribution under the source's licence. Licence: Apache-2.0
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.