Commit Graph

142 Commits

Author SHA1 Message Date
Maya Tydykov 11d666daaa TST: add test for 13d filings dataset
MAINT: add 13d filings to factors init

MAINT: rename constant

MAINT: add event_date_col field
2016-04-28 11:59:49 -04:00
Maya Tydykov e726cc94c9 ENH: add 13d filings dataset to pipeline 2016-04-28 11:53:45 -04:00
Maya Tydykov 0191d9d903 MAINT: move filtering for null date rows back to dataframe
TST: test both next and prev event frame loading and use EventsLoader.

BUG: remove extra arg

MAINT: call list on zip for compatibility with python 3
2016-04-25 16:11:12 -04:00
Maya Tydykov 390295481c TST: add test for blaze loader with null data in date col
MAINT: fix blaze query
2016-04-25 11:42:10 -04:00
Maya Tydykov e41c99d077 MAINT: add an event date col field to each loader
MAINT: add event date col field and filter rows where this field is null

TST: modify tests to filter nulls in event date col

MAINT: calculate value repeats by vectorized computation on separate start and end dates.

MAINT: pass DatetimeIndex instead of list of strings
2016-04-25 11:42:08 -04:00
Maya Tydykov f8aa7c2ef4 TST: add test for case when null in expected column 2016-04-25 11:42:06 -04:00
Maya Tydykov e5ccd814e8 Merge pull request #1143 from quantopian/add-final-val-col-to-estimates
ENH: add actual value column to estimates dataset.
2016-04-21 16:23:55 -04:00
Maya Tydykov bd58140b97 ENH: add actual value column to estimates dataset. 2016-04-21 11:45:00 -04:00
dmichalowicz d9bfcaabde ENH: Support multiple outputs for custom factors 2016-04-21 10:57:29 -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
Joe Jevnik bc0b117dc9 MAINT: make the data loading apis more consistent.
Changes BcolzDailyBarWriter to not be an abc, data is passed as an
iterator of (sid, dataframe) pairs to the write method.

Changes the AssetsDBWriter to be a single class which accepts an engine
at construction time and has a `write` method for writing dataframes for
the various tables. We no longer support writing the various other data
types, callers should coerce their data into a dataframe themselves. See
zipline.assets.synthetic for some helpers to do this.

Adds many new fixtures and updates some existing fixtures to use the new
ones:

WithDefaultDateBounds
  A fixture that provides the suite a START_DATE and END_DATE. This is
  meant to make it easy for other fixtures to synchronize their date
  ranges without depending on eachother in strange ways. For example,
  WithBcolzMinuteBarReader and WithBcolzDailyBarReader by default should
  both have data for the same dates, so they may use depend on
  WithDefaultDates without forcing a dependency between them.

WithTmpDir, WithInstanceTmpDir
  Provides the suite or individual test case a temporary directory.

WithBcolzDailyBarReader
  Provides the suite a BcolzDailyBarReader which reads from bcolz data
  written to a temporary directory. The data will be read from
  dataframes and then converted to bcolz files with
  BcolzDailyBarWriter.write

WithBcolzDailyBarReaderFromCSVs
  Provides the suite a BcolzDailyBarReader which reads from bcolz data
  written to a temporary directory. The data will be read from a
  collection of CSV files and then converted into the bcolz data through
  BcolzDailyBarWriter.write_csvs

WithBcolzMinuteBarReader
  Provides the suite a BcolzMinuteBarReader which reads from bcolz data
  written to a temporary directory. The data will be read from
  dataframes and then converted to bcolz files with
  BcolzMinuteBarWriter.write

WithAdjustmentReader
  Provides the suite a SQLiteAdjustmentReader which reads from an in
  memory sqlite database. The data will be read from dataframes and then
  converted into sqlite with SQLiteAdjustmentWriter.write

WithDataPortal
  Provides each test case a DataPortal object with data from temporary
  resources.
2016-04-15 23:46:10 -04:00
Scott Sanderson 4449f289c2 TEST: Test that the mask is what we expect. 2016-04-07 17:29:47 -04:00
dmichalowicz 8db59b387b TST: Overhaul test case 2016-04-07 17:29:47 -04:00
dmichalowicz 5bae74adda ENH: Allow passing a mask when creating a factor 2016-04-07 17:29:47 -04:00
Eddie Hebert 16fd6681a6 ENH: Rewrite of Zipline to use lazy access pattern
More documentation to follow in release notes.

Based on lazy-mainline branch, see for more details.

Also-By: Jean Bredeche <jean@quantopian.com>
Also-By: Andrew Liang <aliang@quantopian.com>
Also-By: Abhijeet Kalyan <akalyan@quantopian.com>
2016-04-04 16:12:58 -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 06dd6e958d TST: recfator tests to use fixtures
MAINT: use np.array

MAINT: return cols rather than modifying attribute
2016-03-29 13:12:50 -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 9a04621781 ENH: Add eq and __ne__ to Classifier. 2016-03-28 15:46:28 -04:00
Scott Sanderson 0ebb72fe0d TEST: Explicitly use int64 everywhere.
Otherwise these tests will fail on 32-bit systems.
2016-03-28 12:21:58 -04:00
Scott Sanderson 076868f5a1 MAINT: Refactor shared code into test method. 2016-03-28 11:56:15 -04:00
Scott Sanderson fe22bde998 TEST: Test uneven buckets in quantiles. 2016-03-28 11:34:58 -04:00
Scott Sanderson c6e58af51b TEST: Test quantiles with better input.
Take the log of arange so that we know we don't depend on linearity of
the input.
2016-03-28 09:24:56 -04:00
Scott Sanderson 18bd7010b5 ENH: Improve short_reprs of classifier/normalizer.
GroupedRowTransform now shows the name of its transform, and Quantiles
shows the number of quantiles.

These are used by Pipeline.show_graph().
2016-03-25 15:11:18 -04:00
Scott Sanderson 758d6c74fc ENH: Add isnull and notnull for classifiers. 2016-03-25 15:11:18 -04:00
Scott Sanderson 5ed1a4fcd1 ENH: Add quartiles/quintiles/deciles.
They're all syntactic sugar for the equivalent invocations of quantiles.
2016-03-25 15:11:18 -04:00
Scott Sanderson 872b84e09a ENH: Implement Factor.quantiles. 2016-03-25 15:11:18 -04:00
Scott Sanderson b85eb36da8 TEST: Add test for demean example. 2016-03-25 15:11:18 -04:00
Richard Frank a1ad717920 TST: Clean up refs to adjustments db, so windows can remove its dir 2016-03-23 15:26:53 -04:00
Richard Frank 335f73e1e9 TST: Windows fixups 2016-03-23 15:26:53 -04:00
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
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
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
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
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
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