Commit Graph

2879 Commits

Author SHA1 Message Date
Scott Sanderson 762787a4fe DOC: Tweaks to pipeline language. 2015-10-06 06:56:06 -04:00
Scott Sanderson 5f495f91fc DOC: Restructure example slightly. 2015-10-06 06:56:06 -04:00
Scott Sanderson b949748467 BUG/DOC: Subtraction is what I meant there... 2015-10-06 06:56:06 -04:00
Scott Sanderson 7ea24c20c8 MAINT: Updates to docstrings. 2015-10-06 06:56:06 -04:00
Scott Sanderson 99dfb6573e DOC: Docstrings for Pipeline and CustomFactor. 2015-10-06 06:56:06 -04:00
Stewart Douglas 3ef0ddf0c6 ENH: Add future_symbol API method 2015-10-05 11:19:04 -04:00
Stewart Douglas 3cfdd6cf8c ENH: Add lookup_future_symbol method 2015-10-05 10:25:08 -04:00
Scott Sanderson 557bdcd69d MAINT: Don't name pipelines.
`Pipeline()` no longer takes a name.
`attacH_pipeline` now takes a name.

This is mainly for uniformity with how `Factors` and `Filters` are
handled.
2015-10-02 16:31:29 -04:00
Richard Frank 720d9382bd Merge pull request #746 from quantopian/write_faster
Write faster
2015-10-02 12:21:27 -04:00
Richard Frank 027d4009d8 MAINT: Share constant across modules 2015-10-02 11:53:04 -04:00
Richard Frank c8c83a9f2b MAINT: Don't bother looping through all the keys 2015-10-02 11:53:04 -04:00
Richard Frank a30c4fc689 PERF: Don't build an AssetFinder if no engine is provided
This is an optimization where we're building an environment but not
using its finder.  Ideally, the consumer would use just the calendar,
but it's not fully featured quite yet.
2015-10-02 11:53:04 -04:00
Richard Frank e8c5203e31 MAINT: constraints is always True 2015-10-02 11:53:04 -04:00
Richard Frank 8b98ca7d71 PERF: Reflect the db schema once instead of per table 2015-10-02 09:58:59 -04:00
Richard Frank beac4d6f16 MAINT: Delegate to sqlalchemy metadata
instead of maintaining our own
2015-10-02 09:58:59 -04:00
Richard Frank ea02dcfb14 MAINT: Format the list when making error message 2015-10-02 09:58:59 -04:00
Richard Frank 9a745450cc MAINT: De-dupe retrieving assets 2015-10-02 09:58:59 -04:00
Richard Frank 906b68f2da MAINT: Forward along default_none 2015-10-02 09:58:59 -04:00
Richard Frank 21366e8529 PERF: Convert to ns since epoch vector-wise instead of dt by dt
No longer storing NULL, so make columns not nullable. Instead we're storing NaT.
2015-10-02 09:58:58 -04:00
Richard Frank 702cce4fea MAINT: Simplified set and dict manipulations 2015-10-02 09:58:58 -04:00
Richard Frank b9f2203eed MAINT: Removed unused parameter 2015-10-02 09:58:58 -04:00
Richard Frank 3c8370114f PERF: Write in chunks of 999 instead of chunks of 1 2015-10-02 09:58:58 -04:00
Richard Frank 9d61573e52 MAINT: Instance attribute isn't used 2015-10-02 09:58:58 -04:00
Richard Frank 7424c61ada MAINT: De-duplicate AssetDBWriter subclass initialization 2015-10-02 09:58:58 -04:00
Scott Sanderson 096a0d49fd MAINT: Rename drain_pipeline -> pipeline_output.
More boring, but *drain* carries a connotation of "get everything",
which is misleading.
2015-10-01 18:03:54 -04:00
Scott Sanderson 4f2d3d783a TEST: Template in module name.
Fixes failures when tests are invoked from different paths.
2015-10-01 18:03:54 -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 a40d7e47c1 MAINT: Re-export CustomFactor in zipline.pipeline. 2015-10-01 18:03:54 -04:00
Scott Sanderson 1f6c7ff31f MAINT: Rename ffc_loader -> pipeline_loader. 2015-10-01 18:03:54 -04:00
Scott Sanderson 2d683961bd MAINT: More renaming.
s/FFCEngine/PipelineEngine/
s/FFCLoader/PipelineLoader/
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
Scott Sanderson 1d1092152c BUG: Use numbers.Number to check numbers.
Fixes a bug on Python3 due to the fact that numpy.int64 isn't an
instance of int on Py3.
2015-10-01 18:03:53 -04:00
Scott Sanderson 0a39225c1e MAINT: Add Pipeline to zipline.modelling namespace. 2015-10-01 18:03:53 -04:00
Scott Sanderson 01ea88c225 TEST: Test screen handling in test_handle_split. 2015-10-01 18:03:53 -04:00
Scott Sanderson 98d2ed9940 TST: Refactor test_handle_adjustment.
Pull all the expected_result calculations into a helper.
2015-10-01 18:03:53 -04:00
Scott Sanderson eb997bb5f8 TEST: Pass cls.env for test_handle_adjustment.
Otherwise we inseret random assets into a new TradingEnvironment, which
is surprising in debugging.
2015-10-01 18:03:53 -04:00
Scott Sanderson 8e59d12daf ENH: Pipeline API
- Adds `zipline.pipeline.Pipeline`, a new user-facing class for managing
  pipelines of Modeling API expressions.

