Commit Graph

4415 Commits

Author SHA1 Message Date
Eddie Hebert bf4079dceb Merge pull request #1465 from quantopian/remove-unused-adjustments-in-data-portal
MAINT: Remove unused data portal methods.
2016-09-02 13:15:12 -04:00
Eddie Hebert dfd37fcf78 MAINT: Remove unused data portal methods.
The apply adjustments behavior had been moved to the `HistoryLoader`
class.
2016-09-02 12:12:22 -04:00
Ana Ruelas 768cdb73c3 Merge pull request #1463 from quantopian/rm-risk-adjustments
BUG: Do not adjust returns for sharpe and sortino
2016-09-02 11:32:02 -04:00
Ana Ruelas 9063cb3ce4 BUG: Do not adjust returns for sharpe and sortino 2016-09-02 10:41:50 -04:00
Eddie Hebert 22dead208a Merge pull request #1460 from quantopian/daily-aggregator-corner-cases
TST/BUG: Full coverage on resample module.
2016-09-01 17:24:56 -04:00
John Ricklefs dd2bc5a736 Merge pull request #1459 from quantopian/target_cash_capital_change_from_raw_cash
BUG/ENH: Fix behavior of 'target' capital changes
2016-09-01 16:54:56 -04:00
Eddie Hebert 5e3b949fc6 TST/BUG: Full coverage on resample module.
test_resample now fully covers the resample module.

Fix a bug exposed by increased coverage, where daily aggregation on
`high` would return `nan` for an asset instead of 1) during the
course of day `1d` history was called on non-consecutive minutes and 2)
either, a) the value for the previously inspected dt was `nan` or b)
there were only `nan`s between the previous and current dt.

`low` had a similar bug which was only triggered if the value for the
previously inspected dt was `nan`.
2016-09-01 16:41:45 -04:00
John Ricklefs 311284475a ENH: Allow passing additional adjustments to calculate_capital_changes
If subclasses have additional capital change information that
is required to correctly calculate the target values for
cash capital changes, it can now be provided via
"portfolio_value_adjustment".
2016-09-01 16:04:46 -04:00
John Ricklefs 5b1aa5ec55 BUG: Capital change deltas rely on cash, not portfolio_value
The value of holdings is irrelevant when altering the
capital base of the current perf period.
2016-09-01 15:19:55 -04:00
Eddie Hebert 615d1535f7 Merge pull request #1458 from quantopian/cover-all-public-methods-on-resample
TST/BUG: Cover all reindex session public methods.
2016-09-01 14:20:19 -04:00
Eddie Hebert d463a9855b TST/BUG: Cover all reindex session public methods.
Increase coverage on `ReindexSessionBarReader` so that all methods which
are considered part of the interface are covered by `test_resample`.

Fix bug in `get_value`, exposed by increased coverage, where the
`NoDataOnDate` exception was bubbling from the bcolz reader all the way
up when a session which was a holidy on the underlying reader was passed
to the reindex reader. (The reindex reader should return nan/0 in that
case.)

Also, move location of data index exceptions so that they are agnostic
to bcolz/us_equity_pricing; since the exception is now used by the
resample module to fix aforementioned bug.
2016-09-01 11:51:00 -04:00
Jean Bredeche 959baf7fe0 Merge pull request #1408 from quantopian/really-can-i-trade-how-about-now
ENH: Update can_trade to check exchange time
2016-08-31 22:04:06 -04:00
Jean Bredeche fbd3774278 ENH: Update can_trade to check exchange time
BarData now takes the trading calendar as a parameter.

can_trade now checks if the asset’s exchange is open at the current or
next market minute (defined by the given trading calendar).
2016-08-31 21:22:06 -04:00
Eddie Hebert 6c805b013a Merge pull request #1457 from quantopian/allow-last-date-for-session-get-last-traded-dt
TST: Fix get_last_traded_dt on bcolz daily reader.
2016-08-31 15:53:36 -04:00
Jean Bredeche 0952688d99 Merge pull request #1456 from quantopian/future-chain-cleanup
ENH: Simplified implementation of FutureChain object (not user-facing API)
2016-08-31 15:36:57 -04:00
Eddie Hebert 151c3e45a7 TST: Fix get_last_traded_dt on bcolz daily reader.
Remove special handling for the last session of an asset, which was
moving the last traded back a session.

