Changes BcolzDailyBarWriter to not be an abc, data is passed as an
iterator of (sid, dataframe) pairs to the write method.
Changes the AssetsDBWriter to be a single class which accepts an engine
at construction time and has a `write` method for writing dataframes for
the various tables. We no longer support writing the various other data
types, callers should coerce their data into a dataframe themselves. See
zipline.assets.synthetic for some helpers to do this.
Adds many new fixtures and updates some existing fixtures to use the new
ones:
WithDefaultDateBounds
A fixture that provides the suite a START_DATE and END_DATE. This is
meant to make it easy for other fixtures to synchronize their date
ranges without depending on eachother in strange ways. For example,
WithBcolzMinuteBarReader and WithBcolzDailyBarReader by default should
both have data for the same dates, so they may use depend on
WithDefaultDates without forcing a dependency between them.
WithTmpDir, WithInstanceTmpDir
Provides the suite or individual test case a temporary directory.
WithBcolzDailyBarReader
Provides the suite a BcolzDailyBarReader which reads from bcolz data
written to a temporary directory. The data will be read from
dataframes and then converted to bcolz files with
BcolzDailyBarWriter.write
WithBcolzDailyBarReaderFromCSVs
Provides the suite a BcolzDailyBarReader which reads from bcolz data
written to a temporary directory. The data will be read from a
collection of CSV files and then converted into the bcolz data through
BcolzDailyBarWriter.write_csvs
WithBcolzMinuteBarReader
Provides the suite a BcolzMinuteBarReader which reads from bcolz data
written to a temporary directory. The data will be read from
dataframes and then converted to bcolz files with
BcolzMinuteBarWriter.write
WithAdjustmentReader
Provides the suite a SQLiteAdjustmentReader which reads from an in
memory sqlite database. The data will be read from dataframes and then
converted into sqlite with SQLiteAdjustmentWriter.write
WithDataPortal
Provides each test case a DataPortal object with data from temporary
resources.
BUG: correctly create asset finder
MAINT: rename fixture
STY: fixes for flake8
STY: add space around assignment
MAINT: add var back to constructor
MAINT: remove unused import
MAINT: compare var with None directly
MAINT: fix merge errors
MAINT: remove record date - not needed.
MAINT: restructure dividends dataset.
MAINT: restructure dividends factors.
WIP: update dividends tests.
MAINT: correct the way to get the 'next' event frame.
Renames zipline.utils.test_utils to zipline.testing
Adds zipline.testing.fixtures.ZiplineTestCase to manage setup and
teardown and adds mixins to define fixtures like an asset finder or
trading calendar.
MAINT: make expected_cols class attributes.
MAINT: make concrete_loader a class attribute.
MAINT: drop sid column before creating loader.
TST: add method to fill df with event cases.
TST: move common case df into test_events.py.
TST: improve tests and fix error message assertions.
STY: fix whitespace.
DOC: update docs.
STY: fix style.
MAINT: clean up
STY: fix indentation.
MAINT: use different assertion method to check error message for python3.4 compatibility.
TST: refactor constants and clarify comments.
TST: clean up/extract constants in tests.
MAINT: add/modify constants.
MAINT: remove obsolete and alphabetize.
MAINT: clean up.
MAINT: modify constants to have named params.
MAINT: extract constants.
STY: fix indentation.
MAINT: refactor common part out of buyback_auth.
MAINT: refactor earnings test logic.
MAINT: clean up and improve docs.
BUG: fix imports.
MAINT: refactor test.
MAINT: change class name.
MAINT: remove error since won't be reached.
TST: improve and expand tests.
MAINT: change class name.
MAINT: change class name.
MAINT: extract string constants and remove error that won't be reached.
STY: fix line length.
MAINT: undo name change.
MAINT: add fields based on changes to events loader.
MAINT: modify based on expectations of events loader.
MAINT: modify args.
TST: clean up and clarify df access.
TST: fix bugs in test that didn't properly split datasets' data.
MAINT: fix merge error.
WIP: finish refactoring blaze events loader.
WIP: tests passing for earnings.
BUG: pass all kwargs explicitly for BlazeEventsCalendarLoader.
If this is not done, resources are not bound correctly.
MAINT: refactor for buyback_auth.
EarningsCalendar loader.
- Moves most of AdjustedArray back into Python. The window iterator is
the only part that's performance-intensive.
- Adds a bootleg templating system for creating specialized versions of
AdjustedArrayWindow for each concrete type we care about.
- Adds support for differently dtyped terms in pipeline. This allows us
to use datetime64s which are needed in the EarningsCalendar.
- Adds EarningsCalendar dataset for the next and previous earnings
announcements in pipeline.
- Adds in memory loader for EarningsCalendar.
- Adds blaze loader for EarningsCalendar.