Commit Graph

4980 Commits

Author SHA1 Message Date
Jean Bredeche 1f8e194e09 BUG: Position cost basis was calculated incorrectly for Futures
For futures, we need to divide the position’s commission by the
contract size to get a per-unit commission in order to properly update
the position’s cost basis.
2017-04-24 15:41:20 -04:00
Jean Bredeche b1248cb6d6 REF: Explicitly use Assets in Position, Order, Transaction
(Instead of `sid`, which were already usually assets)

Perf packets are unchanged and still emit `sid`: int
2017-04-24 15:41:13 -04:00
Jean Bredeche 123398d0e4 Merge pull request #1760 from quantopian/constant-futures
TST: New fixture for constant futures data
2017-04-24 14:33:47 -04:00
Jean Bredeche ec6492c84e TST: New fixture for constant futures data 2017-04-24 14:15:26 -04:00
David Michalowicz 2f87f548ba Merge pull request #1755 from quantopian/schedule-function-calendar
Add calendar factory for the schedule_function API
2017-04-24 10:07:30 -04:00
dmichalowicz f3086c548d API: Add factory for calendars 2017-04-24 09:37:32 -04:00
David Michalowicz 35c3cf0eb7 Merge pull request #1754 from quantopian/premature-continuous-futures-2
Allow gaps between auto close and start date
2017-04-21 16:34:53 -04:00
dmichalowicz 67dd149660 BUG: Ordered contracts could end prematurely 2017-04-21 15:52:21 -04:00
Andrew Daniels 4c334c6c38 PERF: Optimize session close lookups in resample bar reader (#1749)
Optimize session close lookups in MinuteResampleSessionBarReader:

- Adds `session_closes_in_range` method (along with
  `session_opens_in_range`) to TradingCalendar to allow vectorized
  retrieval of all values in a range of sessions.
- Improves code path for resampling a single session's worth of data (as
  is the case when calling `get_value`), since we don't actually need to
  look up the close minute.
2017-04-11 16:35:04 -04:00
Andrew Daniels 4f6dd9bca8 Merge pull request #1747 from quantopian/calendar-perf-improvements
Improve TradingCalendar perf with scalar-optimized accesses
2017-04-11 10:15:28 -04:00
Andrew Daniels bd7f121e85 PERF: Only get session close in MinuteResampleSessionBarReader
We only need the close, not the open.
2017-04-10 17:23:07 -04:00
Andrew Daniels 6dd1616c15 PERF: Use scalar lookups for TradingCalendar.schedule
When retrieving the open and close for a given session, we only care
about the scalar values, so using DataFrame.at instead of DataFrame.loc
is significantly faster.
2017-04-10 17:23:07 -04:00
Maya Tydykov bd1b7f263c Merge pull request #1737 from quantopian/bump-blaze
BLD: bump blaze
2017-04-10 16:22:09 -04:00
David Michalowicz aad5cd362e Merge pull request #1738 from quantopian/slippage-and-commissions-futures
Add preliminary support for Futures slippage models
2017-04-10 15:05:28 -04:00
Andrew Daniels 33442a9977 Merge pull request #1742 from quantopian/only-get-value-once
MAINT: Refactor DataPortal._get_minute_spot_value to avoid two lookups
2017-04-10 14:56:29 -04:00
dmichalowicz f6e1a95ca9 ENH: Preliminary support for Futures slippage and commission models 2017-04-10 14:37:20 -04:00
David Michalowicz 4b861fbf5e Merge pull request #1745 from quantopian/reconcile-default-args
Make certain continuous future arguments optional
2017-04-10 11:24:50 -04:00
dmichalowicz e2fadae5ec API: Make certain continuous future arguments optional 2017-04-07 14:02:36 -04:00
Maya Tydykov ea419492a2 Merge pull request #1739 from quantopian/fix-zipline-and-pandas-bug
Fix zipline and pandas bug
2017-04-07 12:22:06 -04:00
David Michalowicz 02984a0483 Merge pull request #1743 from quantopian/premature-continuous-futures
OrderedContracts chain could sometimes terminate on first contract
2017-04-07 11:03:33 -04:00
dmichalowicz 6f1d4b4a5f BUG: OrderedContracts chain could sometimes terminate on first contract 2017-04-07 10:01:22 -04:00
Joe Jevnik df82d3a221 BUG: reload_symbol_maps should clear the equity_supplementary_maps 2017-04-06 19:04:09 -04:00
Andrew Daniels ae1f9f8734 Merge pull request #1735 from quantopian/speedup-daily-history-aggregator-closes
PERF: Avoid repeated recursive calls when getting forward-filled close
2017-04-06 10:24:29 -04:00
Andrew Daniels f4f2048a68 PERF: Avoid repeated recursive calls when getting forward-filled close
Instead of recursively calling `DailyHistoryAggregator.closes` until we
find a non-nan close, we can instead call `load_raw_arrays` once, and
find the value from the returned array.
2017-04-06 09:51:01 -04:00
Andrew Daniels 13b5b7efdc MAINT: Refactor DataPortal._get_minute_spot_value to avoid two lookups 2017-04-06 08:54:17 -04:00
David Michalowicz 8a672be7e7 Merge pull request #1741 from quantopian/remove-adj-method
Remove ContinuousFuture adjustment method
2017-04-05 16:24:24 -04:00
dmichalowicz 6ffd029537 CRUFT: Remove ContinuousFuture adjustment method 2017-04-05 15:25:50 -04:00
Freddie Vargus 0746fc7597 Merge pull request #1731 from quantopian/update-assetdbwriter-docs
DOC: Show exchange as required for equities
2017-04-04 23:27:50 -04:00
Scott Sanderson b8b504b724 Merge pull request #1740 from quantopian/guarantee-can-trade-order
BUG: Return from can_trade in same order as input.
2017-04-04 18:39:53 -04:00
David Michalowicz d4fd955b29 Merge pull request #1729 from quantopian/us-futures-cal-in-tests
Use 'us_futures' calendar in test fixtures
2017-04-04 17:49:51 -04:00
Scott Sanderson fb3efc6d75 MAINT: Guarantee bool dtype for can_trade. 2017-04-04 17:26:38 -04:00
dmichalowicz 0178ea03ea REV: Only use benchmark csv files in source for testing 2017-04-04 17:18:49 -04:00
Scott Sanderson f3aba5f281 BUG: Return from can_trade in same order as input.
This matches the behavior of history and data.current.
2017-04-04 17:12:21 -04:00
Maya Tydykov 497708d86e BUG: address pandas normalization bug on non-sorted DT index 2017-04-04 17:00:32 -04:00
Maya Tydykov e1d63dcee4 BUG: test DatetimeIndex equality correctly 2017-04-04 17:00:16 -04:00
Freddie Vargus 0c246a7de1 DOC: Show exchange required for equities 2017-04-04 15:02:00 -04:00
dmichalowicz 483ec5dae8 TST: Make TradingEnvironment resources static 2017-04-04 10:58:45 -04:00
Maya Tydykov 8faab75459 BLD: bump blaze 2017-04-03 15:20:49 -04:00
dmichalowicz cf68953bf2 TST: Use 'us_futures' calendar in test fixtures 2017-04-03 10:18:03 -04:00
Eddie Hebert a006b4bbab Merge pull request #1734 from quantopian/prepare-for-validity-checks
MAINT: Prepare parameter check for adding an additional check.
2017-03-30 14:02:03 -04:00
David Michalowicz 0cc1836eac Merge pull request #1730 from quantopian/no-current-contract
Add safeguard if current contract of continuous future is None
2017-03-30 13:32:15 -04:00
dmichalowicz 99dfe5961d BUG: Getting continuous future current contract failed on None 2017-03-30 12:09:55 -04:00
Eddie Hebert c69b4f6352 MAINT: Prepare parameter check for adding an additional check.
Should be no functional change.

