Commit Graph

4717 Commits

Author SHA1 Message Date
Richard Frank a61de3a4e7 ENH: An improved error message when calling zipline api functions
outside of a running simulation. Previously, an AttributeError was
raised.
2016-11-11 17:00:03 -05:00
Eddie Hebert b9b9b7d32b Merge pull request #1590 from quantopian/speed-up-history-loader-creation
PERF: Speed up retrieval of HistoryLoader calendar.
2016-11-11 11:37:31 -05:00
Eddie Hebert 08fb7333d6 PERF: Speed up retrieval of HistoryLoader calendar.
The use of `slice_indexer` on all market minutes was taking about 110ms on my
development machine.

This change to getting the start and end indices changes the entire `_calendar`
method to take 10ms on the same machine.

Noticed while creating a `HistoryLoader` in a notebook context.
2016-11-11 10:54:07 -05:00
Richard Frank 907f30d013 Merge pull request #1589 from quantopian/rotate-anaconda-token
Rotate anaconda token
2016-11-10 13:45:44 -05:00
Richard Frank 0145cf8bf0 SEC: Rotated anaconda token for travis 2016-11-10 12:12:02 -05:00
Richard Frank a4a571aff0 DOC: Added ANACONDA_TOKEN directions 2016-11-10 12:12:02 -05:00
Eddie Hebert b4692c4121 Merge pull request #1587 from quantopian/fix-bug-for-continuous-future-max-date
BUG: Fix continuous future end dates.
2016-11-09 16:41:57 -05:00
Eddie Hebert 48c360727b BUG: Fix continuous future end dates.
The end date of the last contract with a sufficient start date was being
used for the continuous future overall end date; however the end date of
that contract (which is the last day for which there is data for the
contract) is not necessarily the greatest end date out of all contracts.
It is possible for the furthest out contract to have some, but very
few, trades before it is more actively traded. Which would give it a
start date within in the range of the simulation, but an end date is
earlier than the other contracts which are active during the simulation.

This bug would result in `nan`s when getting the current price because
of the `end_date` check in `get_spot_value`. When the current simulation
time was greater than the `end_date` of the last contract the condition
which guards against attempting to get data for an instrument past its
end date would return a `nan`, even when the current underlying contract
did have data for that date.

Use max end date of all contracts instead of the last one, to ensure
that the continuous future last date is always great enough to allow
access to all contracts with in the chain.

Also, use min start date to accurately mirror the end date behavior.
2016-11-09 16:19:19 -05:00
Eddie Hebert dad709590d Merge pull request #1586 from quantopian/fix-continuous-future-daily-get-value
BUG: Fix bad attribute lookup on session continuous future reader.
2016-11-08 16:15:05 -05:00
Eddie Hebert 57d35f6aac BUG: Fix bad attribute lookup on session continuous future reader.
Use `roll_style` not `roll`.

Also, add test case to cover using the session bar reader `get_value`,
by adding a test which uses `close`, since only `contract` was being
exercised, which does not exercise the session daily bar reader.
2016-11-08 15:48:28 -05:00
Eddie Hebert 069058be3b Merge pull request #1585 from quantopian/pricing-data-associable
MAiNT: Add a pricing data shared abc.
2016-11-08 12:26:02 -05:00
Eddie Hebert 604f8dd96f MAiNT: Add a pricing data shared abc.
Register equities, futures, and continuous futures to an `abc` which
signifies that the type is associable with data, and thus can be used in
a history context.