- Adds `attach_pipeline` and `drain_pipeline` as API methods

- Removes `add_factor` and `add_filter` as API methods.  These have been
  replaced two new methods on `Pipeline`: `add`, and `apply_screen`.

- Adding a `Filter` as a column no longer implicitly truncates rows from
  the Modelling API output.  It simply causes a new column, of dtype
  `bool` to show up in the output. Removal of rows is now handled by the
  new `apply_screen` method of `Pipeline`.

- Refactors the existing Modeling API tests to reflect the new APIs.
2015-10-01 18:03:53 -04:00
Scott Sanderson 0e0dec49e5 TST: Rename test method. 2015-10-01 18:03:53 -04:00
Scott Sanderson b71db4267c TST: Add missing tests from test_rank_descending. 2015-10-01 18:03:53 -04:00
Scott Sanderson 524c7a0bb1 DOC: Fix example for require_not_initialized. 2015-10-01 18:03:53 -04:00
Scott Sanderson a483455183 ENH: Add zipline.utils.numpy_utils.
Currently provides two functions for doing fancy things with array
strides: `repeat_first_axis` and `repeat_last_axis`.
2015-10-01 18:03:53 -04:00
Scott Sanderson b766ce6ebd ENH: Add zipline.utils.cache.
Implements a `CachedObject` utility class for wrapping cached results
with an expiration date.
2015-10-01 18:03:53 -04:00
Scott Sanderson 00c413e9d4 ENH: Add zipline.utils.preprocess.
Implements tools for preprocessing the arguments to user-facing
functions.
2015-10-01 18:03:53 -04:00
Scott Sanderson 75138343ba BUG: Use IGNORE_EXCEPTION_DETAIL in test_doctests.
Causes doctest to not care about the module of the raised exception.
This matters because Python3 includes the module in the formatted
exception, but Python3 doesn't, so the doctest will always fail on one
or the other without this flag.
2015-10-01 18:03:53 -04:00
Scott Sanderson 670706158a ENH: Don't write files when rendering TermGraphs.
Overhauls `zipline.modelling.visualize` to use in-memory buffers when
shelling out to `dot` and friends.

Also adds `svg`, `png`, and `jpeg` attributes to `TermGraph`, and adds a
`_repr_png_` so that `TermGraph` renders as a PNG by default.
2015-10-01 18:03:53 -04:00
Stewart Douglas e33fa988f2 DEP: Remove _convert_asset_str_fields
_convert_asset_str_fields was added to address the fact that the
unicode returned by SQLAlchemy was causing test failures, in
particular test_repr and test_root_symbols failed because of the
leading 'u' character in the unicode of python-2.x. Later it was
pointed out that this method would behave differently in python 2
and 3, in particular the str() method would return bytes in python
2 and unicode in python 3. After investigating it was found that
the _convert_asset_str_fields was no longer  necessary. It is unclear
why the original tests were failing. It is not due to SQLAlchemy
versions, as tests pass for version >1 and <1.
2015-10-01 15:02:23 -04:00
Stewart Douglas 8ba15a6f72 BUG: Correctly test for duplicate symbols 2015-10-01 15:02:23 -04:00
Eddie Hebert 39fff4aa43 Merge pull request #735 from quantopian/remove-minute-performance
MAINT: Remove unused minute performance period.
2015-10-01 10:16:52 -04:00
James Kirk a4da2761a2 Merge pull request #738 from grundgruen/asset_ts_bug
BUG: missing comma in _asset_timestamp_fields
2015-10-01 09:25:49 -04:00
Warren O'Neill 66b36919a3 BUG: missing comma in _asset_timestamp_fields 2015-10-01 10:57:54 +02:00