If the asset has data on a session, `get_last_traded_dt` should always
return that session if it is the parameter to the method.
2016-08-31 14:59:58 -04:00
Jean Bredeche 38ff7e5aa7 ENH: Simplified implementation of FutureChain object (not user-facing API).
No longer auto-updates its internal as-of date, instead requires an explicit
as-of date from the consumer.

Take a static list of contracts (instead of needing an assetfinder).

Instead of the as_of method, the user-facing API now lets you pass in an
offset, which is defined as an integral number of sessions.
2016-08-31 14:44:02 -04:00
Jean Bredeche 35631f4882 Merge pull request #1455 from quantopian/cache-future-chain-lookups
ENH: Put a cache in front of future chain lookups
2016-08-31 11:26:14 -04:00
Jean Bredeche f570ab0518 ENH: Put a cache in front of future chain lookups
Cache the last 100 rootsymbol/session pairs, since future chains never
change inside a session.
2016-08-31 10:40:11 -04:00
Eddie Hebert 34b113f228 Merge pull request #1452 from quantopian/begin-cover-reindex-resample
TST: Increase coverage for  reindex reader methods
2016-08-31 10:31:14 -04:00
Ana Ruelas 8c2ed2f8ff Merge pull request #1450 from quantopian/empyrical-v-update
Empyrical v update
2016-08-30 20:29:28 -04:00
Jean Bredeche 1631d2a0c0 Merge pull request #1451 from quantopian/zero-means-zero
ENH: Avoid unnecessary work with missing data.
2016-08-30 20:07:25 -04:00
Jean Bredeche 972f05b8f2 ENH: Avoid unnecessary work with missing data. 2016-08-30 17:16:08 -04:00
Eddie Hebert 0cba47e29f TST: Increase coverage for reindex reader methods
Add direct coverage on last_available_dt.

Also move reader creation into the instance fixture.