May want to use this in `check_parameters` for `BarData` methods, but
work would need to be done to make sure the error message still displays
the registered types.
2016-11-08 11:36:45 -05:00
Eddie Hebert fc1f6aeae9 Merge pull request #1584 from quantopian/allow-single-continuous-future
BUG: Fix `data.history` with a single continuous future.
2016-11-08 11:33:57 -05:00
Eddie Hebert f7fdc56777 Merge pull request #1583 from quantopian/allow-sliding-window-to-reset
ENH: Allow arbitrary history queries.
2016-11-07 22:31:13 -05:00
Eddie Hebert 6ff1d55504 ENH: Allow arbitrary history queries.
In preparation for using `DataPortal` in notebooks, remove restriction on
the `HistoryLoader` to dates that are monotonically increasing. Notebook
usage of the `DataPortal` is more useful when the end of the history
window can be arbitrary dates without having to restart the notebook kernel.

Due to the implementation of the prefetch and caching logic, the end
date of history calls could previously only increase. e.g. `2016-11-01`,
`2016-11-02`, `2016-11-03`. This pattern was sufficient for backtesting
and live simulations, since the current time of the algorithm only ever increases.

With this change, which resets the underlying sliding window when the
last fetched idx is greater than the

Now calls to history in the same process with end dates such
`2016-11-01`, `2016-10-31`, `2015-11-02` should work.
2016-11-07 16:40:51 -05:00
Eddie Hebert 9e8212b25b BUG: Fix data.history with a single continuous future.
Allow `ContinuousFuture` when checking for a single "asset".

This could be further improved by:

- Defininng a tuple of the `Asset`-like types OR making
`ContinuousFuture` and `Asset` share a common type (whether that is
`ContinuousFuture` inheriting from `Asset` or making `Asset` and
`ContinuousFuture` share a common type.)

