Commit Graph
2143 Commits
Author SHA1 Message Date
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 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 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
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 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 c8a095775c MAINT: remove old version.py 2015-11-11 18:47:51 -05:00
llllllllll bd0da175ad BLD: Adds versioneer
versioneer let's us track the version using git tags. This prevents
issues like the 0.8.2->0.8.3 push. This also puts the number of commits
from the release and the commit you are on in the version.
2015-11-11 18:47:51 -05:00
llllllllll 88a53fbdd1 ENH: update context_tricks
Moves _nop_context to context_tricks under the name nop_context.
Uses an explicit object for the actual context manager in callback
manager.
2015-11-11 14:19:13 -05:00
llllllllll 0cb4c38717 ENH: Allow users to pass a context manager to wrap all scheduled
functions.

This includes handle_data.
2015-11-11 14:19:13 -05:00
jfkirk af021f0db5 BUG: FutureChain's as_of() now properly coerces arguments 2015-11-10 14:03:19 -05:00
llllllllll 1aeae88d99 BUG: only infer delta if no delta is passed 2015-11-10 12:03:46 -05:00
llllllllll e9376453f4 BUG: the simple transform caching caused the length of the siddata object to change which would mark it as not-empty 2015-11-10 12:03:46 -05:00
llllllllll f7f5f538a5 REL 0.8.3
We messed up the sdist a couple times.
2015-11-06 19:41:49 -05:00
llllllllll 1955146184 REL: 0.8.0 2015-11-06 15:10:34 -05:00
Scott Sanderson 7d35a17f76 Merge pull request #822 from quantopian/cant-set-lazy
ENH: Raise on attempt to set a lazyval.
2015-11-06 13:20:34 -05:00
Scott Sanderson 6b49081f54 MAINT: __set__ takes instance and value. 2015-11-06 13:03:31 -05:00
Scott Sanderson f3f001e14a ENH: Raise on attempt to set a lazyval. 2015-11-06 12:39:59 -05:00
Joe Jevnik 5ef9056a9b Merge pull request #808 from quantopian/delta-on-last-requested-date
BUG: Corrects an index error in blaze loader.
2015-11-05 16:59:04 -05:00
llllllllll 80cc2bd6f6 BUG: Corrects an index error in blaze loader.
Fixes the case where a delta has an asof_date of the last requested
day and an index error would occur. This guards against this
specifically to make the delta be effective through the end of the
requested window.

Adds a test case for this behavior.
2015-11-05 16:40:28 -05:00
Scott Sanderson 90e717f6a7 Merge pull request #821 from quantopian/cme-codes-reference
ENH: Add CME code lookup table.
2015-11-05 14:19:36 -05:00
Scott Sanderson 744a998b9a ENH: Add CME code lookup table. 2015-11-05 13:57:44 -05:00
Scott Sanderson a14c61e7ff MAINT: Remove unused 'asset_type' metadata entry. 2015-11-05 13:35:05 -05:00
puppyandRichard Frank a82415c77b BUG: Address issue #801 and add test. Pass panel directly to
object instead of data.
2015-11-05 10:18:57 -05:00