Commit Graph
2249 Commits
Author SHA1 Message Date
Eddie Hebert 984e934e83 BUG: Fix OSError when creating sids that share dir
Fix a bug where creating a sid bcolz file when the containing directory
was already occupied by a sid caused an OSError on attempt of creating
the directory because it already existed.

e.g. if there were two sids, `1` and `2`. The paths would be
`00/00/000001.bcolz` and `00/00/000002.bcolz` which share the same
directory `00/00`.

Fixed by checking for directory existence before calling `makedirs`.

Add test coverage which exercises writing of sids that are siblings in
the sid directory structure.
2016-01-25 10:37:50 -05:00
Eddie Hebert 603a345e2d BUG: Allow writing on first day. 2016-01-21 11:10:57 -05:00
Eddie Hebert 3a8be8c624 BUG: Need to be able to append to minute ctable. 2016-01-21 11:10:07 -05:00
Eddie Hebert 85be1b0a40 Merge pull request #963 from quantopian/minute-writer-for-one-per-sid-2
ENH: Add writer for minute bcolz format.
2016-01-21 10:59:38 -05:00
Eddie Hebert d5c3b5a15c ENH: Add writer for minute bcolz format.
Implement a writer for minute data into a format comprised of multiple
ctables, one for each individual asset, with a common 'index' shared by
all ctables where a given a dt maps to the same array index for all
equities and fields.

This format is pulled from the lazy-mainline/Q2.0 branch, with some
changes to the interface.

Add basic retrieval of values at a given dt to reader. Not yet used by
Zipline simulations, but added to support unit tests.

Also, rename stubbed out us_equity_minutes to minute_bars, since the
writer can be agnostic to asset type.
2016-01-21 10:54:27 -05:00
jfkirk b8b7049f39 BUG: Fixes incorrect value assignment in perf period 2016-01-19 16:11:22 -05:00
Joe Jevnik 3b76981270 Merge pull request #846 from grundgruen/data_test
TST: tests removing of expired data and removes ffill in DataPanelSource
2016-01-19 13:05:15 -05:00
Joe Jevnik a3dbf7590e TST: doctest failure 2016-01-13 16:36:20 -05:00
Joe Jevnik 6280614a69 DOC: whatsnew 2016-01-13 16:36:20 -05:00
Joe Jevnik 9d2ab48fb5 MAINT: pull the data query bounds logic into a helper 2016-01-13 16:08:29 -05:00
Joe Jevnik 2caa9277c4 ENH: Make the data_query_time arguments optional 2016-01-13 15:26:37 -05:00
Joe Jevnik 5351b60a4c ENH: adds optionally for preprocessors 2016-01-13 15:26:37 -05:00
Joe Jevnik 220cf1ae4e MAINT: reduce code duplication 2016-01-13 15:26:13 -05:00
Joe Jevnik 5a235bdaef ENH: allows users to specify the cutoff time for data query in blaze
loaders

This allows people to set their cutoff time to the time they will
actually execute 'before_trading_start'. Currently this is just passed
to the constructor of the loader; however, I would like to make this
managed by the algorithm simulation runner. This would help keep all of
the loaders in sync and lock 'before_trading_start's execution to the
time the data is queried for.
2016-01-13 15:26:13 -05:00
Scott Sanderson b6175de5f1 DOC/TEST: Add doctest and docs for coerce kwargs. 2016-01-12 17:51:13 -05:00
Scott Sanderson ec0abf1822 MAINT: Use coerce_string in BcolzDailyBarReader. 2016-01-12 17:39:44 -05:00
Scott Sanderson c8b80dddb0 BUG: Handle unicode adjustments path in py2.
In Python 2, passing unicode to SQLiteAdjustmentReader would fail to
coerce.
2016-01-12 17:39:36 -05:00
Scott Sanderson 43b6344d5f ENH: Add `coerce` preprocessor. 2016-01-12 17:36:36 -05:00
Joe Jevnik b4ac87b344 MAINT: rename variables in (next|previous)_date_frame to be more general 2016-01-08 13:21:34 -05:00
Joe Jevnik 280a0f55d2 STY: remove blank line 2016-01-08 13:11:31 -05:00
Joe Jevnik 826115acdf MAINT: generalize the (next|previous)_earnings_date_frame functions 2016-01-08 13:11:31 -05:00
Joe Jevnik b037a06576 MAINT: move some blaze utilities into a shared module 2016-01-08 13:11:31 -05:00
Joe Jevnik fb6d1ea3d1 MAINT: move some helpers to test_utils 2016-01-08 13:11:31 -05:00
Joe Jevnik a2d1fedffd ENH: Adds classlazyval for computed values on a class 2016-01-08 13:11:31 -05:00
Richard Frank 18db1904bc BUG: Need to format message, not ValueError instance 2016-01-06 16:02:18 -05:00
Richard Frank 1499051df7 BUG: TypeError message had only str of numpy.dtype class
We want to use the dtype of the data that was passed in.
2016-01-06 15:29:58 -05:00
Eddie Hebert 80a553d1c0 Merge pull request #938 from quantopian/futures-payouts-without-every-bar-update
MAINT: Futures cash adjustment on change and calc.
2016-01-06 10:25:29 -05:00
Eddie Hebert 1362f155c6 BUG: Make payout affect ending_cash.
The payout should be reflected in ending cash, not just the total used
for pnl.
2016-01-06 10:17:37 -05:00
Joe Jevnik a524cf1880 BUG: fix bug that caused symbols to be added to the asset finder twice 2016-01-05 16:27:46 -05:00
jfkirk 7acd0d7a1d MAINT: Refactors table assignment in AssetDBWriter 2016-01-05 13:48:00 -05:00
jfkirk 00879245a4 BUG: Adds version checking to AssetFinder init 2016-01-05 13:48:00 -05:00
jfkirk 468ecc357c DOC: Adds schema update notes to assets db 2016-01-05 13:48:00 -05:00
jfkirk 004c8dc141 MAINT: Factors-out asset db schema 2016-01-05 13:48:00 -05:00
Eddie Hebert 7a6c6695f7 MAINT: Factor out payout calculation. 2016-01-05 10:39:41 -05:00
Eddie Hebert 962347318d MAINT: Futures cash adjustment on change and calc.
In preparation for the incoming changes which no longer push every bar
through the tradesimulation, remove the adjustment of the period's cash on
every pricing change of a held futures asset.

