Commit Graph

3106 Commits

Author SHA1 Message Date
Scott Sanderson c5d5cfdc65 Merge pull request #861 from quantopian/pipeline-isnan
ENH: Add isnan, notnan, and isfinite Factor methods.
2015-11-18 22:41:37 -05:00
Scott Sanderson b43c4f4c0b ENH: Add isnan, notnan, and isfinite Factor methods. 2015-11-18 21:44:53 -05:00
Scott Sanderson 0cdd88a069 Merge pull request #847 from quantopian/fix-numpy1.10-failures
MAINT: Fix type coercion warnings with numpy 1.10.
2015-11-17 11:39:23 -05:00
Scott Sanderson aef38c4a74 MAINT: Remove unused import. 2015-11-17 11:22:08 -05:00
Scott Sanderson fed6655204 Merge pull request #817 from quantopian/speedup-retrieve-all
Speedup retrieve all
2015-11-16 18:22:59 -05:00
Scott Sanderson 0f349fc3ed MAINT: Fix type coercion warnings with numpy 1.10.
Numpy warns about adding Python integers to uint32s and converting date
objects to datetime64.
2015-11-15 22:42:36 -05:00
Scott Sanderson 4832004c33 TEST: Test fallback to start_date/end_date sorting.
Adds tests asserting that we resolve conflicts in accordance with the
following rules when we have multiple assets holding the same symbol at
the same time:

If multiple SIDs exist for symbol S at time T, return the candidate
SID whose start_date is highest. (200 cases)

If multiple SIDs exist for symbol S at time T, the best candidate
SIDs share the highest start_date, return the SID with the highest
end_date. (34 cases)

It is the opinion of the author (ssanderson) that we should consider
this malformed input and fail here.  But this is the current indended
behavior of the code, and I accidentally broke it while refactoring.
These will serve as regression tests until the time comes that we
decide to enforce this as an error.

See https://github.com/quantopian/zipline/issues/837 for more
details.
2015-11-13 18:26:54 -05:00
Scott Sanderson 06ab766544 MAINT: De-dupe shared filtering logic.
We filter for assets that were alive at some reference date in multiple
places.
2015-11-13 18:26:54 -05:00
Scott Sanderson a3bafd8dc7 MAINT/STY: Use dict.get instead of in check. 2015-11-13 18:26:54 -05:00
Scott Sanderson 26611b5d60 MAINT: Don't double-coerce to Timestamp.
`normalize` would already fail if the input isn't a Timestamp.
2015-11-13 18:26:54 -05:00
Scott Sanderson b9e4b62374 PERF: Fewer conversions in _convert_row_to_equity. 2015-11-13 18:26:54 -05:00
Scott Sanderson 657a132f1e ENH: Make retrieve specific type functions public.
We rely on these upstream, for better or worse, so add tests and docs.

Also adds distinct `EquitiesNotFound` and `FutureContractsNotFound`
exceptions.
2015-11-13 18:26:54 -05:00
Scott Sanderson 3619a24e4d TEST: Add support for futures to tmp_asset_finder. 2015-11-13 18:26:54 -05:00
Scott Sanderson 9e463fd5d8 MAINT: make_rotating_asset -> make_rotating_equity. 2015-11-13 18:26:54 -05:00
Scott Sanderson 4109640acb MAINT: make_simple_asset_info -> make_simple_equity_info. 2015-11-13 18:26:54 -05:00
Scott Sanderson a684063f95 DOC: Don't lie about caching in _retrieve_asset. 2015-11-13 18:26:54 -05:00
Scott Sanderson 9101636bf6 MAINT: Remove unused method. 2015-11-13 18:26:54 -05:00
Scott Sanderson 60b988a777 MAINT: Remove unused method. 2015-11-13 18:26:54 -05:00
Scott Sanderson 1c52977964 DOC: group_by_type returns a regular dict. 2015-11-13 18:26:54 -05:00
Scott Sanderson c763d8f4d5 STY: Remove unused import. 2015-11-13 18:26:54 -05:00
Scott Sanderson 654edaa851 BUG: Clear asset caches when mapping DataFrame.
Our DataFrame index resolution logic relies on failed lookups **not**
being cached, but not caching failed lookups is a nontrivial performance
hit when repeatedly looking up sids.  The "solution" here is to clear
the caches after writing in new assets.

The real fix for this is either:

1. Don't construct an AssetFinder until we have the datasource in hand
   in run(), or
2. Don't symbol-map the user's input source if it's a DataFrame.
   Instead we should make our data loaders pre-map the data.
