mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-24 13:00:57 +08:00
153 lines
5.9 KiB
Plaintext
153 lines
5.9 KiB
Plaintext
Development
|
|
-----------
|
|
|
|
:Release: 0.8.4
|
|
:Date: TBD
|
|
|
|
.. warning::
|
|
This release is still under active development. All changes listed are
|
|
subject to change at any time.
|
|
|
|
Highlights
|
|
~~~~~~~~~~
|
|
|
|
* Added a new :class:`~zipline.pipeline.data.EarningsCalendar` dataset
|
|
for use in the Pipeline API. (:issue:`905`).
|
|
|
|
* :class:`~zipline.assets.assets.AssetFinder` speedups (:issue:`830` and
|
|
:issue:`817`).
|
|
|
|
Enhancements
|
|
~~~~~~~~~~~~
|
|
|
|
* Adds a way for users to provide a context manager to use when executing the
|
|
scheduled functions (including ``handle_data``). This context manager will be
|
|
passed the :class:`~zipline.protocol.BarData` object for the bar and will
|
|
be used for the duration of all of the functions scheduled to run. This can be
|
|
passed to :class:`~zipline.algorithm.TradingAlgorithm` by the keyword argument
|
|
``create_event_context`` (:issue:`828`).
|
|
|
|
* Added support for :class:`zipline.pipeline.factors.Factor` instances with
|
|
``datetime64[ns]`` dtypes. (:issue:`905`)
|
|
|
|
* Added a new :class:`~zipline.pipeline.data.earnings.EarningsCalendar` dataset
|
|
for use in the Pipeline API. This dataset provides an abstract interface for
|
|
adding earnings announcement data to a new algorithm. A pandas-based
|
|
reference implementation for this dataset can be found in
|
|
:mod:`zipline.pipeline.loaders.earnings`, and an experimental blaze-based
|
|
implementation can be found in
|
|
:mod:`zipline.pipeline.loaders.blaze.earnings`. (:issue:`905`).
|
|
|
|
* Added new built-in factors,
|
|
:class:`zipline.pipeline.factors.BusinessDaysUntilNextEarnings` and
|
|
:class:`zipline.pipeline.factors.BusinessDaysSincePreviousEarnings`. These
|
|
factors use the new ``EarningsCalendar`` dataset. (:issue:`905`).
|
|
|
|
* Added :meth:`~zipline.pipeline.factors.Factor.isnan`,
|
|
:meth:`~zipline.pipeline.factors.Factor.notnan` and
|
|
:meth:`~zipline.pipeline.factors.Factor.isfinite` methods to
|
|
:class:`zipline.pipeline.factors.Factor` (:issue:`861`).
|
|
|
|
* Added :class:`zipline.pipeline.factors.Returns`, a built-in factor which
|
|
calculates the percent change in close price over the given
|
|
window_length. (:issue:`884`).
|
|
|
|
* Added a new built-in factor:
|
|
:class:`~zipline.pipeline.factors.AverageDollarVolume`. (:issue:`927`).
|
|
|
|
* Added :class:`~zipline.pipeline.factors.ExponentialWeightedMovingAverage` and
|
|
:class:`~zipline.pipeline.factors.ExponentialWeightedMovingStdDev`
|
|
factors. (:issue:`910`).
|
|
|
|
* Allow :class:`~zipline.pipeline.data.DataSet` classes to be subclassed where
|
|
subclasses inherit all of the columns from the parent. These columns will be
|
|
new sentinels so you can register them a custom loader (:issue:`924`).
|
|
|
|
Experimental Features
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. warning::
|
|
|
|
Experimental features are subject to change.
|
|
|
|
* Added support for parameterized ``Factor`` subclasses. Factors may specify
|
|
``params`` as a class-level attribute containing a tuple of parameter names.
|
|
These values are then accepted by the constructor and forwarded by name to
|
|
the factor's ``compute`` function. This API is experimental, and may change
|
|
in future releases.
|
|
|
|
Bug Fixes
|
|
~~~~~~~~~
|
|
|
|
* Fixes an issue that would cause the daily/minutely method caching to change
|
|
the ``len`` of a :class:`~zipline.protocol.SIDData` object. This would cause
|
|
us to think that the object was not empty even when it was (:issue:`826`).
|
|
|
|
* Fixes an error raised in calculating beta when benchmark data were sparse.
|
|
Instead `numpy.nan` is returned (:issue:`859`).
|
|
|
|
* Fixed an issue pickling :func:`~zipline.utils.sentinel.sentinel` objects
|
|
(:issue:`872`).
|
|
|
|
* Fixed spurious warnings on first download of treasury data (:issue `922`).
|
|
|
|
* Corrected the error messages for :func:`~zipline.api.set_commission` and
|
|
:func:`~zipline.api.set_slippage` when used outside of the ``initialize``
|
|
function. These errors called the functions ``override_*`` instead of
|
|
``set_*``. This also renamed the exception types raised from
|
|
``OverrideSlippagePostInit`` and ``OverrideCommissionPostInit`` to
|
|
:class:`~zipline.errors.SetSlippagePostInit` and
|
|
:class:`~zipline.errors.SetCommissionPostInit` (:issue:`923`).
|
|
|
|
|
|
Performance
|
|
~~~~~~~~~~~
|
|
|
|
* Speeds up :meth:`~zipline.assets.assets.AssetFinder.lookup_symbol` by adding
|
|
an extension, :class:`~zipline.assets.assets.AssetFinderCachedEquities`, that
|
|
loads equities into dictionaries and then directs
|
|
:meth:`~zipline.assets.assets.AssetFinder.lookup_symbol` to these dictionaries
|
|
to find matching equities (:issue:`830`).
|
|
|
|
* Improved performance of
|
|
:meth:`~zipline.assets.assets.AssetFinder.lookup_symbol` by performing
|
|
batched queries. (:issue:`817`).
|
|
|
|
Maintenance and Refactorings
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Asset databases now contain version information to ensure compatibility
|
|
with current Zipline version (:issue:`815`).
|
|
|
|
Build
|
|
~~~~~
|
|
|
|
* Makes zipline install requirements more flexible (:issue:`825`).
|
|
* Use ``versioneer`` to manage the project ``__version__`` and setup.py version
|
|
(:issue:`829`).
|
|
* Fixed coveralls integration on travis build (:issue:`840`).
|
|
|
|
Documentation
|
|
~~~~~~~~~~~~~
|
|
|
|
* Document the release process for developers (:issue:`835`).
|
|
* Added reference docs for the Pipeline API. (:issue:`864`).
|
|
* Added reference docs for Asset Metadata APIs. (:issue:`864`).
|
|
* Generated documentation now includes links to source code for many classes
|
|
and functions. (:issue:`864`).
|
|
* Added platform-specific documentation describing how to find binary
|
|
dependencies. (:issue:`883`).
|
|
|
|
Miscellaneous
|
|
~~~~~~~~~~~~~
|
|
|
|
* Added a :meth:`~zipline.pipeline.pipeline.Pipeline.show_graph` method to render
|
|
a Pipeline as an image (:issue:`836`).
|
|
* Adds :func:`~zipline.utils.test_utils.subtest` decorator for creating subtests
|
|
without ``nose_parameterized.expand`` which bloats the test output
|
|
(:issue:`833`).
|
|
* Limits timer report in test output to 15 longest tests (:issue:`838`).
|
|
* Treasury and benchmark downloads will now wait up to an hour to download
|
|
again if data returned from a remote source does not extend to the date
|
|
expected. (:issue:`841`).
|