Commit Graph

874 Commits

Author SHA1 Message Date
dmichalowicz 7e83a8df5f BUG: NumericalExpressions fail to merge with too many inputs 2016-03-23 14:04:50 -04:00
Scott Sanderson 3c53b4944b TEST: Test not calling super()._validate. 2016-03-19 19:09:16 -04:00
Scott Sanderson bae78ae522 MAINT: Use clearer parameter name. 2016-03-19 17:04:28 -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 1f0e1e8908 BUG: Allow Filter comparisons with AssetExists.
Allow comparisons like SomeFilter() & AssetExists().

Previously such comparisons would fail because & and | on Filters
explicitly checked that the other side of the operator was also a
Filter.

We now only enforce that the other side of the expression is a Term
with a dtype of bool_.
2016-03-19 17:04:28 -04:00
Adam Blackwell ebda1b2ec8 TST: fixing relative imports 2016-03-16 12:17:53 -04:00
Joe Jevnik 71f4e28e90 Merge pull request #1054 from quantopian/with-trading-env
WithTradingEnvironmnet and WithSimParams
2016-03-15 19:35:33 -04:00
Joe Jevnik 792860b4cb MAINT: rename bz.Data -> bz.data 2016-03-15 14:29:48 -04:00
dmichalowicz 990c76e9fb BUG: Empty pipeline failed to tz_localize 2016-03-15 14:19:31 -04:00
Eddie Hebert 0f14972e08 ENH: Unadjusted window data for minute bars.
Add a method to minute bar reader which returns the OHLCV for all
requested fields for a list assets over the specified start and end
minutes.

Initial usage is intended for use by a loader which consumes minute bar
data to resample into daily bars, but may also be used when aggregating
minute data during '1d' history calls in Q2.0.

This iteration does not include including of early closes.
2016-03-14 21:52:01 -04:00
Maya Tydykov 8022a47f74 BUG: fix previous frame logic and buyback auth tests
WIP: earnings test case separated works

WIP: fix/reorganize buyback auth.

MAINT: clean up

MAINT: fix merge conflicts
2016-03-14 10:39:17 -04:00
Stewart Douglas 0e97a01c05 TST: Test multiple calls to update_positions 2016-03-11 13:16:25 -05:00
Joe Jevnik 721dd36116 TST: move test_utils and adds test fixture classes
Renames zipline.utils.test_utils to zipline.testing

Adds zipline.testing.fixtures.ZiplineTestCase to manage setup and
teardown and adds mixins to define fixtures like an asset finder or
trading calendar.
2016-03-10 15:39:52 -05:00
Maya Tydykov c87293942f TST: remove logging test and move missing sid test.
DOC: add docstring.

TST: reduce test data redundancy.

MAINT: use string constant.
2016-03-08 17:24:04 -05:00
Maya Tydykov 6976f7e459 # This is a combination of 8 commits.
# The first commit's message is:
BUG: ignore sids in deltas missing from asset index.

# This is the 2nd commit message:

MAINT: use correct debugger.

# This is the 3rd commit message:

MAINT: fix set add.

# This is the 4th commit message:

WIP: move sid filtering.

# This is the 5th commit message:

WIP: move filtering logic.

# This is the 6th commit message:

WIP: working test.

# This is the 7th commit message:

TST: clean up test.

# This is the 8th commit message:

STY: fix flake8.
2016-03-08 17:24:04 -05:00
Eddie Hebert 102f08535e Merge pull request #1034 from quantopian/add-floor-to-trading-env
ENH: Add min date to TradingEnvironment.
2016-03-08 15:08:25 -05:00
Scott Sanderson 1b5bc20e38 Merge pull request #1035 from quantopian/refactor-atomic
MAINT: Remove notion of "atomic" pipeline terms.
2016-03-08 14:50:24 -05:00
Eddie Hebert 3208bfdbb6 ENH: Add min date to TradingEnvironment.
Allow creation of TradingEnvironment to specify a minimum date, so that
trading days, market opens, etc. can trimmed to a range more relevant to
the backtest.