This patch attempted to add coverage on `get_last_traded_dt`, but in doing
so, revealed a bug in `BcolzDailyBarReader.get_last_traded_dt` when
requesting the last trading session of an asset.
When that is fixed, the skip can be removed.
2016-08-30 16:43:58 -04:00
Ana Ruelas f669602581 BLD: Update to empyrical 0.1.11 2016-08-30 16:41:57 -04:00
Jean Bredeche 7fe1a56730 Merge pull request #1442 from quantopian/schedule-all-the-hours
ENH: Let event offsets be up to 12 hours.
2016-08-30 16:34:23 -04:00
Eddie Hebert 1984d13c2f Merge pull request #1446 from quantopian/use-us-futures-in-test-resample
TST: Use futures cal in resample suite.
2016-08-30 10:24:18 -04:00
Richard Frank 92c2a4a408 BLD: Tag empyrical conda packages with numpy version 2016-08-29 17:12:05 -04:00
John Ricklefs 8b11358e46 Merge pull request #1437 from quantopian/empyrical_perf
PERF: Reduce calculations performed by empyrical
2016-08-29 16:20:41 -04:00
Eddie Hebert 9db385bb75 TST: Use futures cal in resample suite.
Instead of CME, use the futures cal, which should now be the standard
calendar throughout; though some tests remain to be ported.
2016-08-29 15:43:39 -04:00
Eddie Hebert c2e8bd1552 Merge pull request #1445 from quantopian/cover-resample-first-trading-day
TST: Cover resample bar first_trading_day method.
2016-08-29 15:38:07 -04:00
Ana Ruelas 20b4d007f7 TST: Rebuild example data due to changes in beta calculation 2016-08-29 15:11:37 -04:00
Andrew Daniels 73667cbf29 ENH: Adds table_len method to BcolzMinuteBarReader (#1436)
To get the length of the underlying table for a given sid.
2016-08-29 15:07:08 -04:00
Eddie Hebert 3c7dae8c41 TST: Cover resample bar first_trading_day method.
Add a test to directly cover the first_trading_day method via the
`test_resample` suite. (The lack of coverage was exposed when testing
against real data.)

Also, refactor resample bar tests so that session bar reader is set up
in instance fixture.
2016-08-29 15:00:08 -04:00
Eddie Hebert 22ad891d51 Merge pull request #1444 from quantopian/use-session-label-on-daily
BUG: Use session label instead of date for 1d.
2016-08-29 14:05:39 -04:00
Eddie Hebert 9474ccb0b2 BUG: Use session label instead of date for 1d.
`1d` history calls were failing on key errors when using the
`us_futures` calendar, because of timestamps occuring before a midnight
would present the wrong midnight (i.e. the midnight before the session,
instead of the following midnight, which is the label for the current
session.)

Tests will follow when bringing up coverage on resample and data portal
modules.
2016-08-29 13:25:14 -04:00
Ana Ruelas 40b0535e8b MAINT: Update conda recipe for empyrical 2016-08-29 13:07:25 -04:00
John Ricklefs 97b562044a PERF: Send pre-adjusted returns to information_ratio 2016-08-29 12:13:19 -04:00
John Ricklefs 53e5c4e113 PERF: Risk-adjust returns series once before calling empyrical
This prevents empyrical from having to subtract
the risk-free rate from the returns in each
individual method.
2016-08-29 12:13:19 -04:00
John Ricklefs 85e68f0162 PERF: Pass known calculations into empyrical methods
For example, to prevent `alpha` from internally calling
`beta` a second time, pass the previously-calculated
`beta` value in.

Requires empyrical 0.1.10 from pypi
2016-08-29 12:13:19 -04:00
Jean Bredeche 749c2eea33 ENH: Let event offsets be up to 12 hours. 2016-08-29 09:33:40 -04:00
Jean Bredeche 0ae85eb9c6 Merge pull request #1441 from quantopian/cherry-pick-futures--stuff
ENH: Merging a few futures-related changes
2016-08-28 22:00:31 -04:00
Jean Bredeche 47dba5b6c9 TST: Some futures-related fixtures cleanup. 2016-08-28 21:33:54 -04:00
Jean Bredeche 7b83cbe820 ENH: Add new parameter to schedule_function that accepts a trading
calendar.
2016-08-28 21:33:42 -04:00
Eddie Hebert 4a5d6e41df Merge pull request #1435 from quantopian/use-dispatch-reader-in-data-portal
ENH: Add asset dispatch to data portal.
2016-08-26 14:18:09 -04:00
Eddie Hebert 40c7deb697 ENH: Add asset dispatch to data portal.
Combine the equity and future readers into asset dispatch readers, so
that simulations that use both asset types can access data for each.

This patch enables `history` for future assets in algorithms; however,
it does not add extra coverage in the `test_data_portal` or `test_history`
to cover future assets. Those tests will follow, however putting this in
separately since it shows that the wrapping of the readers in the asset
dispatch reader does not break existing equity strategies.
2016-08-26 13:29:08 -04:00
Eddie Hebert c460af0a40 Merge pull request #1433 from quantopian/dispatch-bar-reader
MAINT: Add a reader which dispatches on asset type
2016-08-26 08:44:20 -04:00
Eddie Hebert 0f604686b6 MAINT: Add a reader which dispatches on asset type
Add `AssetDispatchSessionBarReader` and corresponding minute and session
bar version of that reader.
This reader routes requests to the appropriate reader based on the asset
type of the requested sids.

`load_raw_array` in the dispatch reader batches the sid by asset type
and then interleaves the results in the out arrays, so that the arrays
data corresponds with sids in the order that sids are passed to the
method, to meet the expected behavior of `load_raw_arrays`.

The dispatch redaer is intended for use by the data portal when using
both future and equities. The dispatch reader will also be passed to the
to the `HistoryLoader`s contained within the data portal, where the
batched `load_raw_arrays` will be used.

Also, BUG:
- Fix the return of `MinuteResampleSessionBarReader.load_raw_arrays` to
match all other readers.
- Use the input dt for the `MinuteResampleSessionBarReader.load_raw_arrays`
as a session label, instead of a minute dt, since it is a session bar
reader.
(Both of these bugs where discovered when using the resample reader for
future data in the dispatch tests.)
2016-08-25 16:29:45 -04:00
Eddie Hebert 67112e0e11 Merge pull request #1432 from quantopian/reindex-reader
ENH: Add a reader base which reindexes results.
2016-08-25 09:34:06 -04:00
Richard Frank 3a7438cbb7 Merge pull request #1430 from quantopian/ingest-versions
Ingest versions
2016-08-24 16:49:42 -04:00