Commit Graph

1432 Commits

Author SHA1 Message Date
dmichalowicz 0ec8841ea0 BUG: Ordered contracts could end prematurely 2017-04-21 15:52:21 -04:00
Andrew Daniels acf345e1d3 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 12f1429a8c 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
dmichalowicz bc27e369ff ENH: Preliminary support for Futures slippage and commission models 2017-04-10 14:37:20 -04:00
Maya Tydykov 9350759119 Merge pull request #1739 from quantopian/fix-zipline-and-pandas-bug
Fix zipline and pandas bug
2017-04-07 12:22:06 -04:00
dmichalowicz 845dea3e5b BUG: OrderedContracts chain could sometimes terminate on first contract 2017-04-07 10:01:22 -04:00
Andrew Daniels f8eced41bf 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
Maya Tydykov 63ad5a5b55 BUG: address pandas normalization bug on non-sorted DT index 2017-04-04 17:00:32 -04:00
dmichalowicz dee19a0d8b TST: Make TradingEnvironment resources static 2017-04-04 10:58:45 -04:00
dmichalowicz 0c49c5bbc7 TST: Use 'us_futures' calendar in test fixtures 2017-04-03 10:18:03 -04:00
dmichalowicz 69a0e5c31b BUG: Getting continuous future current contract failed on None 2017-03-30 12:09:55 -04:00
dmichalowicz f0f8bac2ab EHN: Make continuous future adjustment style an argument 2017-03-29 08:49:12 -04:00
dmichalowicz 066a7776d2 BUG: Open and close resampling code could hit index errors 2017-03-28 16:06:29 -04:00
Jean Bredeche 81b943c61d ENH: Allow override of order amount rounding. (#1722)
* ENH: Use regular rounding to calculate order amounts.

We previously tried to prevent accidental over-ordering by truncating
orders down unless they were within 1e-4 of the next higher integer.
Unfortunately, this makes it easy for a sell order to be one share short
of the desired position.

Using regular rounding treats both buys and sells in the same way.

* ENH keep non-rounding behavior consistent, but leave code structured to make easier to override

* DOC make round_order public and describe behavior in docstring
2017-03-27 20:44:12 -04:00
Freddie Vargus 2010a7faf8 STY: Add newline 2017-03-27 09:59:08 -04:00
Freddie Vargus b81ddd7d73 TST: Test for adhoc holidays in CFEExchangeCalendar 2017-03-27 09:56:40 -04:00
Maxwell Rounds 24ce67a7cf ENH: Adding CFE Adhoc Holidays
The CFE was closed along with the NYSE in observation of the days of
mourning in honor of the passing of presidents Gerald Ford and Ronald
Reagan. The CFE also observed the closures due to Hurricane Sandy,
along with NYSE. Adding those adhoc holidays to exchange_calendar_cfe
and removing them from cfe.csv in tests. To fit with
USNationalDaysofMourning, also removing the closure in observation of
the day of mourning in honor of the passing of president Nixon in
1994, despite the fact that the exchange did not exist at that time.

Signed-off-by: Maxwell Rounds <maxwell.j.rounds@gmail.com>
2017-03-26 15:54:14 -07:00
David Michalowicz 7ef17ae3af Merge pull request #1718 from quantopian/more-generic
Add ContinuousFuture to lookup_generic
2017-03-25 09:23:35 -04:00
dmichalowicz c0355af316 ENH: Add ContinuousFuture to lookup_generic 2017-03-25 09:04:17 -04:00
dmichalowicz 8a25ac3af0 ENH: Allow DataPortal.get_spot_value to accept multiple assets 2017-03-25 09:02:10 -04:00
Andrew Daniels c0a76a5303 ENH: Adds StaticSids pipeline filter (#1717)
Useful for avoiding the need to create Asset objects when sids are
easier to use.

This is based off the existing implementation of StaticAssets, and
StaticAssets is now implemented as a wrapper around StaticSids.
2017-03-22 14:28:54 -04:00
dmichalowicz 825ba5717e ENH: Better error message for non-existent root symbol 2017-03-16 11:18:17 -04:00
Maya Tydykov 83756d4660 Merge pull request #1710 from quantopian/sort-pipeline-data-on-asofdate
Sort pipeline data on asofdate
2017-03-15 14:40:11 -04:00
Maya Tydykov 58fb830ebd BUG: sort data on asof_date to resolve ts conflicts
MAINT: fix arg default and update docstring
2017-03-15 14:10:58 -04:00
Jean Bredeche c9254d395d ENH: teach BarData about current session's minutes 2017-03-15 13:40:33 -04:00
Joe Jevnik beb4bd8c6e BUG: fix label array code dtype condense 2017-03-08 20:54:57 -05:00
Ana Ruelas 9252b62b2b TST: Add tests for winsorize factor 2017-03-07 17:14:27 -05:00
Ana Ruelas 799bad957d ENH: Add winsorize factor 2017-03-06 14:08:28 -05:00
Joe Jevnik cfdbe883b1 Merge pull request #1672 from quantopian/narrow-labelarray
narrow labelarray
2017-03-02 19:32:56 -05:00
Joe Jevnik 44563d351b TST: add roundtrip check 2017-03-01 15:15:16 -05:00
Jean Bredeche cf063abcf1 Rename _attrs_to_check to asdict 2017-02-23 11:32:04 -05:00
Andrew Daniels 8e1f8d75f5 MAINT: Removes unnecessary capital_base arg to TradingAlgorithm (#1677)
Capital base is included in the sim params, so we should define the
value there, or use the default.

This change also unifies the default capital base as 1e5, as was
previously defined in algorithm.py.
2017-02-17 09:04:50 -05:00
dmichalowicz 63063aa709 ENH: Eliminate potential look-ahead bias in volume rolls 2017-02-16 09:01:16 -05:00
Maya Tydykov 5ab0880ad7 Merge pull request #1684 from quantopian/fix-earnings-estimates-1-day-bug
BUG: fix loader bug for 1 day
2017-02-15 17:20:31 -05:00
Maya Tydykov 59acadbccf BUG: fix loader bug for 1 day 2017-02-15 16:44:45 -05:00
Andrew Daniels c2560c6079 TST: Adds TestingSlippage slippage model (#1679)
Allows specifying a constant number of shares filled per tick.

Also adds the WithConstantEquityMinuteBarData fixture, relocated from
internal repo.
2017-02-09 08:56:15 -05:00
Eddie Hebert 8878d0ddd5 STY: Wrap/reformat lines over 80 chars.
Newer versions of flake8 detect these versions, though current zipline version
of flake8 does not.
2017-02-08 00:47:33 -05:00
Joe Jevnik 735d98fb6e TST: add tests for inferred width labelarray 2017-02-07 16:28:13 -05:00
dmichalowicz db2440871e Change to a 10.5 hour futures calendar 2017-02-06 11:41:29 -05:00
Gus Gordon 26558743ba Bump empyrical to 0.2.2 (#1674)
* Bump empyrical to 0.2.2

* Update example data for tests
2017-02-04 16:14:33 -05:00
Eddie Hebert 11a406c67a TST: Remove duplicate key in fixture config.
Should be no functional change.
2017-02-02 23:10:14 -05:00
Joe Jevnik d378c9fca3 ENH: store the 'codes' for a labelarray in the narrowest int type possible 2017-02-02 20:58:36 -05:00
Maya Tydykov bb36ec1224 Merge pull request #1661 from quantopian/optionally-apply-deltas-adjustments
Optionally apply deltas adjustments
2017-01-31 15:40:43 -05:00
Maya Tydykov dda5334580 TST: add arg to test assertion 2017-01-31 15:19:05 -05:00
Scott Sanderson 58850b86ad Merge pull request #1667 from quantopian/pricing-fixture-cleanups
Pricing fixture cleanups
2017-01-31 10:32:17 -05:00
Maya Tydykov 9786483ec0 Merge pull request #1665 from quantopian/determine_overwrite_type_dynamically
Determine overwrite type dynamically
2017-01-31 10:06:21 -05:00
Maya Tydykov 9cdd696467 TST: add test cases for int and object dispatching 2017-01-31 09:43:39 -05:00
Maya Tydykov 08b159d5da ENH: add Int64Overwrite and dispatching for it
BUG: column value should be float

DOC: update docs
2017-01-31 09:43:37 -05:00
Maya Tydykov 98a8fdfb09 MAINT: determine core loader overwrite types dynamically
TST: update test to reflect adjustment mapping change
2017-01-31 09:43:34 -05:00
Scott Sanderson e5f403deca ENH: Add direct methods for session start/end.
Rather than having to do 'start, _ = cal.open_and_close_for_session(dt)'
to get just the start, we can now do 'start = cal.session_start(dt)'.
2017-01-30 13:00:45 -05:00