- Make a `history` test which uses `BarData` + `ContinuousFuture`,
instead of just using the history loader directly from tests.
2016-11-07 16:34:26 -05:00
Andrew Daniels f94a161c7a BUG: Allows 'contract' in get_spot_value with daily frequency (#1582)
Also removes duplicate check in test_current_contract.
2016-11-07 16:28:48 -05:00
Eddie Hebert 2b925ecb78 Merge pull request #1581 from quantopian/import-style-on-calendars
STY: Add space between import and open parens.
2016-11-04 14:08:05 -04:00
Eddie Hebert 676fb9cb89 Merge pull request #1580 from quantopian/research-compatible-history-loader
ENH: Allow configurable history prefetch length.
2016-11-04 14:07:33 -04:00
Eddie Hebert 336867df15 STY: Add space between import and open parens.
For compliance with newer flake8 versions.

Should be no functional change.
2016-11-04 13:45:19 -04:00
Eddie Hebert a3df1e3cef ENH: Allow configurable history prefetch length.
To support using a `DataPortal` and `HistoryLoader` in a notebook, allow
the prefetch length to be configurable, so that it can be set to 0.
Unlike backtesting where the prefetch is useful for repeated history
windows viewed from datetimes which are monotonically increasing by a
small amount, the notebook usage of history windows needs only to
retrieve the exact data needed for the window specified.

This patch also fixes some boundary conditions related to rolls and
adjustments which were uncovered by querying for the adjustments with an
end date near the end of the window.
2016-11-04 13:30:30 -04:00
Andrew Daniels a0e36d492d PERF: Use ctable.resize to speed up BcolzMinuteBarWriter.truncate (#1578)
This is significantly faster than the previous approach of writing a new
ctable with a slice of the existing table.
2016-11-04 10:31:41 -04:00
Scott Sanderson 1a13e6172f Merge pull request #1574 from quantopian/make-corrcoefs-window-safe
ENH: Mark statistical terms as window_safe.
2016-11-01 12:49:27 -04:00
Scott Sanderson 2c087ef77b ENH: Mark statistical terms as window_safe. 2016-11-01 12:16:34 -04:00
Scott Sanderson 2b6fbdc202 Merge pull request #1573 from quantopian/rename-specific-assets
MAINT: Rename `SpecificAssets` to `StaticAssets`.
2016-11-01 12:15:10 -04:00
Scott Sanderson 24931bd4dd MAINT: Rename SpecificAssets to StaticAssets.
This better reflects the intended usage of accepting a fixed set of
predetermined assets.
2016-11-01 11:01:36 -04:00
Joe Jevnik 62bb389199 BUG: load extensions in IPython magic (#1543) 2016-10-28 16:00:51 -04:00
Joe Jevnik 867b878c9a Merge pull request #1521 from quantopian/add-optimization-pass-for-initial-workspace
Add optimization pass for initial workspace
2016-10-28 15:42:52 -04:00
Scott Sanderson 563a8b34f3 STY: Put 0 at the end. (#1569) 2016-10-28 15:14:22 -04:00
Joe Jevnik ad7ddd17ea STY: cleanup 2016-10-28 15:04:18 -04:00
Scott Sanderson 66a214fae9 ENH: Allow windows of NumericalExpression.
If all the inputs to an expr are window-safe, then the expr is itself
window-safe.
2016-10-28 15:04:18 -04:00
Scott Sanderson 0f57dac4ab TEST: Add more populate_initial_workspace tests.
- Tests different pipeline lengths and window lengths.
- Tests a term that depends on a window of a term that's been
  precomputed.
2016-10-28 15:04:18 -04:00
Joe Jevnik 7f40f7a99d STY: remove unused imports and method, clean up docs 2016-10-28 15:04:18 -04:00
Joe Jevnik d5b901df3f TST: add tests for postprocess and to_workspace_value 2016-10-28 15:04:18 -04:00
Joe Jevnik 9822ee5783 TST: add more dispatches 2016-10-28 15:04:18 -04:00
Joe Jevnik 0eb461bd16 ENH: cleanup branch based on feedback 2016-10-28 15:04:18 -04:00
Joe Jevnik 92516e6609 ENH: prune the graph based on the initial workspace 2016-10-28 15:04:18 -04:00
Joe Jevnik 499680553f ENH: update aliasedmixin repr 2016-10-28 15:04:18 -04:00
Joe Jevnik f9ce7f060e ENH: Make aliases filters, factors, and classifiers to give them their methods 2016-10-28 15:04:18 -04:00
Scott Sanderson 7fc2588571 WIP: Add Alias expression. 2016-10-28 15:04:18 -04:00
Joe Jevnik 4f9c6bd254 ENH: provide a hook for prepopulating the initial workspace 2016-10-28 15:04:18 -04:00
Joe Jevnik 892b7cca00 ENH: Provide methods to undo the 'postprocess' step in computing pipeline output 2016-10-28 15:04:18 -04:00
Scott Sanderson 9f10bbaf94 Merge pull request #1568 from quantopian/fix-microoptimizations
Fix microoptimizations
2016-10-28 14:57:43 -04:00
Scott Sanderson e89410dc30 MAINT: Consolidate data_portal names.
Rename _get_daily_window_for_sids to _get_daily_window_data.
Rename _get_minute_window_for_assets to _get_minute_window_data.
Rename _get_daily_data to get_daily_spot_value.
2016-10-28 14:35:05 -04:00
Scott Sanderson 8ccdb48c40 DOC: Comment on outdated code. 2016-10-28 14:06:35 -04:00
Scott Sanderson b714a23b44 BUG: Raise SidsNotFound in retrieve_asset. 2016-10-28 14:05:49 -04:00
Richard Frank 7e505926b6 Merge pull request #1567 from bernoullio/master
MAINT: Restore @property decorator
2016-10-28 12:10:58 -04:00
keang 914dca1685 MAINT: Restore @property decorator
This will keep `opens`, `closes`, `early_closes`, etc to the
same pattern.
2016-10-28 23:25:53 +08:00
Scott Sanderson ac74a9dff5 Merge pull request #1561 from quantopian/micro-optimizations-2
Micro optimizations 2
2016-10-28 10:36:33 -04:00
Eddie Hebert e93087e452 Merge pull request #1565 from quantopian/fix-offset-history
BUG: Fix continuous future history with offsets.
2016-10-28 09:44:34 -04:00