This changes is with an eye towards storing all market minutes in the
trading environment, where storing values for much more than the
simulation range starts to become more costly.
2016-03-08 14:40:42 -05: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 eb8fed501b MAINT: add buyback auth to factors init. 2016-03-08 12:28:16 -05:00
Scott Sanderson dd3b3f3afb Merge pull request #1026 from quantopian/pipeline-generic-isempty
ENH: Add `isnull` and `notnull` methods to Factor.
2016-03-07 18:26:42 -05:00
Scott Sanderson f635a14289 ENH: Add isnull and notnull methods to Factor. 2016-03-07 16:19:08 -05:00
Scott Sanderson e810f26097 ENH: Add utilities for checking types generically. 2016-03-07 16:18:33 -05:00
Maya Tydykov 810862eef4 MAINT: rename variables to simplify. 2016-03-03 15:27:16 -05:00
Joe Jevnik 79e7c84a40 TST: use rel imports from tests 2016-02-26 20:22:02 -05:00
Maya Tydykov 18d838be87 MAINT: modify coersion logic.
MAINT: make expected_cols class attributes.

MAINT: make concrete_loader a class attribute.

MAINT: drop sid column before creating loader.

TST: add method to fill df with event cases.

TST: move common case df into test_events.py.

TST: improve tests and fix error message assertions.

STY: fix whitespace.

DOC: update docs.

STY: fix style.

MAINT: clean up

STY: fix indentation.

MAINT: use different assertion method to check error message for python3.4 compatibility.
2016-02-26 09:51:58 -05:00
Maya Tydykov 5b37af6e04 TST: enhance test; add more common data.
STY: fixes for PEP8.
2016-02-25 17:33:46 -05:00
Maya Tydykov e257dc1da9 MAINT: refactor constants to common file.
TST: refactor constants and clarify comments.

TST: clean up/extract constants in tests.

MAINT: add/modify constants.

MAINT: remove obsolete and alphabetize.

MAINT: clean up.

MAINT: modify constants to have named params.

MAINT: extract constants.

STY: fix indentation.

MAINT: refactor common part out of buyback_auth.

MAINT: refactor earnings test logic.
2016-02-25 17:33:45 -05:00
Maya Tydykov ae922bf3ee MAINT: modify next_date_frame and prev_date_frame to mirror previous_value.
MAINT: clean up and improve docs.

BUG: fix imports.

MAINT: refactor test.

MAINT: change class name.

MAINT: remove error since won't be reached.

TST: improve and expand tests.

MAINT: change class name.

MAINT: change class name.

MAINT: extract string constants and remove error that won't be reached.

STY: fix line length.

MAINT: undo name change.
2016-02-25 17:33:44 -05:00
Maya Tydykov 8ceff892c5 BUG: specify UTC and no name-checking.
DOC: fix doc.

MAINT: revert to using getitem.
2016-02-25 17:33:43 -05:00
Maya Tydykov 7ddf18b407 MAINT: use column's missing value.
STY: fix flake8 failures.

MAINT: fixes for compatibility with py2.

MAINT: fix import error.

MAINT: use dict.items() for compatibility with py3.
2016-02-25 17:33:42 -05:00
Maya Tydykov 7100e60474 MAINT: accept more data structures, verify, and select loader dynamically.
MAINT: add fields based on changes to events loader.

MAINT: modify based on expectations of events loader.

MAINT: modify args.

TST: clean up and clarify df access.

TST: fix bugs in test that didn't properly split datasets' data.

MAINT: fix merge error.
2016-02-25 17:33:41 -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
dmichalowicz 5be63f36d5 ENH: Add auto_close_date support for equities 2016-02-22 13:51:20 -05:00
Joe Jevnik 2036f3d389 ENH: condense the blaze query 2016-02-17 20:22:31 -05:00
Scott Sanderson d889f8b08b BUG: Don't use deprecated attribute of exception. 2016-02-16 13:43:25 -05:00
Scott Sanderson b26a40b298 BUG: Check against assets, not sids in pipeline output. 2016-02-16 11:50:10 -05:00
Scott Sanderson cbb59747af TEST: Add test for parameter_space ordering. 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 09be7acaa8 TEST: Test forwarding of missing_value. 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 94c02c710b DEV: Add parameter_space test decorator. 2016-02-12 21:21:19 -05:00
Scott Sanderson 1bf33f9ee0 TEST: Add isolated tests for .latest. 2016-02-12 21:21:19 -05:00
Scott Sanderson a96dd70634 MAINT: Rename ConstantLoader to PrecomputedLoader. 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
Richard Frank 069fe5ccda TST: Updated for new pandas and made clearer types of values 2016-02-11 18:46:43 -05:00
Richard Frank f14002a741 TST: Test fixes for pandas update 2016-02-11 18:46:43 -05:00
Richard Frank ff485950b8 TST: Fix expected value now that assertion is more strict
in newer pandas
2016-02-11 18:46:43 -05:00