Instead hold the last sale price for each held future either:

- At the end of each peformance period update the last sale prices of
  all held futures, so that the pnl for the next period uses values
  derived from the cash difference between the end of the two periods.

- When a transaction is processed for the Future, so that the correct
  amount is applied to each cash adjustment. (i.e. the cash adjustment
  is reset on every change of amount of the Future being held, so that
  multiple size and prices do not need to be tracked for the same asset.)

Also, remove now unused dict of payout calculation modifier, since new
calculation reads the value directly off of the asset.

Remove update_last_sale test, since the method no longer returns a cash
value.
2016-01-04 16:52:37 -05:00
Eddie Hebert 0b588219af Fix spelling error. 2015-12-31 15:18:03 -05:00
Joe Jevnik 7a6ba4f249 Merge pull request #924 from quantopian/dataset-subclassing
ENH: Make datasets have subclass relationships
2015-12-29 11:43:55 -05:00
Joe Jevnik 54c58d1205 DOC: add comments about the column collection in DataSetMeta 2015-12-29 10:13:00 -05:00
Scott Sanderson 1f137d4dd8 Merge pull request #927 from quantopian/dollar-volume-update
ENH: Change DollarVolume to AverageDollarVolume.
2015-12-28 16:14:16 -05:00
Scott Sanderson 72887f0065 ENH: Change DollarVolume to AverageDollarVolume. 2015-12-28 16:12:11 -05:00
llllllllll a3fecd6527 ENH: support subclassing in the earningscalendar loader 2015-12-22 12:25:30 -05:00
llllllllll 32baac4e4b ENH: Make datasets have subclass relationships 2015-12-22 12:25:30 -05:00
Joe Jevnik 825f7b3cd5 Merge pull request #923 from quantopian/rename-error-cases
MAINT: fix error messages for set_(commission|slippage)
2015-12-22 12:24:17 -05:00
dmichalowicz 4f24a32c45 BUG: Benchmark and treasury curves data missing on first download 2015-12-21 13:38:24 -05:00
Scott Sanderson 8abef95bb5 DOC: Rename exponential stddev.
ExponentialWeightedStandardDeviation -> ExponentialWeightedMovingStdDev.

This is more consistent with the other moving moment factors.
2015-12-18 14:30:28 -05:00
llllllllll c2091cf79e MAINT: fix error messages for set_(commission|slippage)
These called the functions 'update_(commission|slippage) leading to
confusing messages when you called them post init.
2015-12-18 13:05:03 -05:00
Eddie Hebert d07d42263a MAINT: Make tracker stats a method.
Instead of calling a function, where the only parameter is the tracker
object, make it a method, so that the snapshot of position tracker stats
can be more easily called as `pt.stats()`.
2015-12-18 09:52:53 -05:00
Eddie Hebert 104245bb19 MAINT: Make split method coarse.
In preparation for removal of widespread events, change the split
methods to use params for sid and cost, instead of an event, for
compatibility with lazy branch.

co-author: @jbredeche <jean@quantopian.com>
2015-12-17 15:11:09 -05:00
Eddie Hebert 7eae960b21 MAINT: Make commission methods coarse.
In preparation for removal of widespread events, change the commission
methods to use params for sid and cost, instead of an event, for
compatibility with lazy branch.

co-author: @jbredeche <jean@quantopian.com>
2015-12-17 15:09:12 -05:00
Scott Sanderson 71395d4ea1 DOC: Fix typo in CustomFactor docstring. 2015-12-17 13:18:20 -05:00