Commit Graph
3309 Commits
Author SHA1 Message Date
Ana Ruelas a72d7a7b34 ENH: Add WithEquityPricingPipelineEngine test fixture 2017-05-19 10:04:30 -04:00
Scott SandersonandGitHub a3edae9845 Merge pull request #1794 from Peque/peque
Fix docstring in TradingEnvironment class
2017-05-19 05:52:56 -07:00
Richard Frank ec396bd1ea TST: Use testing market data with run_algorithm
so env doesn't need to download it
2017-05-18 12:54:06 -04:00
Richard Frank 0f6dbcef3c TST: Use fixture's data with tmp_trading_env
instead of env needing to download it
2017-05-18 12:54:05 -04:00
Richard Frank c5b3ceecc1 TST: Use fixture's trading env for FakeDataPortal or TradingAlgo
to avoid a new trading env needing to download data unnecessarily
2017-05-18 11:55:48 -04:00
Miguel Sánchez de León Peque 3b3854c3bf Fix docstring in TradingEnvironment class 2017-05-17 18:42:36 +02:00
Scott SandersonandGitHub dde4974705 Merge pull request #1791 from quantopian/cleanup-latest-flake8
MAINT/STY: Upgrade flake8 and fix new failures.
2017-05-15 11:39:51 -07:00
Scott Sanderson 616f6e5e5d MAINT/STY: Upgrade flake8 and fix new failures. 2017-05-15 11:45:04 -04:00
David Michalowicz 5678d2d37b MAINT: Refactor commission model class hierarchies 2017-05-12 12:31:36 -04:00
Scott Sanderson 86fa28f9e8 MAINT: batch_order_target_percent -> batch_market_order.
The only downstream contex that was using batch_order_target_percent
already had all necessary prices, so calling batch_order_target_percent
was wasteful.
2017-05-09 13:52:57 -04:00
dmichalowicz 5327fc9a05 MAINT: Various futures slippage model fixes and cleanup
- Handle history lookback error before start date
- Adjust default futures slippage volume limit
- Allow subclassing EquitySlippageModel and FutureSlippageModel together.
2017-05-09 11:47:55 -04:00
Andrew Daniels a416662a9c MAINT: Pass data_frequency to get_history_window
This allows us to remove the check for whether the provided dt had a
time of midnight, which was a flimsy way to infer if the data frequency
was 'daily'. Besides the explicit check being preferable, this method
was broken on the futures calendar, since midnight is a valid market
minute.
2017-05-09 09:34:39 -04:00
Andrew Daniels 43e0545856 BUG: Fix _handle_minute_history_out_of_bounds for future calendar
Need to use minute_to_session_label to retrieve the proper session.
2017-05-09 09:34:38 -04:00
Andrew Daniels 78ae3474ad TST: Adds DailyEquityHistoryOnFuturesCalendarTestCase
Added as a minimal subclass of DailyEquityHistoryTestCase, swapping out
just the primary calendar. This requires significant modifications to
DailyEquityHistoryTestCase, to allow for a generic primary calendar.
2017-05-09 09:34:38 -04:00
Andrew Daniels da63a117e0 MAINT: Modify ReindexBarReader.get_value to handle missing data
Instead of raising an exception, return 0.0 for volume, and nan for
everything else.
2017-05-09 09:34:37 -04:00
Freddie VargusandGitHub 18ee06f0d4 Merge pull request #1746 from quantopian/update-transaction-repr
MAINT: Add better repr for transactions
2017-05-08 14:54:24 -04:00
Richard Frank 035311213e MAINT: allowed_asset_types is already defined in the base class 2017-05-05 14:09:02 -04:00
Richard Frank 56a993bfc6 BUG: Fixed abstractness of MarketImpactBase 2017-05-05 14:09:02 -04:00
Richard Frank a1d055abb1 MAINT: process_order is a method
and call super's __init__ to set up base state
2017-05-05 14:09:01 -04:00
Andrew Daniels 560ff3cacf MAINT: Display diff if input to daily bar writer has gaps/extra bars 2017-05-04 10:19:09 -04:00
Andrew DanielsandGitHub 52667b4a90 MAINT: Handle gaps in input to daily bars writer (#1778)
Previously, a dataframe passed into BcolzDailyBarWriter.write that was
missing an expected session between its first and last sessions would be
written incorrectly. Upon converting the dataframe to a ctable, the
values for all days following the gap would be shifted backwards, and
nans would be shifted in at the end.

This commit handles the issue by asserting that the number of rows in
the input table matches the number of sessions in the calendar between
the table's first and last sessions.

Also fixes a test that was mistakenly using minutes_in_range where it
should have been using sessions_in_range (uncovered by this change).
2017-05-03 20:49:22 -04:00
dmichalowicz cb3926f81c BUG: Gold and silver futures contracts only trade certain months 2017-05-03 16:34:01 -04:00
Freddie Vargus 9095b241f2 MAINT: Add better repr for transactions
Flake8
2017-04-28 11:13:40 -04:00
dmichalowicz 3ff281079a BUG: Futures slippage model could have zero transaction volume 2017-04-26 13:35:00 -04:00
Jean Bredeche dead9651b2 BUG: Add backwards compatibility for position lookup by int. 2017-04-26 09:55:05 -04:00
Scott Sanderson f7f17af2d8 DOC: Close backticks in docstring. 2017-04-25 22:32:11 -04:00
dmichalowicz ec7cba2e31 API: Don't require custom models to define allowed types 2017-04-25 18:44:31 -04:00
dmichalowicz fa0594555c API: Add slippage and commission models for futures 2017-04-25 17:29:41 -04:00
Andrew Daniels a1d30c94ee MAINT: Use March quarterly cycle for JY, CD, AD, & BP continuous futures
The March, June, September, and December contracts for these futures
contain most of the trading activity, so we exclude the other more
sparsely traded contracts from the chain.
2017-04-25 15:31:33 -04:00
Jean Bredeche 278d2f6b2a BUG: use isinstance 2017-04-24 17:06:26 -04:00
Jean Bredeche 7196e1e498 MAINT: PR feedback. 2017-04-24 15:41:23 -04:00
Jean Bredeche 5b8b2f68bc BUG: Blotter should process as many splits as it can 2017-04-24 15:41:23 -04:00
Jean Bredeche 825866948b BUG: get_splits should return empty list, not empty dict 2017-04-24 15:41:23 -04:00
Jean Bredeche fe84ff3582 REF: Remove assetfinder from PerformancePeriod 2017-04-24 15:41:22 -04:00
Jean Bredeche 0b4b058065 REF: Remove asset_finder and multipliers from PositionTracker 2017-04-24 15:41:22 -04:00
Jean Bredeche b7b8c46d74 REF: Blotter no longer needs AssetFinder 2017-04-24 15:41:21 -04:00
Jean Bredeche 483012ccf6 REF: Make dataportal emit splits that hold Assets, not sids 2017-04-24 15:41:21 -04:00
Jean Bredeche 450690801a 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 8d275d8d83 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 BredecheandGitHub 21976dd651 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 e0060f61e8 TST: New fixture for constant futures data 2017-04-24 14:15:26 -04:00
dmichalowicz 2f33ddb023 API: Add factory for calendars 2017-04-24 09:37:32 -04:00
dmichalowicz 0ec8841ea0 BUG: Ordered contracts could end prematurely 2017-04-21 15:52:21 -04:00
Andrew DanielsandGitHub 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 1d7d3fe33f 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 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
David MichalowiczandGitHub 9e0cf08c18 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 DanielsandGitHub f9d55cf9cd 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 bc27e369ff ENH: Preliminary support for Futures slippage and commission models 2017-04-10 14:37:20 -04:00
dmichalowicz ec8880a066 API: Make certain continuous future arguments optional 2017-04-07 14:02:36 -04:00