Commit Graph
50 Commits
Author SHA1 Message Date
Scott Sanderson 62d69db7f6 MAINT: Remove empty inputs from BoundColumn.
They belong on LoadableTerm instead.
2016-08-17 16:52:09 -04:00
dmichalowicz d8e9fa91bd Loader return column vector for no sids case 2016-07-01 12:18:32 -04:00
dmichalowicz 393f82e81e ENH: Add single-column input/output capabilities to pipeline terms 2016-06-23 10:24:09 -04:00
Scott Sanderson bc302beec9 MAINT: Rework event datasets.
- Refactored EventsLoader and BlazeEventsLoader to not require a
  subclass per dataset.  Instead, you now pass a map from columns to
  event fields directly to the EventsLoader constructor.

- Removed a large number of Quantopian-specific datasets and associated
  tests.

- Rewrote the core logic of EventsLoader and BlazeEventsLoader to share
  index calculations across multiple requested columns.

- Fixed a bug where event fields were incorrectly forward-filled when
  null values were present in an event.
2016-06-10 19:22:27 -04:00
dmichalowicz 86486803b6 BUG: custom factor outputs naming collisions 2016-05-25 15:41:16 -04:00
Maya Tydykov 751a08a8a1 MAINT: move constants to appropriate files 2016-05-20 10:47:56 -04:00
Maya Tydykov 3d0764a50c ENH: add dividend type column
BUG: add back constant
2016-05-20 10:47:56 -04:00
Maya Tydykov 8a3b82c536 ENH: add column for currency type 2016-05-20 10:47:55 -04:00
dmichalowicz 1ec0bced6d ENH: Add builtin factors for correlation and regression 2016-05-18 15:11:12 -04:00
Maya Tydykov 6b60e447a0 MAINT: incorporate string support
STY: remove unused imports

MAINT: change dtype to object for compatibility with python3

MAINT: rename pipeline columns and constants for clarity

MAINT: rename column
2016-05-12 10:50:31 -04:00
Maya Tydykov 3d521561f5 TST: update tests to handle new buyback auth design
MAINT: add back cash amount constant

BUG: fix field names

BUG: pass remaining args

WIP: make buyback units parameterized so that user can choose

BUG: fix filtering based on units parameter

WIP: test for undesired units

Revert "WIP: make buyback units parameterized so that user can choose"

This reverts commit df3b838d525bff5026eba1d81865c6645d534c88.
2016-05-11 16:24:32 -04:00
Maya Tydykov 24019880af MAINT: redesign buyback auth datasets and factor 2016-05-11 16:24:31 -04:00
Scott Sanderson 7a4e9fd61a ENH: Make None the default for string columns. 2016-05-04 19:10:19 -04:00
Scott Sanderson ce4378416a MAINT: Remove lazy imports of Latest.
They're no longer needed to break import cycles.
2016-05-04 15:54:51 -04:00
Scott Sanderson 8de45540f2 ENH: NaN semantics for LabelArray missing values. 2016-05-04 15:54:50 -04:00
Scott Sanderson bb6f908036 TEST: Add test for categorical postprocessing. 2016-05-04 15:54:50 -04:00
Scott Sanderson 5f190395ad ENH: Add support for strings in Pipeline.
- Adds a new class, ``LabelArray``, which is a subclass of np.ndarray.
  LabelArray is conceptually similar to pandas.Categorical, in that it
  stores data with many duplicate values as indices into an array of
  unique values.  For string data with many duplicates (e.g. time-series
  of tickers or or industry classifications), this provides multiple
  orders of magnitude of improvement when doing string operations,
  especially string comparison/matching operations.

- Adds a new generic object "specialization" for `AdjustedArrayWindow`,
  and a corresponding ObjectOverwrite adjustment.

- Adds a new ``postprocess`` method to ``zipline.pipeline.term.Term``.
  This method is called on the final result of any pipeline expression
  after screen filtering has occurred. The default implementation of
  ``postprocess`` is identity, but Classifier overrides it to coerce
  string columns into pandas.Categoricals before presenting them to the
  user.
2016-05-04 15:50:52 -04:00
Maya Tydykov e726cc94c9 ENH: add 13d filings dataset to pipeline 2016-04-28 11:53:45 -04:00
Maya Tydykov bd58140b97 ENH: add actual value column to estimates dataset. 2016-04-21 11:45:00 -04:00
Maya Tydykov 1531568899 ENH: add custom dataset for estimize
MAINT: alphabetize constants

MAINT: remove obsolete column

TST: refactor tests to use common code

MAINT: remove unneeded fields from dataset

MAINT: remove obsolete earnings estimates columns and refactor
2016-04-19 11:29:03 -04:00
Scott Sandersonanddmichalowicz 88eeb3689d MAINT: Make dependencies a dict. 2016-04-07 17:29:47 -04:00
Maya Tydykov d7a012a477 MAINT: add dividends datasets to inits
DOC: add whatsnew entries
2016-03-29 17:43:01 -04:00
Maya Tydykov e8185a1512 MAINT: reorganize - move testing mixin to fixtures
BUG: correctly create asset finder

MAINT: rename fixture

STY: fixes for flake8

STY: add space around assignment

MAINT: add var back to constructor

MAINT: remove unused import

MAINT: compare var with None directly

MAINT: fix merge errors
2016-03-29 13:15:16 -04:00
Maya Tydykov 8a28e82d32 ENH: add dividends to pipeline
MAINT: remove record date - not needed.

MAINT: restructure dividends dataset.

MAINT: restructure dividends factors.

WIP: update dividends tests.