By making the raise on `if not isinstance` instead of doing a continue on `if
isinstance` (with a raise at the end of the loop if no 'good' conditions were
met'), the function should be more amenable to adding an additional validity
check, after the type check passes.

This is on the path to adding an additional validity checks parameter to
`check_parameters`, e.g. adding an 'is positive' check.
2017-03-30 10:47:29 -04:00
David Michalowicz 164838cf74 Merge pull request #1726 from quantopian/cf-adjustment-arg
Make continuous future adjustment style an argument
2017-03-29 09:15:22 -04:00
dmichalowicz 7829541112 EHN: Make continuous future adjustment style an argument 2017-03-29 08:49:12 -04:00
David Michalowicz eb6d0826c4 Merge pull request #1721 from quantopian/out-of-bounds-price
Negative indexing in cython without wraparound
2017-03-29 08:46:50 -04:00
dmichalowicz 0d157859e0 BUG: Open and close resampling code could hit index errors 2017-03-28 16:06:29 -04:00
Eddie Hebert f736169096 Merge pull request #1728 from quantopian/rework-resample-close
MAINT: Clear up naming and logic in resample close.
2017-03-28 14:02:27 -04:00
Eddie Hebert ed62d8a66a MAINT: Clear up naming and logic in resample close.
- Instead of maintaining a separate `j` value, set the bounds of the range so
that `i` is the values emitted by the range.
- Change `close_loc` to `prev_close_loc` since the market close location is used
to ensure that the data index stops at the market open if the entire day is
nans.
- Change the setting of `loc` to be done before the loop which check for nans,
instead of setting to the previous close loc at the end of the loop.

This prepares for a separate fix to prevent out of bounds access when the first
session has nans for all minutes.
2017-03-28 13:30:12 -04:00
Eddie Hebert f717e77172 Merge pull request #1727 from quantopian/resample-whitespace-cleanup
STY: Cleanup trailing whitespace in resample module.
2017-03-28 13:00:33 -04:00