2015-11-13 18:26:54 -05:00
Scott Sanderson 5bddf32062 BUG: Raise if we fail to symbol map a Frame/Panel.
Previously, we just warned here, but then we'd fail immediately trying
to write the found values into an index that's too long.
2015-11-13 18:26:54 -05:00
Scott Sanderson ff51510d88 PERF: Cache the result of failed lookups.
Otherwise we'll keep trying to look them up.
2015-11-13 18:26:54 -05:00
Scott Sanderson c818463051 MAINT: Simplify conditional. 2015-11-13 18:26:54 -05:00
Scott Sanderson abbda17239 Merge pull request #841 from quantopian/remember-downloads
Remember downloads
2015-11-13 18:25:06 -05:00
Scott Sanderson 182cf9754c DOC: Add a whatsnew. 2015-11-13 18:12:10 -05:00
Scott Sanderson 43ac9eab5c ENH: Check getmtime on download locations.
Rather than repeatedly try and fail to download data that's not yet
available, only try to download again if we haven't successfully
downloaded in the last hour.
2015-11-13 18:06:04 -05:00
Scott Sanderson 1b7d0c9477 MAINT: Add __future__ print function import.
We do print(stock) in this file, which happens to work in py2, but is
confusing.
2015-11-13 18:06:04 -05:00
Richard Frank 15c146b4a6 Merge pull request #840 from quantopian/coveralls_please
BLD: Add back installation of coveralls on travis
2015-11-13 17:38:51 -05:00
Richard Frank 19eb6d0f59 DOC: Updated whatsnew 2015-11-13 17:14:29 -05:00
Richard Frank c6d4da4ca5 BLD: Add back installation of coveralls on travis
Was mistakenly removed, so coveralls has not been running.
2015-11-13 16:34:08 -05:00
Richard Frank 7f38f9056e Merge pull request #838 from quantopian/limit_timer
TST: Limit the timer report to just the 15 longest tests
2015-11-13 15:38:21 -05:00
Richard Frank f3f5d8a425 DOC: Updated whatsnew 2015-11-13 09:45:05 -05:00
Richard Frank 526e9f1719 TST: Limit the timer report to just the 15 longest tests
The default of all the tests is pretty spammy.
2015-11-13 09:43:17 -05:00
James Kirk f73003442a Merge pull request #815 from quantopian/asset-db-versioning
ENH: Adds versions to Asset databases
2015-11-12 15:06:31 -05:00
jfkirk 7a1abc88f8 DOC: Adds whatsnew for asset db versioning 2015-11-12 14:44:20 -05:00
jfkirk e1e160a128 MAINT: Factors-out asset db table schemas for cleanliness 2015-11-12 14:43:11 -05:00
jfkirk 85dd4b70dd MAINT: Renames 'version' table to 'version_info' for clarity 2015-11-12 14:43:11 -05:00
jfkirk 6aac54544e MAINT: Only write asset db version on db creation 2015-11-12 14:43:11 -05:00
jfkirk 48e488d423 ENH: Adds versions to asset databases 2015-11-12 14:43:11 -05:00
Maya Tydykov 1fe4dfe229 Merge pull request #830 from quantopian/equity_caching
Equity caching
2015-11-12 14:01:29 -05:00
Maya Tydykov df492ecf7f DOC: add whatsnew entry for AssetFinderCachedEquities. 2015-11-12 11:02:30 -05:00
Maya Tydykov d0cb5bd513 ENH: add extension to AssetFinder that caches all equities in memory and uses that cache in lookup_symbol. 2015-11-12 11:02:26 -05:00
llllllllll f0dd92772f MAINT: typos 2015-11-11 19:24:25 -05:00
llllllllll 9c61c77344 TST: cleanup test_history param output 2015-11-11 19:23:20 -05:00
llllllllll 0f5cf78492 MAINT: use subtest to quiet the output from test_events 2015-11-11 19:23:20 -05:00
llllllllll fb90e71e6b DOC: whatsnew for subtest 2015-11-11 19:23:20 -05:00
llllllllll b24c8fc7f4 TST: Adds a subtest decorator.
Allows us to run subtests while still seeing which parameter
combination caused the tests to fail. The decorator can be used to
create subtests inside a test or to parameterize an entire test method.

We cannot use something like unittest2.TestCase.subTest because our test
runner does not support that.
2015-11-11 19:22:53 -05:00
llllllllll b37b7cd89c DOC: add entry for release-process docs 2015-11-11 19:21:26 -05:00
llllllllll 715baeb269 DOC: document the release process 2015-11-11 19:21:26 -05:00