MAINT: correct the way to get the 'next' event frame.
2016-03-29 13:12:50 -04:00
Scott Sanderson 387c43511a DOC: Add missing word in docstring. 2016-03-20 17:05:48 -04:00
Scott Sanderson 53d3b0855b ENH: Add support for Classifiers.
Classifiers are computations that represent grouping keys. They can be
used in conjuction with normalization functions like ``zscore`` or
``demean`` to perform normalizations over subsets of a dataset.

Notable changes:

- Added ``demean()`` and ``zscore()`` methods to ``Factor``.

- Added a classifier versions of ``Latest`` and ``CustomTermMixin``.
  The .latest attribute of int64 dataset columns no produces a
  classifier by default.

- Added ``Everything``, a classifier that maps all data to the same
  value.

- Added ``zipline.lib.normalize``, which implements a naive, pure-Python
  grouped normalize function.  This will likely be moved to Cython in a
  subsequent PR.
2016-03-19 17:04:28 -04:00
Scott Sanderson 535d05e714 MAINT: Remove notion of "atomic" pipeline terms.
Replace it by distinguishing between "Loadable" and "Computable".

This is useful because it's now  possible to write computable terms that
don't require  any inputs  (e.g. an `Always`  filter or  an `Everything`
classifier).
2016-03-08 13:49:45 -05:00
Maya Tydykov 810862eef4 MAINT: rename variables to simplify. 2016-03-03 15:27:16 -05:00
Scott Sanderson 14360ca4b8 DOC: Minor docstring tweaks. 2016-03-02 12:25:23 -05:00
Scott Sanderson ec3c370c11 DOC: Update docs on BoundColumn. 2016-03-02 12:18:36 -05:00
Maya Tydykov a877fcfdb6 TST: finish blaze tests for buyback_auth.
DOC: update docs.

MAINT: use correct names.

BUG: explicitly pass all kwargs.

DOC: update docs.

STY: fix whitespace.

TST: rename vars and update docstring.

TST: fix indentation.

MAINT: fix comments.
2016-02-25 17:30:24 -05:00
Maya Tydykov 3142fa516f ENH: add buyback_auth loader.
WIP: finish refactoring blaze events loader.

WIP: tests passing for earnings.

BUG: pass all kwargs explicitly for BlazeEventsCalendarLoader.

If this is not done, resources are not bound correctly.

MAINT: refactor for buyback_auth.
2016-02-25 17:30:21 -05:00
Maya Tydykov 534f820a91 ENH: add buyback_auth dataset. 2016-02-25 17:19:19 -05:00
Maya Tydykov 54e36bc94f MAINT: create abstract events class. 2016-02-25 17:19:19 -05:00
Scott Sanderson 3739df0da6 STY: Flake8. 2016-02-12 21:23:47 -05:00
Scott Sanderson 0115cdc46c MAINT: Fail fast on unsupported dtypes. 2016-02-12 21:23:47 -05:00
Scott Sanderson c105735574 DEV: Add support for specifying missing_value.
Consequently, enable support for `int`-dtyped Factors and BoundColumns.
2016-02-12 21:23:47 -05:00
Scott Sanderson 9c448b5238 DOC: Explain why _BoundColumnDescr exists.
We don't want to bind to parent DataSets when we bind to names because
we want to dynamically create new BoundColumns in subclasses.
2016-02-12 21:21:19 -05:00
Scott Sanderson 0c15f50231 TEST: Add dedicated testing dataset. 2016-02-12 21:20:18 -05:00
Scott Sanderson 28fdecc98b ENH: Make .latest return a Filter on bool columns. 2016-02-12 21:20:18 -05:00
Joe Jevnik 54c58d1205 DOC: add comments about the column collection in DataSetMeta 2015-12-29 10:13:00 -05:00
llllllllll 32baac4e4b ENH: Make datasets have subclass relationships 2015-12-22 12:25:30 -05:00
Scott Sandersonandllllllllll 8220d1ee86 ENH: Adds support for different typed adjusted arrays and adds an
EarningsCalendar loader.

- Moves most of AdjustedArray back into Python. The window iterator is
  the only part that's performance-intensive.

- Adds a bootleg templating system for creating specialized versions of
  AdjustedArrayWindow for each concrete type we care about.

- Adds support for differently dtyped terms in pipeline. This allows us
  to use datetime64s which are needed in the EarningsCalendar.

- Adds EarningsCalendar dataset for the next and previous earnings
  announcements in pipeline.

- Adds in memory loader for EarningsCalendar.

- Adds blaze loader for EarningsCalendar.
2015-12-08 20:24:06 -05:00
llllllllll 4c98c947fb ENH: Adds repr for datasets 2015-10-19 16:35:02 -04:00
llllllllll b032b68a43 ENH: Adds a blaze pipeline loader. 2015-10-19 16:35:02 -04:00
Richard Frank 2dabda6b76 MAINT: Reworked Term atomicity 2015-10-12 16:11:19 -04:00
Richard Frank 83bd1310d9 PERF: Using pipeline_loader_dispatch to group by loader
instead of dataset
2015-10-12 10:48:29 -04:00
Richard Frank e880fa3e34 PERF: Batch load atomic terms by dataset
Added CompositeTerm and now we dispatch more generally on atomic
2015-10-12 10:48:28 -04:00
Scott Sanderson 2034c65599 MAINT: Pluralize top-level term namespaces.
zipline.pipeline.factor -> zipline.pipeline.factors
zipline.pipeline.filter -> zipline.pipeline.filters
2015-10-01 18:03:54 -04:00
Scott Sanderson f82a01841b MAINT: Rename ALL the things.
zipline.modelling.* -> zipline.pipeline.*
zipline.data.ffc.loaders -> zipline.pipeline.loaders
tests/modelling -> tests/pipeline
2015-10-01 18:03:53 -04:00