mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-22 12:40:30 +08:00
Compare commits
2
Commits
0.5.7
...
unit-tests
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c571c1c2ae | ||
|
|
f279101393 |
@@ -55,4 +55,4 @@ from .core import ( # noqa
|
|||||||
write_bcolz_minute_data,
|
write_bcolz_minute_data,
|
||||||
write_compressed,
|
write_compressed,
|
||||||
)
|
)
|
||||||
from .fixtures import ZiplineTestCase # noqa
|
from .fixtures import CatalystTestCase # noqa
|
||||||
|
|||||||
@@ -643,7 +643,7 @@ def create_data_portal_from_trade_history(asset_finder, trading_calendar,
|
|||||||
return DataPortal(
|
return DataPortal(
|
||||||
asset_finder, trading_calendar,
|
asset_finder, trading_calendar,
|
||||||
first_trading_day=equity_daily_reader.first_trading_day,
|
first_trading_day=equity_daily_reader.first_trading_day,
|
||||||
equity_daily_reader=equity_daily_reader,
|
daily_reader=equity_daily_reader,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
minutes = trading_calendar.minutes_in_range(
|
minutes = trading_calendar.minutes_in_range(
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ from catalyst.utils.paths import ensure_directory
|
|||||||
catalyst_dir = os.path.dirname(catalyst.__file__)
|
catalyst_dir = os.path.dirname(catalyst.__file__)
|
||||||
|
|
||||||
|
|
||||||
class ZiplineTestCase(with_metaclass(FinalMeta, TestCase)):
|
class CatalystTestCase(with_metaclass(FinalMeta, TestCase)):
|
||||||
"""
|
"""
|
||||||
Shared extensions to core unittest.TestCase.
|
Shared extensions to core unittest.TestCase.
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ class ZiplineTestCase(with_metaclass(FinalMeta, TestCase)):
|
|||||||
cls._base_init_fixtures_was_called = False
|
cls._base_init_fixtures_was_called = False
|
||||||
cls.init_class_fixtures()
|
cls.init_class_fixtures()
|
||||||
assert cls._base_init_fixtures_was_called, (
|
assert cls._base_init_fixtures_was_called, (
|
||||||
"ZiplineTestCase.init_class_fixtures() was not called.\n"
|
"CatalystTestCase.init_class_fixtures() was not called.\n"
|
||||||
"This probably means that you overrode init_class_fixtures"
|
"This probably means that you overrode init_class_fixtures"
|
||||||
" without calling super()."
|
" without calling super()."
|
||||||
)
|
)
|
||||||
@@ -170,7 +170,7 @@ class ZiplineTestCase(with_metaclass(FinalMeta, TestCase)):
|
|||||||
self._init_instance_fixtures_was_called = False
|
self._init_instance_fixtures_was_called = False
|
||||||
self.init_instance_fixtures()
|
self.init_instance_fixtures()
|
||||||
assert self._init_instance_fixtures_was_called, (
|
assert self._init_instance_fixtures_was_called, (
|
||||||
"ZiplineTestCase.init_instance_fixtures() was not"
|
"CatalystTestCase.init_instance_fixtures() was not"
|
||||||
" called.\n"
|
" called.\n"
|
||||||
"This probably means that you overrode"
|
"This probably means that you overrode"
|
||||||
" init_instance_fixtures without calling super()."
|
" init_instance_fixtures without calling super()."
|
||||||
@@ -251,7 +251,7 @@ def alias(attr_name):
|
|||||||
|
|
||||||
class WithDefaultDateBounds(object):
|
class WithDefaultDateBounds(object):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin which makes it possible to synchronize date bounds
|
CatalystTestCase mixin which makes it possible to synchronize date bounds
|
||||||
across fixtures.
|
across fixtures.
|
||||||
|
|
||||||
This fixture should always be the last fixture in bases of any fixture or
|
This fixture should always be the last fixture in bases of any fixture or
|
||||||
@@ -264,13 +264,13 @@ class WithDefaultDateBounds(object):
|
|||||||
The date bounds to be used for fixtures that want to have consistent
|
The date bounds to be used for fixtures that want to have consistent
|
||||||
dates.
|
dates.
|
||||||
"""
|
"""
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2016-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-12-29', tz='utc')
|
END_DATE = pd.Timestamp('2016-12-29', tz='utc')
|
||||||
|
|
||||||
|
|
||||||
class WithLogger(object):
|
class WithLogger(object):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.log_handler as an instance-level
|
CatalystTestCase mixin providing cls.log_handler as an instance-level
|
||||||
fixture.
|
fixture.
|
||||||
|
|
||||||
After init_instance_fixtures has been called `self.log_handler` will be a
|
After init_instance_fixtures has been called `self.log_handler` will be a
|
||||||
@@ -295,7 +295,7 @@ class WithLogger(object):
|
|||||||
|
|
||||||
class WithAssetFinder(WithDefaultDateBounds):
|
class WithAssetFinder(WithDefaultDateBounds):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.asset_finder as a class-level fixture.
|
CatalystTestCase mixin providing cls.asset_finder as a class-level fixture.
|
||||||
|
|
||||||
After init_class_fixtures has been called, `cls.asset_finder` is populated
|
After init_class_fixtures has been called, `cls.asset_finder` is populated
|
||||||
with an AssetFinder.
|
with an AssetFinder.
|
||||||
@@ -402,7 +402,7 @@ class WithAssetFinder(WithDefaultDateBounds):
|
|||||||
|
|
||||||
class WithTradingCalendars(object):
|
class WithTradingCalendars(object):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.trading_calendar,
|
CatalystTestCase mixin providing cls.trading_calendar,
|
||||||
cls.all_trading_calendars, cls.trading_calendar_for_asset_type as a
|
cls.all_trading_calendars, cls.trading_calendar_for_asset_type as a
|
||||||
class-level fixture.
|
class-level fixture.
|
||||||
|
|
||||||
@@ -423,7 +423,7 @@ class WithTradingCalendars(object):
|
|||||||
with that asset type.
|
with that asset type.
|
||||||
"""
|
"""
|
||||||
TRADING_CALENDAR_STRS = ('NYSE',)
|
TRADING_CALENDAR_STRS = ('NYSE',)
|
||||||
TRADING_CALENDAR_FOR_ASSET_TYPE = {Equity: 'NYSE', Future: 'us_futures'}
|
TRADING_CALENDAR_FOR_ASSET_TYPE = {Equity: 'NYSE', Future: 'us_futures', }
|
||||||
TRADING_CALENDAR_FOR_EXCHANGE = {}
|
TRADING_CALENDAR_FOR_EXCHANGE = {}
|
||||||
# For backwards compatibility, exisitng tests and fixtures refer to
|
# For backwards compatibility, exisitng tests and fixtures refer to
|
||||||
# `trading_calendar` with the assumption that the value is the NYSE
|
# `trading_calendar` with the assumption that the value is the NYSE
|
||||||
@@ -460,7 +460,7 @@ class WithTradingEnvironment(WithAssetFinder,
|
|||||||
WithTradingCalendars,
|
WithTradingCalendars,
|
||||||
WithDefaultDateBounds):
|
WithDefaultDateBounds):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.env as a class-level fixture.
|
CatalystTestCase mixin providing cls.env as a class-level fixture.
|
||||||
|
|
||||||
After ``init_class_fixtures`` has been called, `cls.env` is populated
|
After ``init_class_fixtures`` has been called, `cls.env` is populated
|
||||||
with a trading environment whose `asset_finder` is the result of
|
with a trading environment whose `asset_finder` is the result of
|
||||||
@@ -560,7 +560,7 @@ class WithTradingEnvironment(WithAssetFinder,
|
|||||||
|
|
||||||
class WithSimParams(WithTradingEnvironment):
|
class WithSimParams(WithTradingEnvironment):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.sim_params as a class level fixture.
|
CatalystTestCase mixin providing cls.sim_params as a class level fixture.
|
||||||
|
|
||||||
The arguments used to construct the trading environment may be overridded
|
The arguments used to construct the trading environment may be overridded
|
||||||
by putting ``SIM_PARAMS_{argname}`` in the class dict except for the
|
by putting ``SIM_PARAMS_{argname}`` in the class dict except for the
|
||||||
@@ -615,7 +615,7 @@ class WithSimParams(WithTradingEnvironment):
|
|||||||
|
|
||||||
class WithTradingSessions(WithTradingCalendars, WithDefaultDateBounds):
|
class WithTradingSessions(WithTradingCalendars, WithDefaultDateBounds):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.trading_days, cls.all_trading_sessions
|
CatalystTestCase mixin providing cls.trading_days, cls.all_trading_sessions
|
||||||
as a class-level fixture.
|
as a class-level fixture.
|
||||||
|
|
||||||
After init_class_fixtures has been called, `cls.all_trading_sessions`
|
After init_class_fixtures has been called, `cls.all_trading_sessions`
|
||||||
@@ -668,7 +668,7 @@ class WithTradingSessions(WithTradingCalendars, WithDefaultDateBounds):
|
|||||||
|
|
||||||
class WithTmpDir(object):
|
class WithTmpDir(object):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixing providing cls.tmpdir as a class-level fixture.
|
CatalystTestCase mixing providing cls.tmpdir as a class-level fixture.
|
||||||
|
|
||||||
After init_class_fixtures has been called, `cls.tmpdir` is populated with
|
After init_class_fixtures has been called, `cls.tmpdir` is populated with
|
||||||
a `testfixtures.TempDirectory` object whose path is `cls.TMP_DIR_PATH`.
|
a `testfixtures.TempDirectory` object whose path is `cls.TMP_DIR_PATH`.
|
||||||
@@ -691,7 +691,7 @@ class WithTmpDir(object):
|
|||||||
|
|
||||||
class WithInstanceTmpDir(object):
|
class WithInstanceTmpDir(object):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixing providing self.tmpdir as an instance-level fixture.
|
CatalystTestCase mixing providing self.tmpdir as an instance-level fixture.
|
||||||
|
|
||||||
After init_instance_fixtures has been called, `self.tmpdir` is populated
|
After init_instance_fixtures has been called, `self.tmpdir` is populated
|
||||||
with a `testfixtures.TempDirectory` object whose path is
|
with a `testfixtures.TempDirectory` object whose path is
|
||||||
@@ -714,7 +714,7 @@ class WithInstanceTmpDir(object):
|
|||||||
|
|
||||||
class WithEquityDailyBarData(WithTradingEnvironment):
|
class WithEquityDailyBarData(WithTradingEnvironment):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.make_equity_daily_bar_data.
|
CatalystTestCase mixin providing cls.make_equity_daily_bar_data.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
----------
|
----------
|
||||||
@@ -810,7 +810,7 @@ class WithEquityDailyBarData(WithTradingEnvironment):
|
|||||||
|
|
||||||
class WithBcolzEquityDailyBarReader(WithEquityDailyBarData, WithTmpDir):
|
class WithBcolzEquityDailyBarReader(WithEquityDailyBarData, WithTmpDir):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.bcolz_daily_bar_path,
|
CatalystTestCase mixin providing cls.bcolz_daily_bar_path,
|
||||||
cls.bcolz_daily_bar_ctable, and cls.bcolz_equity_daily_bar_reader
|
cls.bcolz_daily_bar_ctable, and cls.bcolz_equity_daily_bar_reader
|
||||||
class level fixtures.
|
class level fixtures.
|
||||||
|
|
||||||
@@ -895,7 +895,7 @@ class WithBcolzEquityDailyBarReader(WithEquityDailyBarData, WithTmpDir):
|
|||||||
|
|
||||||
class WithBcolzEquityDailyBarReaderFromCSVs(WithBcolzEquityDailyBarReader):
|
class WithBcolzEquityDailyBarReaderFromCSVs(WithBcolzEquityDailyBarReader):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin that provides
|
CatalystTestCase mixin that provides
|
||||||
cls.bcolz_equity_daily_bar_reader from a mapping of sids to CSV
|
cls.bcolz_equity_daily_bar_reader from a mapping of sids to CSV
|
||||||
file paths.
|
file paths.
|
||||||
"""
|
"""
|
||||||
@@ -925,7 +925,7 @@ class _WithMinuteBarDataBase(WithTradingEnvironment):
|
|||||||
|
|
||||||
class WithEquityMinuteBarData(_WithMinuteBarDataBase):
|
class WithEquityMinuteBarData(_WithMinuteBarDataBase):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.equity_minute_bar_days.
|
CatalystTestCase mixin providing cls.equity_minute_bar_days.
|
||||||
|
|
||||||
After init_class_fixtures has been called:
|
After init_class_fixtures has been called:
|
||||||
- `cls.equity_minute_bar_days` has the range over which data has been
|
- `cls.equity_minute_bar_days` has the range over which data has been
|
||||||
@@ -984,7 +984,7 @@ class WithEquityMinuteBarData(_WithMinuteBarDataBase):
|
|||||||
|
|
||||||
class WithFutureMinuteBarData(_WithMinuteBarDataBase):
|
class WithFutureMinuteBarData(_WithMinuteBarDataBase):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.future_minute_bar_days.
|
CatalystTestCase mixin providing cls.future_minute_bar_days.
|
||||||
|
|
||||||
After init_class_fixtures has been called:
|
After init_class_fixtures has been called:
|
||||||
- `cls.future_minute_bar_days` has the range over which data has been
|
- `cls.future_minute_bar_days` has the range over which data has been
|
||||||
@@ -1044,7 +1044,7 @@ class WithFutureMinuteBarData(_WithMinuteBarDataBase):
|
|||||||
|
|
||||||
class WithBcolzEquityMinuteBarReader(WithEquityMinuteBarData, WithTmpDir):
|
class WithBcolzEquityMinuteBarReader(WithEquityMinuteBarData, WithTmpDir):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.bcolz_minute_bar_path,
|
CatalystTestCase mixin providing cls.bcolz_minute_bar_path,
|
||||||
cls.bcolz_minute_bar_ctable, and cls.bcolz_equity_minute_bar_reader
|
cls.bcolz_minute_bar_ctable, and cls.bcolz_equity_minute_bar_reader
|
||||||
class level fixtures.
|
class level fixtures.
|
||||||
|
|
||||||
@@ -1103,7 +1103,7 @@ class WithBcolzEquityMinuteBarReader(WithEquityMinuteBarData, WithTmpDir):
|
|||||||
|
|
||||||
class WithBcolzFutureMinuteBarReader(WithFutureMinuteBarData, WithTmpDir):
|
class WithBcolzFutureMinuteBarReader(WithFutureMinuteBarData, WithTmpDir):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.bcolz_minute_bar_path,
|
CatalystTestCase mixin providing cls.bcolz_minute_bar_path,
|
||||||
cls.bcolz_minute_bar_ctable, and cls.bcolz_equity_minute_bar_reader
|
cls.bcolz_minute_bar_ctable, and cls.bcolz_equity_minute_bar_reader
|
||||||
class level fixtures.
|
class level fixtures.
|
||||||
|
|
||||||
@@ -1227,7 +1227,7 @@ class WithConstantFutureMinuteBarData(WithFutureMinuteBarData):
|
|||||||
|
|
||||||
class WithAdjustmentReader(WithBcolzEquityDailyBarReader):
|
class WithAdjustmentReader(WithBcolzEquityDailyBarReader):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.adjustment_reader as a class level
|
CatalystTestCase mixin providing cls.adjustment_reader as a class level
|
||||||
fixture.
|
fixture.
|
||||||
|
|
||||||
After init_class_fixtures has been called, `cls.adjustment_reader` will be
|
After init_class_fixtures has been called, `cls.adjustment_reader` will be
|
||||||
@@ -1359,7 +1359,7 @@ class WithEquityPricingPipelineEngine(WithAdjustmentReader,
|
|||||||
|
|
||||||
class WithSeededRandomPipelineEngine(WithTradingSessions, WithAssetFinder):
|
class WithSeededRandomPipelineEngine(WithTradingSessions, WithAssetFinder):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing class-level fixtures for running pipelines
|
CatalystTestCase mixin providing class-level fixtures for running pipelines
|
||||||
against deterministically-generated random data.
|
against deterministically-generated random data.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -1434,7 +1434,7 @@ class WithDataPortal(WithAdjustmentReader,
|
|||||||
WithBcolzEquityMinuteBarReader,
|
WithBcolzEquityMinuteBarReader,
|
||||||
WithBcolzFutureMinuteBarReader):
|
WithBcolzFutureMinuteBarReader):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing self.data_portal as an instance level
|
CatalystTestCase mixin providing self.data_portal as an instance level
|
||||||
fixture.
|
fixture.
|
||||||
|
|
||||||
After init_instance_fixtures has been called, `self.data_portal` will be
|
After init_instance_fixtures has been called, `self.data_portal` will be
|
||||||
@@ -1485,12 +1485,12 @@ class WithDataPortal(WithAdjustmentReader,
|
|||||||
self.env.asset_finder,
|
self.env.asset_finder,
|
||||||
self.trading_calendar,
|
self.trading_calendar,
|
||||||
first_trading_day=self.DATA_PORTAL_FIRST_TRADING_DAY,
|
first_trading_day=self.DATA_PORTAL_FIRST_TRADING_DAY,
|
||||||
equity_daily_reader=(
|
daily_reader=(
|
||||||
self.bcolz_equity_daily_bar_reader
|
self.bcolz_equity_daily_bar_reader
|
||||||
if self.DATA_PORTAL_USE_DAILY_DATA else
|
if self.DATA_PORTAL_USE_DAILY_DATA else
|
||||||
None
|
None
|
||||||
),
|
),
|
||||||
equity_minute_reader=(
|
minute_reader=(
|
||||||
self.bcolz_equity_minute_bar_reader
|
self.bcolz_equity_minute_bar_reader
|
||||||
if self.DATA_PORTAL_USE_MINUTE_DATA else
|
if self.DATA_PORTAL_USE_MINUTE_DATA else
|
||||||
None
|
None
|
||||||
@@ -1526,7 +1526,7 @@ class WithDataPortal(WithAdjustmentReader,
|
|||||||
|
|
||||||
class WithResponses(object):
|
class WithResponses(object):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin that provides self.responses as an instance
|
CatalystTestCase mixin that provides self.responses as an instance
|
||||||
fixture.
|
fixture.
|
||||||
|
|
||||||
After init_instance_fixtures has been called, `self.responses` will be
|
After init_instance_fixtures has been called, `self.responses` will be
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ from catalyst.utils.input_validation import expect_types
|
|||||||
__all__ = ['load_from_yahoo', 'load_bars_from_yahoo']
|
__all__ = ['load_from_yahoo', 'load_bars_from_yahoo']
|
||||||
|
|
||||||
|
|
||||||
def create_simulation_parameters(year=2006, start=None, end=None,
|
def create_simulation_parameters(year=2016, start=None, end=None,
|
||||||
capital_base=float("1.0e5"),
|
capital_base=float("1.0e5"),
|
||||||
num_days=None,
|
num_days=None,
|
||||||
data_frequency='daily',
|
data_frequency='daily',
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ None
|
|||||||
Miscellaneous
|
Miscellaneous
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
* Adds :class:`~zipline.testing.fixtures.ZiplineTestCase` which provides hooks
|
* Adds :class:`~zipline.testing.fixtures.CatalystTestCase` which provides hooks
|
||||||
to consume test fixtures. Fixtures are things like:
|
to consume test fixtures. Fixtures are things like:
|
||||||
:class:`~zipline.testing.fixtures.WithAssetFinder` which will make
|
:class:`~zipline.testing.fixtures.WithAssetFinder` which will make
|
||||||
``self.asset_finder`` available to your test with some mock data
|
``self.asset_finder`` available to your test with some mock data
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ from catalyst.errors import (
|
|||||||
CyclicCalendarAlias,
|
CyclicCalendarAlias,
|
||||||
InvalidCalendarName,
|
InvalidCalendarName,
|
||||||
)
|
)
|
||||||
from catalyst.testing import ZiplineTestCase
|
from catalyst.testing import CatalystTestCase
|
||||||
from catalyst.utils.calendars.calendar_utils import TradingCalendarDispatcher
|
from catalyst.utils.calendars.calendar_utils import TradingCalendarDispatcher
|
||||||
from catalyst.utils.calendars.exchange_calendar_ice import ICEExchangeCalendar
|
from catalyst.utils.calendars.exchange_calendar_ice import ICEExchangeCalendar
|
||||||
|
|
||||||
|
|
||||||
class CalendarAliasTestCase(ZiplineTestCase):
|
class CalendarAliasTestCase(CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def init_class_fixtures(cls):
|
def init_class_fixtures(cls):
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from catalyst.testing import (
|
|||||||
subtest,
|
subtest,
|
||||||
str_to_seconds,
|
str_to_seconds,
|
||||||
)
|
)
|
||||||
from catalyst.testing.fixtures import WithInstanceTmpDir, ZiplineTestCase, \
|
from catalyst.testing.fixtures import WithInstanceTmpDir, CatalystTestCase, \
|
||||||
WithDefaultDateBounds
|
WithDefaultDateBounds
|
||||||
from catalyst.testing.predicates import (
|
from catalyst.testing.predicates import (
|
||||||
assert_equal,
|
assert_equal,
|
||||||
@@ -45,7 +45,7 @@ _1_ns = pd.Timedelta(1, unit='ns')
|
|||||||
|
|
||||||
class BundleCoreTestCase(WithInstanceTmpDir,
|
class BundleCoreTestCase(WithInstanceTmpDir,
|
||||||
WithDefaultDateBounds,
|
WithDefaultDateBounds,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2014-01-06', tz='utc')
|
START_DATE = pd.Timestamp('2014-01-06', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2014-01-10', tz='utc')
|
END_DATE = pd.Timestamp('2014-01-10', tz='utc')
|
||||||
|
|||||||
@@ -17,14 +17,14 @@ from catalyst.testing import (
|
|||||||
tmp_dir,
|
tmp_dir,
|
||||||
patch_read_csv,
|
patch_read_csv,
|
||||||
)
|
)
|
||||||
from catalyst.testing.fixtures import ZiplineTestCase
|
from catalyst.testing.fixtures import CatalystTestCase
|
||||||
from catalyst.testing.predicates import (
|
from catalyst.testing.predicates import (
|
||||||
assert_equal,
|
assert_equal,
|
||||||
)
|
)
|
||||||
from catalyst.utils.functional import apply
|
from catalyst.utils.functional import apply
|
||||||
|
|
||||||
|
|
||||||
class QuandlBundleTestCase(ZiplineTestCase):
|
class QuandlBundleTestCase(CatalystTestCase):
|
||||||
symbols = 'AAPL', 'BRK_A', 'MSFT', 'ZEN'
|
symbols = 'AAPL', 'BRK_A', 'MSFT', 'ZEN'
|
||||||
asset_start = pd.Timestamp('2014-01', tz='utc')
|
asset_start = pd.Timestamp('2014-01', tz='utc')
|
||||||
asset_end = pd.Timestamp('2015-01', tz='utc')
|
asset_end = pd.Timestamp('2015-01', tz='utc')
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ from catalyst.data.bundles.core import _make_bundle_core
|
|||||||
from catalyst.data.bundles import yahoo_equities
|
from catalyst.data.bundles import yahoo_equities
|
||||||
from catalyst.lib.adjustment import Float64Multiply
|
from catalyst.lib.adjustment import Float64Multiply
|
||||||
from catalyst.testing import test_resource_path, tmp_dir, read_compressed
|
from catalyst.testing import test_resource_path, tmp_dir, read_compressed
|
||||||
from catalyst.testing.fixtures import WithResponses, ZiplineTestCase
|
from catalyst.testing.fixtures import WithResponses, CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
|
|
||||||
|
|
||||||
class YahooBundleTestCase(WithResponses, ZiplineTestCase):
|
class YahooBundleTestCase(WithResponses, CatalystTestCase):
|
||||||
symbols = 'AAPL', 'IBM', 'MSFT'
|
symbols = 'AAPL', 'IBM', 'MSFT'
|
||||||
columns = 'open', 'high', 'low', 'close', 'volume'
|
columns = 'open', 'high', 'low', 'close', 'volume'
|
||||||
asset_start = pd.Timestamp('2014-01-02', tz='utc')
|
asset_start = pd.Timestamp('2014-01-02', tz='utc')
|
||||||
|
|||||||
@@ -11,6 +11,12 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
# ZIPLINE legacy test: Catalyst does not use DispatchBarReader, and thus
|
||||||
|
# this test suite is irrelevant, and is commented out in its entirety
|
||||||
|
|
||||||
from numpy import array, nan
|
from numpy import array, nan
|
||||||
from numpy.testing import assert_almost_equal
|
from numpy.testing import assert_almost_equal
|
||||||
from pandas import DataFrame, Timestamp
|
from pandas import DataFrame, Timestamp
|
||||||
@@ -31,7 +37,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithBcolzEquityDailyBarReader,
|
WithBcolzEquityDailyBarReader,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
OHLC = ['open', 'high', 'low', 'close']
|
OHLC = ['open', 'high', 'low', 'close']
|
||||||
@@ -40,7 +46,7 @@ OHLC = ['open', 'high', 'low', 'close']
|
|||||||
class AssetDispatchSessionBarTestCase(WithBcolzEquityDailyBarReader,
|
class AssetDispatchSessionBarTestCase(WithBcolzEquityDailyBarReader,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
||||||
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
||||||
@@ -169,7 +175,7 @@ class AssetDispatchSessionBarTestCase(WithBcolzEquityDailyBarReader,
|
|||||||
|
|
||||||
class AssetDispatchMinuteBarTestCase(WithBcolzEquityMinuteBarReader,
|
class AssetDispatchMinuteBarTestCase(WithBcolzEquityMinuteBarReader,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
||||||
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
||||||
@@ -330,3 +336,4 @@ class AssetDispatchMinuteBarTestCase(WithBcolzEquityMinuteBarReader,
|
|||||||
for i, (sid, expected, msg) in enumerate(expected_per_sid):
|
for i, (sid, expected, msg) in enumerate(expected_per_sid):
|
||||||
for j, result in enumerate(results):
|
for j, result in enumerate(results):
|
||||||
assert_almost_equal(result[:, i], expected[j], err_msg=msg)
|
assert_almost_equal(result[:, i], expected[j], err_msg=msg)
|
||||||
|
'''
|
||||||
@@ -38,8 +38,8 @@ from pandas import (
|
|||||||
from catalyst.data.bar_reader import NoDataOnDate
|
from catalyst.data.bar_reader import NoDataOnDate
|
||||||
from catalyst.data.minute_bars import (
|
from catalyst.data.minute_bars import (
|
||||||
BcolzMinuteBarMetadata,
|
BcolzMinuteBarMetadata,
|
||||||
BcolzMinuteBarWriter,
|
# BcolzMinuteBarWriter,
|
||||||
BcolzMinuteBarReader,
|
# BcolzMinuteBarReader,
|
||||||
BcolzMinuteOverlappingData,
|
BcolzMinuteOverlappingData,
|
||||||
US_EQUITIES_MINUTES_PER_DAY,
|
US_EQUITIES_MINUTES_PER_DAY,
|
||||||
BcolzMinuteWriterColumnMismatch,
|
BcolzMinuteWriterColumnMismatch,
|
||||||
@@ -47,24 +47,29 @@ from catalyst.data.minute_bars import (
|
|||||||
H5MinuteBarUpdateReader,
|
H5MinuteBarUpdateReader,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from catalyst.exchange.exchange_bcolz import (
|
||||||
|
BcolzExchangeBarWriter,
|
||||||
|
BcolzExchangeBarReader,
|
||||||
|
)
|
||||||
|
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
WithInstanceTmpDir,
|
WithInstanceTmpDir,
|
||||||
WithTradingCalendars,
|
WithTradingCalendars,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Calendar is set to cover several half days, to check a case where half
|
# Calendar is set to cover several half days, to check a case where half
|
||||||
# days would be read out of order in cases of windows which spanned over
|
# days would be read out of order in cases of windows which spanned over
|
||||||
# multiple half days.
|
# multiple half days.
|
||||||
TEST_CALENDAR_START = Timestamp('2014-06-02', tz='UTC')
|
TEST_CALENDAR_START = Timestamp('2015-06-02', tz='UTC')
|
||||||
TEST_CALENDAR_STOP = Timestamp('2015-12-31', tz='UTC')
|
TEST_CALENDAR_STOP = Timestamp('2016-12-31', tz='UTC')
|
||||||
|
|
||||||
|
|
||||||
class BcolzMinuteBarTestCase(WithTradingCalendars,
|
class BcolzMinuteBarTestCase(WithTradingCalendars,
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
WithInstanceTmpDir,
|
WithInstanceTmpDir,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
||||||
|
|
||||||
@@ -87,14 +92,14 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
|
|
||||||
self.dest = self.instance_tmpdir.getpath('minute_bars')
|
self.dest = self.instance_tmpdir.getpath('minute_bars')
|
||||||
os.makedirs(self.dest)
|
os.makedirs(self.dest)
|
||||||
self.writer = BcolzMinuteBarWriter(
|
self.writer = BcolzExchangeBarWriter(
|
||||||
self.dest,
|
rootdir=self.dest,
|
||||||
self.trading_calendar,
|
calendar=self.trading_calendar,
|
||||||
TEST_CALENDAR_START,
|
start_session=TEST_CALENDAR_START,
|
||||||
TEST_CALENDAR_STOP,
|
end_session=TEST_CALENDAR_STOP,
|
||||||
US_EQUITIES_MINUTES_PER_DAY,
|
data_frequency='minute',
|
||||||
)
|
)
|
||||||
self.reader = BcolzMinuteBarReader(self.dest)
|
self.reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
def test_version(self):
|
def test_version(self):
|
||||||
metadata = self.reader._get_metadata()
|
metadata = self.reader._get_metadata()
|
||||||
@@ -152,7 +157,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Create a new writer with `ohlc_ratios_per_sid` defined.
|
# Create a new writer with `ohlc_ratios_per_sid` defined.
|
||||||
writer_with_ratios = BcolzMinuteBarWriter(
|
writer_with_ratios = BcolzExchangeBarWriter(
|
||||||
self.dest,
|
self.dest,
|
||||||
self.trading_calendar,
|
self.trading_calendar,
|
||||||
TEST_CALENDAR_START,
|
TEST_CALENDAR_START,
|
||||||
@@ -161,7 +166,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
ohlc_ratios_per_sid={sid: 25},
|
ohlc_ratios_per_sid={sid: 25},
|
||||||
)
|
)
|
||||||
writer_with_ratios.write_sid(sid, data)
|
writer_with_ratios.write_sid(sid, data)
|
||||||
reader = BcolzMinuteBarReader(self.dest)
|
reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
open_price = reader.get_value(sid, minute, 'open')
|
open_price = reader.get_value(sid, minute, 'open')
|
||||||
self.assertEquals(10.0, open_price)
|
self.assertEquals(10.0, open_price)
|
||||||
@@ -449,7 +454,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
# of appending new days will be writing to an existing directory.
|
# of appending new days will be writing to an existing directory.
|
||||||
cday = self.trading_calendar.schedule.index.freq
|
cday = self.trading_calendar.schedule.index.freq
|
||||||
new_end_session = TEST_CALENDAR_STOP + cday
|
new_end_session = TEST_CALENDAR_STOP + cday
|
||||||
writer = BcolzMinuteBarWriter.open(self.dest, new_end_session)
|
writer = BcolzExchangeBarWriter.open(self.dest, new_end_session)
|
||||||
next_day_minute = dt + cday
|
next_day_minute = dt + cday
|
||||||
new_data = DataFrame(
|
new_data = DataFrame(
|
||||||
data=ohlcv,
|
data=ohlcv,
|
||||||
@@ -457,7 +462,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
writer.write_sid(sid, new_data)
|
writer.write_sid(sid, new_data)
|
||||||
|
|
||||||
# Get a new reader to test updated calendar.
|
# Get a new reader to test updated calendar.
|
||||||
reader = BcolzMinuteBarReader(self.dest)
|
reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
second_minute = dt + Timedelta(minutes=1)
|
second_minute = dt + Timedelta(minutes=1)
|
||||||
|
|
||||||
@@ -802,7 +807,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
index=minutes)
|
index=minutes)
|
||||||
self.writer.write_sid(sids[1], data_2)
|
self.writer.write_sid(sids[1], data_2)
|
||||||
|
|
||||||
reader = BcolzMinuteBarReader(self.dest)
|
reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
columns = ['open', 'high', 'low', 'close', 'volume']
|
columns = ['open', 'high', 'low', 'close', 'volume']
|
||||||
sids = [sids[0], sids[1]]
|
sids = [sids[0], sids[1]]
|
||||||
@@ -854,7 +859,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
index=minutes)
|
index=minutes)
|
||||||
self.writer.write_sid(sids[1], data_2)
|
self.writer.write_sid(sids[1], data_2)
|
||||||
|
|
||||||
reader = BcolzMinuteBarReader(self.dest)
|
reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
columns = ['open', 'high', 'low', 'close', 'volume']
|
columns = ['open', 'high', 'low', 'close', 'volume']
|
||||||
sids = [sids[0], sids[1]]
|
sids = [sids[0], sids[1]]
|
||||||
@@ -877,6 +882,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
assert_almost_equal(data[sid].loc[minutes, col],
|
assert_almost_equal(data[sid].loc[minutes, col],
|
||||||
arrays[i][j][minute_locs])
|
arrays[i][j][minute_locs])
|
||||||
|
|
||||||
|
'''
|
||||||
def test_adjust_non_trading_minutes(self):
|
def test_adjust_non_trading_minutes(self):
|
||||||
start_day = Timestamp('2015-06-01', tz='UTC')
|
start_day = Timestamp('2015-06-01', tz='UTC')
|
||||||
end_day = Timestamp('2015-06-02', tz='UTC')
|
end_day = Timestamp('2015-06-02', tz='UTC')
|
||||||
@@ -922,7 +928,9 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
Timestamp('2015-06-02 20:01:00', tz='UTC'),
|
Timestamp('2015-06-02 20:01:00', tz='UTC'),
|
||||||
'open'
|
'open'
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
|
|
||||||
|
'''
|
||||||
def test_adjust_non_trading_minutes_half_days(self):
|
def test_adjust_non_trading_minutes_half_days(self):
|
||||||
# half day
|
# half day
|
||||||
start_day = Timestamp('2015-11-27', tz='UTC')
|
start_day = Timestamp('2015-11-27', tz='UTC')
|
||||||
@@ -978,6 +986,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
Timestamp('2015-11-30 21:01:00', tz='UTC'),
|
Timestamp('2015-11-30 21:01:00', tz='UTC'),
|
||||||
'open'
|
'open'
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
|
|
||||||
def test_set_sid_attrs(self):
|
def test_set_sid_attrs(self):
|
||||||
"""Confirm that we can set the attributes of a sid's file correctly.
|
"""Confirm that we can set the attributes of a sid's file correctly.
|
||||||
@@ -1023,13 +1032,13 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
|
|
||||||
# Open a new writer to cover `open` method, also truncating only
|
# Open a new writer to cover `open` method, also truncating only
|
||||||
# applies to an existing directory.
|
# applies to an existing directory.
|
||||||
writer = BcolzMinuteBarWriter.open(self.dest)
|
writer = BcolzExchangeBarWriter.open(self.dest)
|
||||||
|
|
||||||
# Truncate to first day with data.
|
# Truncate to first day with data.
|
||||||
writer.truncate(days[0])
|
writer.truncate(days[0])
|
||||||
|
|
||||||
# Refresh the reader since truncate update the metadata.
|
# Refresh the reader since truncate update the metadata.
|
||||||
self.reader = BcolzMinuteBarReader(self.dest)
|
self.reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
self.assertEqual(self.writer.last_date_in_output_for_sid(sid), days[0])
|
self.assertEqual(self.writer.last_date_in_output_for_sid(sid), days[0])
|
||||||
|
|
||||||
@@ -1087,7 +1096,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
self.writer.truncate(self.test_calendar_start)
|
self.writer.truncate(self.test_calendar_start)
|
||||||
|
|
||||||
# Refresh the reader since truncate update the metadata.
|
# Refresh the reader since truncate update the metadata.
|
||||||
self.reader = BcolzMinuteBarReader(self.dest)
|
self.reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.writer.last_date_in_output_for_sid(sid),
|
self.writer.last_date_in_output_for_sid(sid),
|
||||||
@@ -1198,7 +1207,7 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
|||||||
self.writer.write(update_reader.read(minutes, sids))
|
self.writer.write(update_reader.read(minutes, sids))
|
||||||
|
|
||||||
# Refresh the reader since truncate update the metadata.
|
# Refresh the reader since truncate update the metadata.
|
||||||
reader = BcolzMinuteBarReader(self.dest)
|
reader = BcolzExchangeBarReader(self.dest)
|
||||||
|
|
||||||
columns = ['open', 'high', 'low', 'close', 'volume']
|
columns = ['open', 'high', 'low', 'close', 'volume']
|
||||||
sids = [sids[0], sids[1]]
|
sids = [sids[0], sids[1]]
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithBcolzEquityMinuteBarReader,
|
WithBcolzEquityMinuteBarReader,
|
||||||
WithBcolzEquityDailyBarReader,
|
WithBcolzEquityDailyBarReader,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
OHLC = ['open', 'high', 'low', 'close']
|
OHLC = ['open', 'high', 'low', 'close']
|
||||||
@@ -254,7 +254,7 @@ EXPECTED_SESSIONS = {
|
|||||||
|
|
||||||
class MinuteToDailyAggregationTestCase(WithBcolzEquityMinuteBarReader,
|
class MinuteToDailyAggregationTestCase(WithBcolzEquityMinuteBarReader,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
# March 2016
|
# March 2016
|
||||||
# Su Mo Tu We Th Fr Sa
|
# Su Mo Tu We Th Fr Sa
|
||||||
@@ -525,7 +525,7 @@ class MinuteToDailyAggregationTestCase(WithBcolzEquityMinuteBarReader,
|
|||||||
|
|
||||||
|
|
||||||
class TestMinuteToSession(WithEquityMinuteBarData,
|
class TestMinuteToSession(WithEquityMinuteBarData,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
# March 2016
|
# March 2016
|
||||||
# Su Mo Tu We Th Fr Sa
|
# Su Mo Tu We Th Fr Sa
|
||||||
@@ -565,7 +565,7 @@ class TestMinuteToSession(WithEquityMinuteBarData,
|
|||||||
|
|
||||||
|
|
||||||
class TestResampleSessionBars(WithBcolzFutureMinuteBarReader,
|
class TestResampleSessionBars(WithBcolzFutureMinuteBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
TRADING_CALENDAR_STRS = ('us_futures',)
|
TRADING_CALENDAR_STRS = ('us_futures',)
|
||||||
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
||||||
@@ -667,7 +667,7 @@ class TestResampleSessionBars(WithBcolzFutureMinuteBarReader,
|
|||||||
|
|
||||||
|
|
||||||
class TestReindexMinuteBars(WithBcolzEquityMinuteBarReader,
|
class TestReindexMinuteBars(WithBcolzEquityMinuteBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
||||||
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
||||||
@@ -736,7 +736,7 @@ class TestReindexMinuteBars(WithBcolzEquityMinuteBarReader,
|
|||||||
|
|
||||||
|
|
||||||
class TestReindexSessionBars(WithBcolzEquityDailyBarReader,
|
class TestReindexSessionBars(WithBcolzEquityDailyBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
TRADING_CALENDAR_STRS = ('us_futures', 'NYSE')
|
||||||
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
TRADING_CALENDAR_PRIMARY_CAL = 'us_futures'
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithBcolzEquityDailyBarReader,
|
WithBcolzEquityDailyBarReader,
|
||||||
WithTmpDir,
|
WithTmpDir,
|
||||||
WithTradingCalendars,
|
WithTradingCalendars,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ EQUITY_INFO['symbol'] = [chr(ord('A') + n) for n in range(len(EQUITY_INFO))]
|
|||||||
TEST_QUERY_ASSETS = EQUITY_INFO.index
|
TEST_QUERY_ASSETS = EQUITY_INFO.index
|
||||||
|
|
||||||
|
|
||||||
class BcolzDailyBarTestCase(WithBcolzEquityDailyBarReader, ZiplineTestCase):
|
class BcolzDailyBarTestCase(WithBcolzEquityDailyBarReader, CatalystTestCase):
|
||||||
EQUITY_DAILY_BAR_START_DATE = TEST_CALENDAR_START
|
EQUITY_DAILY_BAR_START_DATE = TEST_CALENDAR_START
|
||||||
EQUITY_DAILY_BAR_END_DATE = TEST_CALENDAR_STOP
|
EQUITY_DAILY_BAR_END_DATE = TEST_CALENDAR_STOP
|
||||||
|
|
||||||
@@ -372,7 +372,7 @@ class BcolzDailyBarNeverReadAllTestCase(BcolzDailyBarTestCase):
|
|||||||
class BcolzDailyBarWriterMissingDataTestCase(WithAssetFinder,
|
class BcolzDailyBarWriterMissingDataTestCase(WithAssetFinder,
|
||||||
WithTmpDir,
|
WithTmpDir,
|
||||||
WithTradingCalendars,
|
WithTradingCalendars,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
# Sid 3 is active from 2015-06-02 to 2015-06-30.
|
# Sid 3 is active from 2015-06-02 to 2015-06-30.
|
||||||
MISSING_DATA_SID = 3
|
MISSING_DATA_SID = 3
|
||||||
# Leave out data for a day in the middle of the query range.
|
# Leave out data for a day in the middle of the query range.
|
||||||
|
|||||||
@@ -12,6 +12,11 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
'''
|
||||||
|
# ZIPLINE legacy test: Catalyst only uses OPEN calendar, and thus
|
||||||
|
# this test suite is irrelevant, and is commented out in its entirety
|
||||||
|
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
@@ -41,3 +46,5 @@ class TestStatelessRulesCME(StatelessRulesTests, TestCase):
|
|||||||
|
|
||||||
class TestStatefulRulesCME(StatefulRulesTests, TestCase):
|
class TestStatefulRulesCME(StatefulRulesTests, TestCase):
|
||||||
CALENDAR_STRING = "CME"
|
CALENDAR_STRING = "CME"
|
||||||
|
|
||||||
|
'''
|
||||||
|
|||||||
@@ -12,6 +12,11 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
'''
|
||||||
|
# ZIPLINE legacy test: Catalyst only uses OPEN calendar, and thus
|
||||||
|
# this test suite is irrelevant, and is commented out in its entirety
|
||||||
|
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
@@ -162,3 +167,5 @@ class TestStatelessRulesNYSE(StatelessRulesTests, TestCase):
|
|||||||
|
|
||||||
class TestStatefulRulesNYSE(StatefulRulesTests, TestCase):
|
class TestStatefulRulesNYSE(StatefulRulesTests, TestCase):
|
||||||
CALENDAR_STRING = "NYSE"
|
CALENDAR_STRING = "NYSE"
|
||||||
|
|
||||||
|
'''
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithLogger,
|
WithLogger,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.classproperty import classproperty
|
from catalyst.utils.classproperty import classproperty
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ class BlotterTestCase(WithCreateBarData,
|
|||||||
WithLogger,
|
WithLogger,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-05', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-05', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
||||||
ASSET_FINDER_EQUITY_SIDS = 24, 25
|
ASSET_FINDER_EQUITY_SIDS = 24, 25
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from catalyst.finance.commission import (
|
|||||||
)
|
)
|
||||||
from catalyst.finance.order import Order
|
from catalyst.finance.order import Order
|
||||||
from catalyst.finance.transaction import Transaction
|
from catalyst.finance.transaction import Transaction
|
||||||
from catalyst.testing import ZiplineTestCase, trades_by_sid_to_dfs
|
from catalyst.testing import CatalystTestCase, trades_by_sid_to_dfs
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
@@ -28,7 +28,7 @@ from catalyst.testing.fixtures import (
|
|||||||
from catalyst.utils import factory
|
from catalyst.utils import factory
|
||||||
|
|
||||||
|
|
||||||
class CommissionUnitTests(WithAssetFinder, ZiplineTestCase):
|
class CommissionUnitTests(WithAssetFinder, CatalystTestCase):
|
||||||
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -272,7 +272,7 @@ class CommissionUnitTests(WithAssetFinder, ZiplineTestCase):
|
|||||||
self.assertAlmostEqual(15.3, model.calculate(order, txns[2]))
|
self.assertAlmostEqual(15.3, model.calculate(order, txns[2]))
|
||||||
|
|
||||||
|
|
||||||
class CommissionAlgorithmTests(WithDataPortal, WithSimParams, ZiplineTestCase):
|
class CommissionAlgorithmTests(WithDataPortal, WithSimParams, CatalystTestCase):
|
||||||
# make sure order commissions are properly incremented
|
# make sure order commissions are properly incremented
|
||||||
|
|
||||||
sidint, = ASSET_FINDER_EQUITY_SIDS = (133,)
|
sidint, = ASSET_FINDER_EQUITY_SIDS = (133,)
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.classproperty import classproperty
|
from catalyst.utils.classproperty import classproperty
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ TestOrder = namedtuple('TestOrder', 'limit direction')
|
|||||||
class SlippageTestCase(WithCreateBarData,
|
class SlippageTestCase(WithCreateBarData,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-05 14:31', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-05 14:31', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-05 14:36', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-05 14:36', tz='utc')
|
||||||
SIM_PARAMS_CAPITAL_BASE = 1.0e5
|
SIM_PARAMS_CAPITAL_BASE = 1.0e5
|
||||||
@@ -566,7 +566,7 @@ class SlippageTestCase(WithCreateBarData,
|
|||||||
class VolumeShareSlippageTestCase(WithCreateBarData,
|
class VolumeShareSlippageTestCase(WithCreateBarData,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2006-01-05 14:31', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-05 14:31', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-05 14:36', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-05 14:36', tz='utc')
|
||||||
@@ -743,7 +743,7 @@ class VolumeShareSlippageTestCase(WithCreateBarData,
|
|||||||
class VolatilityVolumeShareTestCase(WithCreateBarData,
|
class VolatilityVolumeShareTestCase(WithCreateBarData,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
ASSET_START_DATE = pd.Timestamp('2006-02-10')
|
ASSET_START_DATE = pd.Timestamp('2006-02-10')
|
||||||
|
|
||||||
@@ -890,7 +890,7 @@ class VolatilityVolumeShareTestCase(WithCreateBarData,
|
|||||||
self.assertIsNone(amount)
|
self.assertIsNone(amount)
|
||||||
|
|
||||||
|
|
||||||
class MarketImpactTestCase(WithCreateBarData, ZiplineTestCase):
|
class MarketImpactTestCase(WithCreateBarData, CatalystTestCase):
|
||||||
|
|
||||||
ASSET_FINDER_EQUITY_SIDS = (1,)
|
ASSET_FINDER_EQUITY_SIDS = (1,)
|
||||||
|
|
||||||
@@ -947,7 +947,7 @@ class MarketImpactTestCase(WithCreateBarData, ZiplineTestCase):
|
|||||||
|
|
||||||
class OrdersStopTestCase(WithSimParams,
|
class OrdersStopTestCase(WithSimParams,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2006-01-05 14:31', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-05 14:31', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-05 14:36', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-05 14:36', tz='utc')
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
from catalyst.utils.functional import dzip_exact
|
from catalyst.utils.functional import dzip_exact
|
||||||
@@ -54,7 +54,7 @@ with_default_shape = with_defaults(shape=lambda self: self.default_shape)
|
|||||||
|
|
||||||
class BasePipelineTestCase(WithTradingSessions,
|
class BasePipelineTestCase(WithTradingSessions,
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = Timestamp('2014', tz='UTC')
|
START_DATE = Timestamp('2014', tz='UTC')
|
||||||
END_DATE = Timestamp('2014-12-31', tz='UTC')
|
END_DATE = Timestamp('2014-12-31', tz='UTC')
|
||||||
ASSET_FINDER_EQUITY_SIDS = list(range(20))
|
ASSET_FINDER_EQUITY_SIDS = list(range(20))
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ from catalyst.pipeline.loaders.blaze.core import (
|
|||||||
NonPipelineField,
|
NonPipelineField,
|
||||||
)
|
)
|
||||||
from catalyst.testing import (
|
from catalyst.testing import (
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
parameter_space,
|
parameter_space,
|
||||||
tmp_asset_finder,
|
tmp_asset_finder,
|
||||||
)
|
)
|
||||||
@@ -77,7 +77,7 @@ def _utc_localize_index_level_0(df):
|
|||||||
return df
|
return df
|
||||||
|
|
||||||
|
|
||||||
class BlazeToPipelineTestCase(WithAssetFinder, ZiplineTestCase):
|
class BlazeToPipelineTestCase(WithAssetFinder, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp(0)
|
START_DATE = pd.Timestamp(0)
|
||||||
END_DATE = pd.Timestamp('2015')
|
END_DATE = pd.Timestamp('2015')
|
||||||
|
|
||||||
@@ -1927,7 +1927,7 @@ class BlazeToPipelineTestCase(WithAssetFinder, ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class MiscTestCase(ZiplineTestCase):
|
class MiscTestCase(CatalystTestCase):
|
||||||
def test_exprdata_repr(self):
|
def test_exprdata_repr(self):
|
||||||
strd = set()
|
strd = set()
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import pandas as pd
|
|||||||
from catalyst.lib.labelarray import LabelArray
|
from catalyst.lib.labelarray import LabelArray
|
||||||
from catalyst.pipeline import Classifier
|
from catalyst.pipeline import Classifier
|
||||||
from catalyst.testing import parameter_space
|
from catalyst.testing import parameter_space
|
||||||
from catalyst.testing.fixtures import ZiplineTestCase
|
from catalyst.testing.fixtures import CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.numpy_utils import (
|
from catalyst.utils.numpy_utils import (
|
||||||
categorical_dtype,
|
categorical_dtype,
|
||||||
@@ -585,7 +585,7 @@ class ClassifierTestCase(BasePipelineTestCase):
|
|||||||
self.assertEqual(result, expected)
|
self.assertEqual(result, expected)
|
||||||
|
|
||||||
|
|
||||||
class TestPostProcessAndToWorkSpaceValue(ZiplineTestCase):
|
class TestPostProcessAndToWorkSpaceValue(CatalystTestCase):
|
||||||
def test_reversability_categorical(self):
|
def test_reversability_categorical(self):
|
||||||
class F(Classifier):
|
class F(Classifier):
|
||||||
inputs = ()
|
inputs = ()
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from catalyst.pipeline import (
|
|||||||
from catalyst.pipeline.data.testing import TestingDataSet
|
from catalyst.pipeline.data.testing import TestingDataSet
|
||||||
from catalyst.pipeline.factors.equity import SimpleMovingAverage
|
from catalyst.pipeline.factors.equity import SimpleMovingAverage
|
||||||
from catalyst.pipeline.filters.smoothing import All
|
from catalyst.pipeline.filters.smoothing import All
|
||||||
from catalyst.testing import ZiplineTestCase, parameter_space
|
from catalyst.testing import CatalystTestCase, parameter_space
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
WithSeededRandomPipelineEngine,
|
WithSeededRandomPipelineEngine,
|
||||||
@@ -44,7 +44,7 @@ class NDaysAgoClassifier(CustomClassifier):
|
|||||||
out[:] = cats[0]
|
out[:] = cats[0]
|
||||||
|
|
||||||
|
|
||||||
class ComputeExtraRowsTestcase(WithTradingSessions, ZiplineTestCase):
|
class ComputeExtraRowsTestcase(WithTradingSessions, CatalystTestCase):
|
||||||
|
|
||||||
DATA_MIN_DAY = pd.Timestamp('2012-06', tz='UTC')
|
DATA_MIN_DAY = pd.Timestamp('2012-06', tz='UTC')
|
||||||
DATA_MAX_DAY = pd.Timestamp('2015', tz='UTC')
|
DATA_MAX_DAY = pd.Timestamp('2015', tz='UTC')
|
||||||
@@ -555,7 +555,7 @@ class ComputeExtraRowsTestcase(WithTradingSessions, ZiplineTestCase):
|
|||||||
|
|
||||||
|
|
||||||
class DownsampledPipelineTestCase(WithSeededRandomPipelineEngine,
|
class DownsampledPipelineTestCase(WithSeededRandomPipelineEngine,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
# Extend into the last few days of 2013 to test year/quarter boundaries.
|
# Extend into the last few days of 2013 to test year/quarter boundaries.
|
||||||
START_DATE = pd.Timestamp('2013-12-15', tz='UTC')
|
START_DATE = pd.Timestamp('2013-12-15', tz='UTC')
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithEquityPricingPipelineEngine,
|
WithEquityPricingPipelineEngine,
|
||||||
WithSeededRandomPipelineEngine,
|
WithSeededRandomPipelineEngine,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.memoize import lazyval
|
from catalyst.utils.memoize import lazyval
|
||||||
@@ -199,7 +199,7 @@ class WithConstantInputs(WithTradingEnvironment):
|
|||||||
cls.assets = cls.asset_finder.retrieve_all(cls.asset_ids)
|
cls.assets = cls.asset_finder.retrieve_all(cls.asset_ids)
|
||||||
|
|
||||||
|
|
||||||
class ConstantInputTestCase(WithConstantInputs, ZiplineTestCase):
|
class ConstantInputTestCase(WithConstantInputs, CatalystTestCase):
|
||||||
def test_bad_dates(self):
|
def test_bad_dates(self):
|
||||||
loader = self.loader
|
loader = self.loader
|
||||||
engine = SimplePipelineEngine(
|
engine = SimplePipelineEngine(
|
||||||
@@ -816,7 +816,7 @@ class ConstantInputTestCase(WithConstantInputs, ZiplineTestCase):
|
|||||||
Loader2DataSet.col2)})
|
Loader2DataSet.col2)})
|
||||||
|
|
||||||
|
|
||||||
class FrameInputTestCase(WithTradingEnvironment, ZiplineTestCase):
|
class FrameInputTestCase(WithTradingEnvironment, CatalystTestCase):
|
||||||
asset_ids = ASSET_FINDER_EQUITY_SIDS = 1, 2, 3
|
asset_ids = ASSET_FINDER_EQUITY_SIDS = 1, 2, 3
|
||||||
start = START_DATE = Timestamp('2015-01-01', tz='utc')
|
start = START_DATE = Timestamp('2015-01-01', tz='utc')
|
||||||
end = END_DATE = Timestamp('2015-01-31', tz='utc')
|
end = END_DATE = Timestamp('2015-01-31', tz='utc')
|
||||||
@@ -921,7 +921,7 @@ class FrameInputTestCase(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
|
|
||||||
|
|
||||||
class SyntheticBcolzTestCase(WithAdjustmentReader,
|
class SyntheticBcolzTestCase(WithAdjustmentReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
first_asset_start = Timestamp('2015-04-01', tz='UTC')
|
first_asset_start = Timestamp('2015-04-01', tz='UTC')
|
||||||
START_DATE = Timestamp('2015-01-01', tz='utc')
|
START_DATE = Timestamp('2015-01-01', tz='utc')
|
||||||
END_DATE = Timestamp('2015-08-01', tz='utc')
|
END_DATE = Timestamp('2015-08-01', tz='utc')
|
||||||
@@ -1079,7 +1079,7 @@ class SyntheticBcolzTestCase(WithAdjustmentReader,
|
|||||||
assert_frame_equal(expected, result)
|
assert_frame_equal(expected, result)
|
||||||
|
|
||||||
|
|
||||||
class ParameterizedFactorTestCase(WithTradingEnvironment, ZiplineTestCase):
|
class ParameterizedFactorTestCase(WithTradingEnvironment, CatalystTestCase):
|
||||||
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
||||||
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
||||||
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
||||||
@@ -1297,7 +1297,7 @@ class ParameterizedFactorTestCase(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
|
|
||||||
|
|
||||||
class StringColumnTestCase(WithSeededRandomPipelineEngine,
|
class StringColumnTestCase(WithSeededRandomPipelineEngine,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
def test_string_classifiers_produce_categoricals(self):
|
def test_string_classifiers_produce_categoricals(self):
|
||||||
"""
|
"""
|
||||||
@@ -1327,7 +1327,7 @@ class StringColumnTestCase(WithSeededRandomPipelineEngine,
|
|||||||
|
|
||||||
|
|
||||||
class WindowSafetyPropagationTestCase(WithSeededRandomPipelineEngine,
|
class WindowSafetyPropagationTestCase(WithSeededRandomPipelineEngine,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
SEEDED_RANDOM_PIPELINE_SEED = 5
|
SEEDED_RANDOM_PIPELINE_SEED = 5
|
||||||
|
|
||||||
@@ -1378,7 +1378,7 @@ class WindowSafetyPropagationTestCase(WithSeededRandomPipelineEngine,
|
|||||||
assert_equal(expected_result, results[colname])
|
assert_equal(expected_result, results[colname])
|
||||||
|
|
||||||
|
|
||||||
class PopulateInitialWorkspaceTestCase(WithConstantInputs, ZiplineTestCase):
|
class PopulateInitialWorkspaceTestCase(WithConstantInputs, CatalystTestCase):
|
||||||
|
|
||||||
@parameter_space(window_length=[3, 5], pipeline_length=[5, 10])
|
@parameter_space(window_length=[3, 5], pipeline_length=[5, 10])
|
||||||
def test_populate_initial_workspace(self, window_length, pipeline_length):
|
def test_populate_initial_workspace(self, window_length, pipeline_length):
|
||||||
@@ -1503,7 +1503,7 @@ class PopulateInitialWorkspaceTestCase(WithConstantInputs, ZiplineTestCase):
|
|||||||
|
|
||||||
|
|
||||||
class ChunkedPipelineTestCase(WithEquityPricingPipelineEngine,
|
class ChunkedPipelineTestCase(WithEquityPricingPipelineEngine,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
PIPELINE_START_DATE = Timestamp('2006-01-05', tz='UTC')
|
PIPELINE_START_DATE = Timestamp('2006-01-05', tz='UTC')
|
||||||
END_DATE = Timestamp('2006-12-29', tz='UTC')
|
END_DATE = Timestamp('2006-12-29', tz='UTC')
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from catalyst.pipeline.loaders.utils import (
|
|||||||
normalize_timestamp_to_query_time,
|
normalize_timestamp_to_query_time,
|
||||||
previous_event_indexer,
|
previous_event_indexer,
|
||||||
)
|
)
|
||||||
from catalyst.testing import check_arrays, ZiplineTestCase
|
from catalyst.testing import check_arrays, CatalystTestCase
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
@@ -148,7 +148,7 @@ def make_events(add_nulls):
|
|||||||
return pd.concat(event_frames, ignore_index=True)
|
return pd.concat(event_frames, ignore_index=True)
|
||||||
|
|
||||||
|
|
||||||
class EventIndexerTestCase(ZiplineTestCase):
|
class EventIndexerTestCase(CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def init_class_fixtures(cls):
|
def init_class_fixtures(cls):
|
||||||
@@ -269,7 +269,7 @@ class EventIndexerTestCase(ZiplineTestCase):
|
|||||||
|
|
||||||
class EventsLoaderEmptyTestCase(WithAssetFinder,
|
class EventsLoaderEmptyTestCase(WithAssetFinder,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2014-01-01')
|
START_DATE = pd.Timestamp('2014-01-01')
|
||||||
END_DATE = pd.Timestamp('2014-01-30')
|
END_DATE = pd.Timestamp('2014-01-30')
|
||||||
|
|
||||||
@@ -351,7 +351,7 @@ class EventsLoaderEmptyTestCase(WithAssetFinder,
|
|||||||
|
|
||||||
class EventsLoaderTestCase(WithAssetFinder,
|
class EventsLoaderTestCase(WithAssetFinder,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2014-01-01')
|
START_DATE = pd.Timestamp('2014-01-01')
|
||||||
END_DATE = pd.Timestamp('2014-01-30')
|
END_DATE = pd.Timestamp('2014-01-30')
|
||||||
@@ -586,7 +586,7 @@ class BlazeEventsLoaderTestCase(EventsLoaderTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class EventLoaderUtilsTestCase(ZiplineTestCase):
|
class EventLoaderUtilsTestCase(CatalystTestCase):
|
||||||
# These cases test the following:
|
# These cases test the following:
|
||||||
# 1. Shuffling timestamps in DST/EST produces the correct normalized
|
# 1. Shuffling timestamps in DST/EST produces the correct normalized
|
||||||
# timestamps
|
# timestamps
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ from catalyst.testing import (
|
|||||||
parameter_space,
|
parameter_space,
|
||||||
permute_rows,
|
permute_rows,
|
||||||
)
|
)
|
||||||
from catalyst.testing.fixtures import ZiplineTestCase
|
from catalyst.testing.fixtures import CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.numpy_utils import (
|
from catalyst.utils.numpy_utils import (
|
||||||
categorical_dtype,
|
categorical_dtype,
|
||||||
@@ -1246,7 +1246,7 @@ class TestWindowSafety(TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestPostProcessAndToWorkSpaceValue(ZiplineTestCase):
|
class TestPostProcessAndToWorkSpaceValue(CatalystTestCase):
|
||||||
@parameter_space(dtype_=(float64_dtype, datetime64ns_dtype))
|
@parameter_space(dtype_=(float64_dtype, datetime64ns_dtype))
|
||||||
def test_reversability(self, dtype_):
|
def test_reversability(self, dtype_):
|
||||||
class F(Factor):
|
class F(Factor):
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ from catalyst.pipeline.filters import (
|
|||||||
StaticAssets,
|
StaticAssets,
|
||||||
StaticSids,
|
StaticSids,
|
||||||
)
|
)
|
||||||
from catalyst.testing import parameter_space, permute_rows, ZiplineTestCase
|
from catalyst.testing import parameter_space, permute_rows, CatalystTestCase
|
||||||
from catalyst.testing.fixtures import WithSeededRandomPipelineEngine
|
from catalyst.testing.fixtures import WithSeededRandomPipelineEngine
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.numpy_utils import float64_dtype, int64_dtype
|
from catalyst.utils.numpy_utils import float64_dtype, int64_dtype
|
||||||
@@ -841,7 +841,7 @@ class SidFactor(CustomFactor):
|
|||||||
|
|
||||||
|
|
||||||
class SpecificAssetsTestCase(WithSeededRandomPipelineEngine,
|
class SpecificAssetsTestCase(WithSeededRandomPipelineEngine,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
ASSET_FINDER_EQUITY_SIDS = tuple(range(10))
|
ASSET_FINDER_EQUITY_SIDS = tuple(range(10))
|
||||||
|
|
||||||
@@ -887,7 +887,7 @@ class SpecificAssetsTestCase(WithSeededRandomPipelineEngine,
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestPostProcessAndToWorkSpaceValue(ZiplineTestCase):
|
class TestPostProcessAndToWorkSpaceValue(CatalystTestCase):
|
||||||
def test_reversability(self):
|
def test_reversability(self):
|
||||||
class F(Filter):
|
class F(Filter):
|
||||||
inputs = ()
|
inputs = ()
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithAdjustmentReader,
|
WithAdjustmentReader,
|
||||||
WithBcolzEquityDailyBarReaderFromCSVs,
|
WithBcolzEquityDailyBarReaderFromCSVs,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ def rolling_vwap(df, length):
|
|||||||
return Series(out, index=df.index)
|
return Series(out, index=df.index)
|
||||||
|
|
||||||
|
|
||||||
class ClosesOnly(WithDataPortal, ZiplineTestCase):
|
class ClosesOnly(WithDataPortal, CatalystTestCase):
|
||||||
sids = 1, 2, 3
|
sids = 1, 2, 3
|
||||||
START_DATE = pd.Timestamp('2014-01-01', tz='utc')
|
START_DATE = pd.Timestamp('2014-01-01', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2014-02-01', tz='utc')
|
END_DATE = pd.Timestamp('2014-02-01', tz='utc')
|
||||||
@@ -355,7 +355,7 @@ class MockDailyBarSpotReader(object):
|
|||||||
|
|
||||||
class PipelineAlgorithmTestCase(WithBcolzEquityDailyBarReaderFromCSVs,
|
class PipelineAlgorithmTestCase(WithBcolzEquityDailyBarReaderFromCSVs,
|
||||||
WithAdjustmentReader,
|
WithAdjustmentReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
AAPL = 1
|
AAPL = 1
|
||||||
MSFT = 2
|
MSFT = 2
|
||||||
BRK_A = 3
|
BRK_A = 3
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ from catalyst.pipeline.loaders.earnings_estimates import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAdjustmentReader,
|
WithAdjustmentReader,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.testing.predicates import assert_equal, assert_raises_regex
|
from catalyst.testing.predicates import assert_equal, assert_raises_regex
|
||||||
from catalyst.testing.predicates import assert_frame_equal
|
from catalyst.testing.predicates import assert_frame_equal
|
||||||
@@ -113,7 +113,7 @@ def create_expected_df_for_factor_compute(start_date,
|
|||||||
|
|
||||||
class WithEstimates(WithTradingSessions, WithAdjustmentReader):
|
class WithEstimates(WithTradingSessions, WithAdjustmentReader):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.loader and cls.events as class
|
CatalystTestCase mixin providing cls.loader and cls.events as class
|
||||||
level fixtures.
|
level fixtures.
|
||||||
|
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ class WithEstimates(WithTradingSessions, WithAdjustmentReader):
|
|||||||
|
|
||||||
class WithOneDayPipeline(WithEstimates):
|
class WithOneDayPipeline(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.events as a class level fixture and
|
CatalystTestCase mixin providing cls.events as a class level fixture and
|
||||||
defining a test for all inheritors to use.
|
defining a test for all inheritors to use.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -246,7 +246,7 @@ class WithOneDayPipeline(WithEstimates):
|
|||||||
assert_frame_equal(results, self.expected_out)
|
assert_frame_equal(results, self.expected_out)
|
||||||
|
|
||||||
|
|
||||||
class PreviousWithOneDayPipeline(WithOneDayPipeline, ZiplineTestCase):
|
class PreviousWithOneDayPipeline(WithOneDayPipeline, CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests that previous quarter loader correctly breaks if an incorrect
|
Tests that previous quarter loader correctly breaks if an incorrect
|
||||||
number of quarters is passed.
|
number of quarters is passed.
|
||||||
@@ -271,7 +271,7 @@ class PreviousWithOneDayPipeline(WithOneDayPipeline, ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class NextWithOneDayPipeline(WithOneDayPipeline, ZiplineTestCase):
|
class NextWithOneDayPipeline(WithOneDayPipeline, CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests that next quarter loader correctly breaks if an incorrect
|
Tests that next quarter loader correctly breaks if an incorrect
|
||||||
number of quarters is passed.
|
number of quarters is passed.
|
||||||
@@ -308,7 +308,7 @@ dummy_df = pd.DataFrame({SID_FIELD_NAME: 0},
|
|||||||
|
|
||||||
class WithWrongLoaderDefinition(WithEstimates):
|
class WithWrongLoaderDefinition(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.events as a class level fixture and
|
CatalystTestCase mixin providing cls.events as a class level fixture and
|
||||||
defining a test for all inheritors to use.
|
defining a test for all inheritors to use.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -372,7 +372,7 @@ class WithWrongLoaderDefinition(WithEstimates):
|
|||||||
|
|
||||||
|
|
||||||
class PreviousWithWrongNumQuarters(WithWrongLoaderDefinition,
|
class PreviousWithWrongNumQuarters(WithWrongLoaderDefinition,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests that previous quarter loader correctly breaks if an incorrect
|
Tests that previous quarter loader correctly breaks if an incorrect
|
||||||
number of quarters is passed.
|
number of quarters is passed.
|
||||||
@@ -383,7 +383,7 @@ class PreviousWithWrongNumQuarters(WithWrongLoaderDefinition,
|
|||||||
|
|
||||||
|
|
||||||
class NextWithWrongNumQuarters(WithWrongLoaderDefinition,
|
class NextWithWrongNumQuarters(WithWrongLoaderDefinition,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests that next quarter loader correctly breaks if an incorrect
|
Tests that next quarter loader correctly breaks if an incorrect
|
||||||
number of quarters is passed.
|
number of quarters is passed.
|
||||||
@@ -398,7 +398,7 @@ options = ["split_adjustments_loader",
|
|||||||
"split_adjusted_asof"]
|
"split_adjusted_asof"]
|
||||||
|
|
||||||
|
|
||||||
class WrongSplitsLoaderDefinition(WithEstimates, ZiplineTestCase):
|
class WrongSplitsLoaderDefinition(WithEstimates, CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Test class that tests that loaders break correctly when incorrectly
|
Test class that tests that loaders break correctly when incorrectly
|
||||||
instantiated.
|
instantiated.
|
||||||
@@ -436,7 +436,7 @@ class WrongSplitsLoaderDefinition(WithEstimates, ZiplineTestCase):
|
|||||||
|
|
||||||
class WithEstimatesTimeZero(WithEstimates):
|
class WithEstimatesTimeZero(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.events as a class level fixture and
|
CatalystTestCase mixin providing cls.events as a class level fixture and
|
||||||
defining a test for all inheritors to use.
|
defining a test for all inheritors to use.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -622,7 +622,7 @@ class WithEstimatesTimeZero(WithEstimates):
|
|||||||
sid_estimates)
|
sid_estimates)
|
||||||
|
|
||||||
|
|
||||||
class NextEstimate(WithEstimatesTimeZero, ZiplineTestCase):
|
class NextEstimate(WithEstimatesTimeZero, CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return NextEarningsEstimatesLoader(events, columns)
|
return NextEarningsEstimatesLoader(events, columns)
|
||||||
@@ -662,7 +662,7 @@ class BlazeNextEstimateLoaderTestCase(NextEstimate):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class PreviousEstimate(WithEstimatesTimeZero, ZiplineTestCase):
|
class PreviousEstimate(WithEstimatesTimeZero, CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return PreviousEarningsEstimatesLoader(events, columns)
|
return PreviousEarningsEstimatesLoader(events, columns)
|
||||||
@@ -703,7 +703,7 @@ class BlazePreviousEstimateLoaderTestCase(PreviousEstimate):
|
|||||||
|
|
||||||
class WithEstimateMultipleQuarters(WithEstimates):
|
class WithEstimateMultipleQuarters(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing cls.events, cls.make_expected_out as
|
CatalystTestCase mixin providing cls.events, cls.make_expected_out as
|
||||||
class-level fixtures and self.test_multiple_qtrs_requested as a test.
|
class-level fixtures and self.test_multiple_qtrs_requested as a test.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -797,7 +797,7 @@ class WithEstimateMultipleQuarters(WithEstimates):
|
|||||||
|
|
||||||
|
|
||||||
class NextEstimateMultipleQuarters(
|
class NextEstimateMultipleQuarters(
|
||||||
WithEstimateMultipleQuarters, ZiplineTestCase
|
WithEstimateMultipleQuarters, CatalystTestCase
|
||||||
):
|
):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
@@ -854,7 +854,7 @@ class BlazeNextEstimateMultipleQuarters(NextEstimateMultipleQuarters):
|
|||||||
|
|
||||||
class PreviousEstimateMultipleQuarters(
|
class PreviousEstimateMultipleQuarters(
|
||||||
WithEstimateMultipleQuarters,
|
WithEstimateMultipleQuarters,
|
||||||
ZiplineTestCase
|
CatalystTestCase
|
||||||
):
|
):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -903,7 +903,7 @@ class BlazePreviousEstimateMultipleQuarters(PreviousEstimateMultipleQuarters):
|
|||||||
|
|
||||||
class WithVaryingNumEstimates(WithEstimates):
|
class WithVaryingNumEstimates(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing fixtures and a test to ensure that we
|
CatalystTestCase mixin providing fixtures and a test to ensure that we
|
||||||
have the correct overwrites when the event date changes. We want to make
|
have the correct overwrites when the event date changes. We want to make
|
||||||
sure that if we have a quarter with an event date that gets pushed back,
|
sure that if we have a quarter with an event date that gets pushed back,
|
||||||
we don't start overwriting for the next quarter early. Likewise,
|
we don't start overwriting for the next quarter early. Likewise,
|
||||||
@@ -973,7 +973,7 @@ class WithVaryingNumEstimates(WithEstimates):
|
|||||||
|
|
||||||
class PreviousVaryingNumEstimates(
|
class PreviousVaryingNumEstimates(
|
||||||
WithVaryingNumEstimates,
|
WithVaryingNumEstimates,
|
||||||
ZiplineTestCase
|
CatalystTestCase
|
||||||
):
|
):
|
||||||
def assert_compute(self, estimate, today):
|
def assert_compute(self, estimate, today):
|
||||||
if today == pd.Timestamp('2015-01-13', tz='utc'):
|
if today == pd.Timestamp('2015-01-13', tz='utc'):
|
||||||
@@ -1003,7 +1003,7 @@ class BlazePreviousVaryingNumEstimates(PreviousVaryingNumEstimates):
|
|||||||
|
|
||||||
class NextVaryingNumEstimates(
|
class NextVaryingNumEstimates(
|
||||||
WithVaryingNumEstimates,
|
WithVaryingNumEstimates,
|
||||||
ZiplineTestCase
|
CatalystTestCase
|
||||||
):
|
):
|
||||||
|
|
||||||
def assert_compute(self, estimate, today):
|
def assert_compute(self, estimate, today):
|
||||||
@@ -1034,7 +1034,7 @@ class BlazeNextVaryingNumEstimates(NextVaryingNumEstimates):
|
|||||||
|
|
||||||
class WithEstimateWindows(WithEstimates):
|
class WithEstimateWindows(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing fixures and a test to test running a
|
CatalystTestCase mixin providing fixures and a test to test running a
|
||||||
Pipeline with an estimates loader over differently-sized windows.
|
Pipeline with an estimates loader over differently-sized windows.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -1198,7 +1198,7 @@ class WithEstimateWindows(WithEstimates):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class PreviousEstimateWindows(WithEstimateWindows, ZiplineTestCase):
|
class PreviousEstimateWindows(WithEstimateWindows, CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return PreviousEarningsEstimatesLoader(events, columns)
|
return PreviousEarningsEstimatesLoader(events, columns)
|
||||||
@@ -1279,7 +1279,7 @@ class BlazePreviousEstimateWindows(PreviousEstimateWindows):
|
|||||||
return BlazePreviousEstimatesLoader(bz.data(events), columns)
|
return BlazePreviousEstimatesLoader(bz.data(events), columns)
|
||||||
|
|
||||||
|
|
||||||
class NextEstimateWindows(WithEstimateWindows, ZiplineTestCase):
|
class NextEstimateWindows(WithEstimateWindows, CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return NextEarningsEstimatesLoader(events, columns)
|
return NextEarningsEstimatesLoader(events, columns)
|
||||||
@@ -1394,7 +1394,7 @@ class BlazeNextEstimateWindows(NextEstimateWindows):
|
|||||||
|
|
||||||
class WithSplitAdjustedWindows(WithEstimateWindows):
|
class WithSplitAdjustedWindows(WithEstimateWindows):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing fixures and a test to test running a
|
CatalystTestCase mixin providing fixures and a test to test running a
|
||||||
Pipeline with an estimates loader over differently-sized windows and with
|
Pipeline with an estimates loader over differently-sized windows and with
|
||||||
split adjustments.
|
split adjustments.
|
||||||
"""
|
"""
|
||||||
@@ -1572,7 +1572,7 @@ class WithSplitAdjustedWindows(WithEstimateWindows):
|
|||||||
|
|
||||||
|
|
||||||
class PreviousWithSplitAdjustedWindows(WithSplitAdjustedWindows,
|
class PreviousWithSplitAdjustedWindows(WithSplitAdjustedWindows,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return PreviousSplitAdjustedEarningsEstimatesLoader(
|
return PreviousSplitAdjustedEarningsEstimatesLoader(
|
||||||
@@ -1726,7 +1726,7 @@ class BlazePreviousWithSplitAdjustedWindows(PreviousWithSplitAdjustedWindows):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class NextWithSplitAdjustedWindows(WithSplitAdjustedWindows, ZiplineTestCase):
|
class NextWithSplitAdjustedWindows(WithSplitAdjustedWindows, CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
@@ -1951,7 +1951,7 @@ class BlazeNextWithSplitAdjustedWindows(NextWithSplitAdjustedWindows):
|
|||||||
|
|
||||||
class WithSplitAdjustedMultipleEstimateColumns(WithEstimates):
|
class WithSplitAdjustedMultipleEstimateColumns(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin for having multiple estimate columns that are
|
CatalystTestCase mixin for having multiple estimate columns that are
|
||||||
split-adjusted to make sure that adjustments are applied correctly.
|
split-adjusted to make sure that adjustments are applied correctly.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
@@ -2136,7 +2136,7 @@ class WithSplitAdjustedMultipleEstimateColumns(WithEstimates):
|
|||||||
|
|
||||||
|
|
||||||
class PreviousWithSplitAdjustedMultipleEstimateColumns(
|
class PreviousWithSplitAdjustedMultipleEstimateColumns(
|
||||||
WithSplitAdjustedMultipleEstimateColumns, ZiplineTestCase
|
WithSplitAdjustedMultipleEstimateColumns, CatalystTestCase
|
||||||
):
|
):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
@@ -2218,7 +2218,7 @@ class BlazePreviousWithMultipleEstimateColumns(
|
|||||||
|
|
||||||
|
|
||||||
class NextWithSplitAdjustedMultipleEstimateColumns(
|
class NextWithSplitAdjustedMultipleEstimateColumns(
|
||||||
WithSplitAdjustedMultipleEstimateColumns, ZiplineTestCase
|
WithSplitAdjustedMultipleEstimateColumns, CatalystTestCase
|
||||||
):
|
):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
@@ -2295,7 +2295,7 @@ class BlazeNextWithMultipleEstimateColumns(
|
|||||||
|
|
||||||
class WithAdjustmentBoundaries(WithEstimates):
|
class WithAdjustmentBoundaries(WithEstimates):
|
||||||
"""
|
"""
|
||||||
ZiplineTestCase mixin providing class-level attributes, methods,
|
CatalystTestCase mixin providing class-level attributes, methods,
|
||||||
and a test to make sure that when the split-adjusted-asof-date is not
|
and a test to make sure that when the split-adjusted-asof-date is not
|
||||||
strictly within the date index, we can still apply adjustments correctly.
|
strictly within the date index, we can still apply adjustments correctly.
|
||||||
|
|
||||||
@@ -2470,7 +2470,7 @@ class WithAdjustmentBoundaries(WithEstimates):
|
|||||||
|
|
||||||
|
|
||||||
class PreviousWithAdjustmentBoundaries(WithAdjustmentBoundaries,
|
class PreviousWithAdjustmentBoundaries(WithAdjustmentBoundaries,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return partial(PreviousSplitAdjustedEarningsEstimatesLoader,
|
return partial(PreviousSplitAdjustedEarningsEstimatesLoader,
|
||||||
@@ -2612,7 +2612,7 @@ class BlazePreviousWithAdjustmentBoundaries(PreviousWithAdjustmentBoundaries):
|
|||||||
|
|
||||||
|
|
||||||
class NextWithAdjustmentBoundaries(WithAdjustmentBoundaries,
|
class NextWithAdjustmentBoundaries(WithAdjustmentBoundaries,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_loader(cls, events, columns):
|
def make_loader(cls, events, columns):
|
||||||
return partial(NextSplitAdjustedEarningsEstimatesLoader,
|
return partial(NextSplitAdjustedEarningsEstimatesLoader,
|
||||||
@@ -2720,7 +2720,7 @@ class BlazeNextWithAdjustmentBoundaries(NextWithAdjustmentBoundaries):
|
|||||||
split_adjusted_column_names=['estimate'])
|
split_adjusted_column_names=['estimate'])
|
||||||
|
|
||||||
|
|
||||||
class QuarterShiftTestCase(ZiplineTestCase):
|
class QuarterShiftTestCase(CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
This tests, in isolation, quarter calculation logic for shifting quarters
|
This tests, in isolation, quarter calculation logic for shifting quarters
|
||||||
backwards/forwards from a starting point.
|
backwards/forwards from a starting point.
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ from catalyst.testing import (
|
|||||||
)
|
)
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithSeededRandomPipelineEngine,
|
WithSeededRandomPipelineEngine,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.numpy_utils import datetime64ns_dtype
|
from catalyst.utils.numpy_utils import datetime64ns_dtype
|
||||||
|
|
||||||
|
|
||||||
class SliceTestCase(WithSeededRandomPipelineEngine, ZiplineTestCase):
|
class SliceTestCase(WithSeededRandomPipelineEngine, CatalystTestCase):
|
||||||
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
||||||
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
||||||
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithSeededRandomPipelineEngine,
|
WithSeededRandomPipelineEngine,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.numpy_utils import (
|
from catalyst.utils.numpy_utils import (
|
||||||
bool_dtype,
|
bool_dtype,
|
||||||
@@ -51,7 +51,7 @@ from catalyst.utils.numpy_utils import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class StatisticalBuiltInsTestCase(WithTradingEnvironment, ZiplineTestCase):
|
class StatisticalBuiltInsTestCase(WithTradingEnvironment, CatalystTestCase):
|
||||||
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
||||||
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
||||||
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
||||||
@@ -388,7 +388,7 @@ class StatisticalBuiltInsTestCase(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
|
|
||||||
|
|
||||||
class StatisticalMethodsTestCase(WithSeededRandomPipelineEngine,
|
class StatisticalMethodsTestCase(WithSeededRandomPipelineEngine,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
sids = ASSET_FINDER_EQUITY_SIDS = Int64Index([1, 2, 3])
|
||||||
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
START_DATE = Timestamp('2015-01-31', tz='UTC')
|
||||||
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
END_DATE = Timestamp('2015-03-01', tz='UTC')
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from catalyst.pipeline.factors.equity import (
|
|||||||
AnnualizedVolatility,
|
AnnualizedVolatility,
|
||||||
)
|
)
|
||||||
from catalyst.testing import parameter_space
|
from catalyst.testing import parameter_space
|
||||||
from catalyst.testing.fixtures import ZiplineTestCase
|
from catalyst.testing.fixtures import CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from .base import BasePipelineTestCase
|
from .base import BasePipelineTestCase
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ class BollingerBandsTestCase(BasePipelineTestCase):
|
|||||||
self.assertIs(upper, bbands.upper)
|
self.assertIs(upper, bbands.upper)
|
||||||
|
|
||||||
|
|
||||||
class AroonTestCase(ZiplineTestCase):
|
class AroonTestCase(CatalystTestCase):
|
||||||
window_length = 10
|
window_length = 10
|
||||||
nassets = 5
|
nassets = 5
|
||||||
dtype = [('down', 'f8'), ('up', 'f8')]
|
dtype = [('down', 'f8'), ('up', 'f8')]
|
||||||
@@ -148,7 +148,7 @@ class AroonTestCase(ZiplineTestCase):
|
|||||||
assert_equal(out, expected_out)
|
assert_equal(out, expected_out)
|
||||||
|
|
||||||
|
|
||||||
class TestFastStochasticOscillator(ZiplineTestCase):
|
class TestFastStochasticOscillator(CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Test the Fast Stochastic Oscillator
|
Test the Fast Stochastic Oscillator
|
||||||
"""
|
"""
|
||||||
@@ -218,7 +218,7 @@ class TestFastStochasticOscillator(ZiplineTestCase):
|
|||||||
assert_equal(out, expected_out_k, array_decimal=6)
|
assert_equal(out, expected_out_k, array_decimal=6)
|
||||||
|
|
||||||
|
|
||||||
class IchimokuKinkoHyoTestCase(ZiplineTestCase):
|
class IchimokuKinkoHyoTestCase(CatalystTestCase):
|
||||||
def test_ichimoku_kinko_hyo(self):
|
def test_ichimoku_kinko_hyo(self):
|
||||||
window_length = 52
|
window_length = 52
|
||||||
today = pd.Timestamp('2014', tz='utc')
|
today = pd.Timestamp('2014', tz='utc')
|
||||||
@@ -334,7 +334,7 @@ class IchimokuKinkoHyoTestCase(ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestRateOfChangePercentage(ZiplineTestCase):
|
class TestRateOfChangePercentage(CatalystTestCase):
|
||||||
@parameterized.expand([
|
@parameterized.expand([
|
||||||
('constant', [2.] * 10, 0.0),
|
('constant', [2.] * 10, 0.0),
|
||||||
('step', [2.] + [1.] * 9, -50.0),
|
('step', [2.] + [1.] * 9, -50.0),
|
||||||
@@ -358,7 +358,7 @@ class TestRateOfChangePercentage(ZiplineTestCase):
|
|||||||
assert_equal(out, np.full((len(assets),), expected))
|
assert_equal(out, np.full((len(assets),), expected))
|
||||||
|
|
||||||
|
|
||||||
class TestLinearWeightedMovingAverage(ZiplineTestCase):
|
class TestLinearWeightedMovingAverage(CatalystTestCase):
|
||||||
def test_wma1(self):
|
def test_wma1(self):
|
||||||
wma1 = LinearWeightedMovingAverage(
|
wma1 = LinearWeightedMovingAverage(
|
||||||
inputs=(USEquityPricing.close,),
|
inputs=(USEquityPricing.close,),
|
||||||
@@ -390,7 +390,7 @@ class TestLinearWeightedMovingAverage(ZiplineTestCase):
|
|||||||
assert_equal(out, np.array([30., 31., 32., 33., 34.]))
|
assert_equal(out, np.array([30., 31., 32., 33., 34.]))
|
||||||
|
|
||||||
|
|
||||||
class TestTrueRange(ZiplineTestCase):
|
class TestTrueRange(CatalystTestCase):
|
||||||
|
|
||||||
def test_tr_basic(self):
|
def test_tr_basic(self):
|
||||||
tr = TrueRange()
|
tr = TrueRange()
|
||||||
@@ -407,7 +407,7 @@ class TestTrueRange(ZiplineTestCase):
|
|||||||
assert_equal(out, np.full((3,), 2.))
|
assert_equal(out, np.full((3,), 2.))
|
||||||
|
|
||||||
|
|
||||||
class MovingAverageConvergenceDivergenceTestCase(ZiplineTestCase):
|
class MovingAverageConvergenceDivergenceTestCase(CatalystTestCase):
|
||||||
|
|
||||||
def expected_ewma(self, data_df, window):
|
def expected_ewma(self, data_df, window):
|
||||||
# Comment copied from `test_engine.py`:
|
# Comment copied from `test_engine.py`:
|
||||||
@@ -532,7 +532,7 @@ class MovingAverageConvergenceDivergenceTestCase(ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class AnnualizedVolatilityTestCase(ZiplineTestCase):
|
class AnnualizedVolatilityTestCase(CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Test Annualized Volatility
|
Test Annualized Volatility
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ from catalyst.pipeline.factors import RecarrayField
|
|||||||
from catalyst.pipeline.sentinels import NotSpecified
|
from catalyst.pipeline.sentinels import NotSpecified
|
||||||
from catalyst.pipeline.term import AssetExists, Slice
|
from catalyst.pipeline.term import AssetExists, Slice
|
||||||
from catalyst.testing import parameter_space
|
from catalyst.testing import parameter_space
|
||||||
from catalyst.testing.fixtures import WithTradingSessions, ZiplineTestCase
|
from catalyst.testing.fixtures import WithTradingSessions, CatalystTestCase
|
||||||
from catalyst.testing.predicates import (
|
from catalyst.testing.predicates import (
|
||||||
assert_equal,
|
assert_equal,
|
||||||
assert_raises,
|
assert_raises,
|
||||||
@@ -155,7 +155,7 @@ def to_dict(l):
|
|||||||
return dict(zip(map(str, range(len(l))), l))
|
return dict(zip(map(str, range(len(l))), l))
|
||||||
|
|
||||||
|
|
||||||
class DependencyResolutionTestCase(WithTradingSessions, ZiplineTestCase):
|
class DependencyResolutionTestCase(WithTradingSessions, CatalystTestCase):
|
||||||
|
|
||||||
TRADING_CALENDAR_STRS = ('NYSE',)
|
TRADING_CALENDAR_STRS = ('NYSE',)
|
||||||
START_DATE = pd.Timestamp('2014-01-02', tz='UTC')
|
START_DATE = pd.Timestamp('2014-01-02', tz='UTC')
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ from catalyst.testing import (
|
|||||||
)
|
)
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAdjustmentReader,
|
WithAdjustmentReader,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Test calendar ranges over the month of June 2015
|
# Test calendar ranges over the month of June 2015
|
||||||
@@ -258,7 +258,7 @@ DIVIDENDS_EXPECTED = DataFrame(
|
|||||||
|
|
||||||
|
|
||||||
class USEquityPricingLoaderTestCase(WithAdjustmentReader,
|
class USEquityPricingLoaderTestCase(WithAdjustmentReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = TEST_CALENDAR_START
|
START_DATE = TEST_CALENDAR_START
|
||||||
END_DATE = TEST_CALENDAR_STOP
|
END_DATE = TEST_CALENDAR_STOP
|
||||||
asset_ids = 1, 2, 3
|
asset_ids = 1, 2, 3
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import pandas as pd
|
|||||||
import catalyst.finance.risk as risk
|
import catalyst.finance.risk as risk
|
||||||
from catalyst.utils import factory
|
from catalyst.utils import factory
|
||||||
|
|
||||||
from catalyst.testing.fixtures import WithTradingEnvironment, ZiplineTestCase
|
from catalyst.testing.fixtures import WithTradingEnvironment, CatalystTestCase
|
||||||
|
|
||||||
from catalyst.finance.trading import SimulationParameters
|
from catalyst.finance.trading import SimulationParameters
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ BENCHMARK = [BENCHMARK_BASE] * 251
|
|||||||
DECIMAL_PLACES = 8
|
DECIMAL_PLACES = 8
|
||||||
|
|
||||||
|
|
||||||
class TestRisk(WithTradingEnvironment, ZiplineTestCase):
|
class TestRisk(WithTradingEnvironment, CatalystTestCase):
|
||||||
|
|
||||||
def init_instance_fixtures(self):
|
def init_instance_fixtures(self):
|
||||||
super(TestRisk, self).init_instance_fixtures()
|
super(TestRisk, self).init_instance_fixtures()
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import catalyst.finance.risk as risk
|
|||||||
from catalyst.utils import factory
|
from catalyst.utils import factory
|
||||||
|
|
||||||
from catalyst.finance.trading import SimulationParameters
|
from catalyst.finance.trading import SimulationParameters
|
||||||
from catalyst.testing.fixtures import WithTradingEnvironment, ZiplineTestCase
|
from catalyst.testing.fixtures import WithTradingEnvironment, CatalystTestCase
|
||||||
|
|
||||||
from catalyst.finance.risk.period import RiskMetricsPeriod
|
from catalyst.finance.risk.period import RiskMetricsPeriod
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ BENCHMARK = [BENCHMARK_BASE] * 251
|
|||||||
DECIMAL_PLACES = 8
|
DECIMAL_PLACES = 8
|
||||||
|
|
||||||
|
|
||||||
class TestRisk(WithTradingEnvironment, ZiplineTestCase):
|
class TestRisk(WithTradingEnvironment, CatalystTestCase):
|
||||||
|
|
||||||
def init_instance_fixtures(self):
|
def init_instance_fixtures(self):
|
||||||
super(TestRisk, self).init_instance_fixtures()
|
super(TestRisk, self).init_instance_fixtures()
|
||||||
@@ -232,6 +232,28 @@ class TestRisk(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
# The sortino ratio is calculated by a empyrical function so testing
|
# The sortino ratio is calculated by a empyrical function so testing
|
||||||
# of period sortino ratios will be limited to determine if the value is
|
# of period sortino ratios will be limited to determine if the value is
|
||||||
# numerical. This tests for its existence and format.
|
# numerical. This tests for its existence and format.
|
||||||
|
|
||||||
|
# This test needs a different result set that, with some
|
||||||
|
# negative results, otherwise fails in a legitimate way.
|
||||||
|
|
||||||
|
RETURNS = (np.random.rand(251) * 0.1) - 0.05
|
||||||
|
|
||||||
|
self.algo_returns = factory.create_returns_from_list(
|
||||||
|
RETURNS,
|
||||||
|
self.sim_params
|
||||||
|
)
|
||||||
|
|
||||||
|
self.metrics = risk.RiskReport(
|
||||||
|
self.algo_returns,
|
||||||
|
self.sim_params,
|
||||||
|
benchmark_returns=self.benchmark_returns,
|
||||||
|
trading_calendar=self.trading_calendar,
|
||||||
|
treasury_curves=self.env.treasury_curves,
|
||||||
|
)
|
||||||
|
|
||||||
|
for x in self.metrics.month_periods:
|
||||||
|
print (type(x.sortino))
|
||||||
|
|
||||||
np.testing.assert_equal(
|
np.testing.assert_equal(
|
||||||
all(isinstance(x.sortino, float)
|
all(isinstance(x.sortino, float)
|
||||||
for x in self.metrics.month_periods),
|
for x in self.metrics.month_periods),
|
||||||
|
|||||||
+52
-52
@@ -109,7 +109,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
WithTmpDir,
|
WithTmpDir,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.test_algorithms import (
|
from catalyst.test_algorithms import (
|
||||||
access_account_in_init,
|
access_account_in_init,
|
||||||
@@ -190,7 +190,7 @@ import catalyst.utils.factory as factory
|
|||||||
_multiprocess_can_split_ = False
|
_multiprocess_can_split_ = False
|
||||||
|
|
||||||
|
|
||||||
class TestRecordAlgorithm(WithSimParams, WithDataPortal, ZiplineTestCase):
|
class TestRecordAlgorithm(WithSimParams, WithDataPortal, CatalystTestCase):
|
||||||
ASSET_FINDER_EQUITY_SIDS = 133,
|
ASSET_FINDER_EQUITY_SIDS = 133,
|
||||||
|
|
||||||
def test_record_incr(self):
|
def test_record_incr(self):
|
||||||
@@ -210,7 +210,7 @@ class TestRecordAlgorithm(WithSimParams, WithDataPortal, ZiplineTestCase):
|
|||||||
class TestMiscellaneousAPI(WithLogger,
|
class TestMiscellaneousAPI(WithLogger,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='UTC')
|
START_DATE = pd.Timestamp('2006-01-03', tz='UTC')
|
||||||
END_DATE = pd.Timestamp('2006-01-04', tz='UTC')
|
END_DATE = pd.Timestamp('2006-01-04', tz='UTC')
|
||||||
@@ -819,7 +819,7 @@ def log_nyse_close(context, data):
|
|||||||
class TestTransformAlgorithm(WithLogger,
|
class TestTransformAlgorithm(WithLogger,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
||||||
|
|
||||||
@@ -1092,7 +1092,7 @@ def before_trading_start(context, data):
|
|||||||
class TestPositions(WithLogger,
|
class TestPositions(WithLogger,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
||||||
SIM_PARAMS_CAPITAL_BASE = 1000
|
SIM_PARAMS_CAPITAL_BASE = 1000
|
||||||
@@ -1225,7 +1225,7 @@ class TestPositions(WithLogger,
|
|||||||
|
|
||||||
class TestBeforeTradingStart(WithDataPortal,
|
class TestBeforeTradingStart(WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2016-01-06', tz='utc')
|
START_DATE = pd.Timestamp('2016-01-06', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2016-01-07', tz='utc')
|
END_DATE = pd.Timestamp('2016-01-07', tz='utc')
|
||||||
SIM_PARAMS_CAPITAL_BASE = 10000
|
SIM_PARAMS_CAPITAL_BASE = 10000
|
||||||
@@ -1578,7 +1578,7 @@ class TestBeforeTradingStart(WithDataPortal,
|
|||||||
class TestAlgoScript(WithLogger,
|
class TestAlgoScript(WithLogger,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-12-31', tz='utc')
|
END_DATE = pd.Timestamp('2006-12-31', tz='utc')
|
||||||
DATA_PORTAL_USE_MINUTE_DATA = False
|
DATA_PORTAL_USE_MINUTE_DATA = False
|
||||||
@@ -2331,7 +2331,7 @@ def handle_data(context, data):
|
|||||||
class TestCapitalChanges(WithLogger,
|
class TestCapitalChanges(WithLogger,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
sids = 0, 1
|
sids = 0, 1
|
||||||
|
|
||||||
@@ -2339,16 +2339,16 @@ class TestCapitalChanges(WithLogger,
|
|||||||
def make_equity_info(cls):
|
def make_equity_info(cls):
|
||||||
data = make_simple_equity_info(
|
data = make_simple_equity_info(
|
||||||
cls.sids,
|
cls.sids,
|
||||||
pd.Timestamp('2006-01-03', tz='UTC'),
|
pd.Timestamp('2016-01-03', tz='UTC'),
|
||||||
pd.Timestamp('2006-01-09', tz='UTC'),
|
pd.Timestamp('2016-01-09', tz='UTC'),
|
||||||
)
|
)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_equity_minute_bar_data(cls):
|
def make_equity_minute_bar_data(cls):
|
||||||
minutes = cls.trading_calendar.minutes_in_range(
|
minutes = cls.trading_calendar.minutes_in_range(
|
||||||
pd.Timestamp('2006-01-03', tz='UTC'),
|
pd.Timestamp('2016-01-03', tz='UTC'),
|
||||||
pd.Timestamp('2006-01-09', tz='UTC')
|
pd.Timestamp('2016-01-09', tz='UTC')
|
||||||
)
|
)
|
||||||
return trades_by_sid_to_dfs(
|
return trades_by_sid_to_dfs(
|
||||||
{
|
{
|
||||||
@@ -2366,8 +2366,8 @@ class TestCapitalChanges(WithLogger,
|
|||||||
@classmethod
|
@classmethod
|
||||||
def make_equity_daily_bar_data(cls):
|
def make_equity_daily_bar_data(cls):
|
||||||
days = cls.trading_calendar.sessions_in_range(
|
days = cls.trading_calendar.sessions_in_range(
|
||||||
pd.Timestamp('2006-01-03', tz='UTC'),
|
pd.Timestamp('2016-01-03', tz='UTC'),
|
||||||
pd.Timestamp('2006-01-09', tz='UTC')
|
pd.Timestamp('2016-01-09', tz='UTC')
|
||||||
)
|
)
|
||||||
return trades_by_sid_to_dfs(
|
return trades_by_sid_to_dfs(
|
||||||
{
|
{
|
||||||
@@ -2387,12 +2387,12 @@ class TestCapitalChanges(WithLogger,
|
|||||||
])
|
])
|
||||||
def test_capital_changes_daily_mode(self, change_type, value):
|
def test_capital_changes_daily_mode(self, change_type, value):
|
||||||
sim_params = factory.create_simulation_parameters(
|
sim_params = factory.create_simulation_parameters(
|
||||||
start=pd.Timestamp('2006-01-03', tz='UTC'),
|
start=pd.Timestamp('2016-01-03', tz='UTC'),
|
||||||
end=pd.Timestamp('2006-01-09', tz='UTC')
|
end=pd.Timestamp('2016-01-09', tz='UTC')
|
||||||
)
|
)
|
||||||
|
|
||||||
capital_changes = {
|
capital_changes = {
|
||||||
pd.Timestamp('2006-01-06', tz='UTC'):
|
pd.Timestamp('2016-01-06', tz='UTC'):
|
||||||
{'type': change_type, 'value': value}
|
{'type': change_type, 'value': value}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2429,7 +2429,7 @@ def order_stuff(context, data):
|
|||||||
self.assertEqual(len(capital_change_packets), 1)
|
self.assertEqual(len(capital_change_packets), 1)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
capital_change_packets[0],
|
capital_change_packets[0],
|
||||||
{'date': pd.Timestamp('2006-01-06', tz='UTC'),
|
{'date': pd.Timestamp('2016-01-06', tz='UTC'),
|
||||||
'type': 'cash',
|
'type': 'cash',
|
||||||
'target': 153000.0 if change_type == 'target' else None,
|
'target': 153000.0 if change_type == 'target' else None,
|
||||||
'delta': 50000.0})
|
'delta': 50000.0})
|
||||||
@@ -2532,23 +2532,23 @@ def order_stuff(context, data):
|
|||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
algo.capital_change_deltas,
|
algo.capital_change_deltas,
|
||||||
{pd.Timestamp('2006-01-06', tz='UTC'): 50000.0}
|
{pd.Timestamp('2016-01-06', tz='UTC'): 50000.0}
|
||||||
)
|
)
|
||||||
|
|
||||||
@parameterized.expand([
|
@parameterized.expand([
|
||||||
('interday_target', [('2006-01-04', 2388.0)]),
|
('interday_target', [('2016-01-04', 2388.0)]),
|
||||||
('interday_delta', [('2006-01-04', 1000.0)]),
|
('interday_delta', [('2016-01-04', 1000.0)]),
|
||||||
('intraday_target', [('2006-01-04 17:00', 2186.0),
|
('intraday_target', [('2016-01-04 17:00', 2186.0),
|
||||||
('2006-01-04 18:00', 2806.0)]),
|
('2016-01-04 18:00', 2806.0)]),
|
||||||
('intraday_delta', [('2006-01-04 17:00', 500.0),
|
('intraday_delta', [('2016-01-04 17:00', 500.0),
|
||||||
('2006-01-04 18:00', 500.0)]),
|
('2016-01-04 18:00', 500.0)]),
|
||||||
])
|
])
|
||||||
def test_capital_changes_minute_mode_daily_emission(self, change, values):
|
def test_capital_changes_minute_mode_daily_emission(self, change, values):
|
||||||
change_loc, change_type = change.split('_')
|
change_loc, change_type = change.split('_')
|
||||||
|
|
||||||
sim_params = factory.create_simulation_parameters(
|
sim_params = factory.create_simulation_parameters(
|
||||||
start=pd.Timestamp('2006-01-03', tz='UTC'),
|
start=pd.Timestamp('2016-01-03', tz='UTC'),
|
||||||
end=pd.Timestamp('2006-01-05', tz='UTC'),
|
end=pd.Timestamp('2016-01-05', tz='UTC'),
|
||||||
data_frequency='minute',
|
data_frequency='minute',
|
||||||
capital_base=1000.0
|
capital_base=1000.0
|
||||||
)
|
)
|
||||||
@@ -2692,29 +2692,29 @@ def order_stuff(context, data):
|
|||||||
if change_loc == 'interday':
|
if change_loc == 'interday':
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
algo.capital_change_deltas,
|
algo.capital_change_deltas,
|
||||||
{pd.Timestamp('2006-01-04', tz='UTC'): 1000.0}
|
{pd.Timestamp('2016-01-04', tz='UTC'): 1000.0}
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
algo.capital_change_deltas,
|
algo.capital_change_deltas,
|
||||||
{pd.Timestamp('2006-01-04 17:00', tz='UTC'): 500.0,
|
{pd.Timestamp('2016-01-04 17:00', tz='UTC'): 500.0,
|
||||||
pd.Timestamp('2006-01-04 18:00', tz='UTC'): 500.0}
|
pd.Timestamp('2016-01-04 18:00', tz='UTC'): 500.0}
|
||||||
)
|
)
|
||||||
|
|
||||||
@parameterized.expand([
|
@parameterized.expand([
|
||||||
('interday_target', [('2006-01-04', 2388.0)]),
|
('interday_target', [('2016-01-04', 2388.0)]),
|
||||||
('interday_delta', [('2006-01-04', 1000.0)]),
|
('interday_delta', [('2016-01-04', 1000.0)]),
|
||||||
('intraday_target', [('2006-01-04 17:00', 2186.0),
|
('intraday_target', [('2016-01-04 17:00', 2186.0),
|
||||||
('2006-01-04 18:00', 2806.0)]),
|
('2016-01-04 18:00', 2806.0)]),
|
||||||
('intraday_delta', [('2006-01-04 17:00', 500.0),
|
('intraday_delta', [('2016-01-04 17:00', 500.0),
|
||||||
('2006-01-04 18:00', 500.0)]),
|
('2016-01-04 18:00', 500.0)]),
|
||||||
])
|
])
|
||||||
def test_capital_changes_minute_mode_minute_emission(self, change, values):
|
def test_capital_changes_minute_mode_minute_emission(self, change, values):
|
||||||
change_loc, change_type = change.split('_')
|
change_loc, change_type = change.split('_')
|
||||||
|
|
||||||
sim_params = factory.create_simulation_parameters(
|
sim_params = factory.create_simulation_parameters(
|
||||||
start=pd.Timestamp('2006-01-03', tz='UTC'),
|
start=pd.Timestamp('2016-01-03', tz='UTC'),
|
||||||
end=pd.Timestamp('2006-01-05', tz='UTC'),
|
end=pd.Timestamp('2016-01-05', tz='UTC'),
|
||||||
data_frequency='minute',
|
data_frequency='minute',
|
||||||
emission_rate='minute',
|
emission_rate='minute',
|
||||||
capital_base=1000.0
|
capital_base=1000.0
|
||||||
@@ -2933,20 +2933,20 @@ def order_stuff(context, data):
|
|||||||
if change_loc == 'interday':
|
if change_loc == 'interday':
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
algo.capital_change_deltas,
|
algo.capital_change_deltas,
|
||||||
{pd.Timestamp('2006-01-04', tz='UTC'): 1000.0}
|
{pd.Timestamp('2016-01-04', tz='UTC'): 1000.0}
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
algo.capital_change_deltas,
|
algo.capital_change_deltas,
|
||||||
{pd.Timestamp('2006-01-04 17:00', tz='UTC'): 500.0,
|
{pd.Timestamp('2016-01-04 17:00', tz='UTC'): 500.0,
|
||||||
pd.Timestamp('2006-01-04 18:00', tz='UTC'): 500.0}
|
pd.Timestamp('2016-01-04 18:00', tz='UTC'): 500.0}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestGetDatetime(WithLogger,
|
class TestGetDatetime(WithLogger,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
SIM_PARAMS_DATA_FREQUENCY = 'minute'
|
SIM_PARAMS_DATA_FREQUENCY = 'minute'
|
||||||
START_DATE = to_utc('2014-01-02 9:31')
|
START_DATE = to_utc('2014-01-02 9:31')
|
||||||
END_DATE = to_utc('2014-01-03 9:31')
|
END_DATE = to_utc('2014-01-03 9:31')
|
||||||
@@ -2994,7 +2994,7 @@ class TestGetDatetime(WithLogger,
|
|||||||
self.assertFalse(algo.first_bar)
|
self.assertFalse(algo.first_bar)
|
||||||
|
|
||||||
|
|
||||||
class TestTradingControls(WithSimParams, WithDataPortal, ZiplineTestCase):
|
class TestTradingControls(WithSimParams, WithDataPortal, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
||||||
|
|
||||||
@@ -3468,7 +3468,7 @@ class TestTradingControls(WithSimParams, WithDataPortal, ZiplineTestCase):
|
|||||||
algo.run(data_portal)
|
algo.run(data_portal)
|
||||||
|
|
||||||
|
|
||||||
class TestAccountControls(WithDataPortal, WithSimParams, ZiplineTestCase):
|
class TestAccountControls(WithDataPortal, WithSimParams, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-06', tz='utc')
|
||||||
|
|
||||||
@@ -3616,7 +3616,7 @@ class TestAccountControls(WithDataPortal, WithSimParams, ZiplineTestCase):
|
|||||||
# format(i, actual_position, expected_positions[i]))
|
# format(i, actual_position, expected_positions[i]))
|
||||||
|
|
||||||
|
|
||||||
class TestFutureFlip(WithDataPortal, WithSimParams, ZiplineTestCase):
|
class TestFutureFlip(WithDataPortal, WithSimParams, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-09', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-09', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-10', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-10', tz='utc')
|
||||||
sid, = ASSET_FINDER_EQUITY_SIDS = (1,)
|
sid, = ASSET_FINDER_EQUITY_SIDS = (1,)
|
||||||
@@ -3677,7 +3677,7 @@ class TestFutureFlip(WithDataPortal, WithSimParams, ZiplineTestCase):
|
|||||||
format(i, actual_position, expected_positions[i]))
|
format(i, actual_position, expected_positions[i]))
|
||||||
|
|
||||||
|
|
||||||
class TestFuturesAlgo(WithDataPortal, WithSimParams, ZiplineTestCase):
|
class TestFuturesAlgo(WithDataPortal, WithSimParams, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2016-01-06', tz='utc')
|
START_DATE = pd.Timestamp('2016-01-06', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2016-01-07', tz='utc')
|
END_DATE = pd.Timestamp('2016-01-07', tz='utc')
|
||||||
FUTURE_MINUTE_BAR_START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
FUTURE_MINUTE_BAR_START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
||||||
@@ -3879,7 +3879,7 @@ class TestFuturesAlgo(WithDataPortal, WithSimParams, ZiplineTestCase):
|
|||||||
self.assertEqual(txn['price'], expected_price)
|
self.assertEqual(txn['price'], expected_price)
|
||||||
|
|
||||||
|
|
||||||
class TestTradingAlgorithm(WithTradingEnvironment, ZiplineTestCase):
|
class TestTradingAlgorithm(WithTradingEnvironment, CatalystTestCase):
|
||||||
def test_analyze_called(self):
|
def test_analyze_called(self):
|
||||||
self.perf_ref = None
|
self.perf_ref = None
|
||||||
|
|
||||||
@@ -3907,7 +3907,7 @@ class TestTradingAlgorithm(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
|
|
||||||
class TestOrderCancelation(WithDataPortal,
|
class TestOrderCancelation(WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2016-01-05', tz='utc')
|
START_DATE = pd.Timestamp('2016-01-05', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2016-01-07', tz='utc')
|
END_DATE = pd.Timestamp('2016-01-07', tz='utc')
|
||||||
@@ -4100,7 +4100,7 @@ class TestOrderCancelation(WithDataPortal,
|
|||||||
self.assertFalse(log_catcher.has_warnings)
|
self.assertFalse(log_catcher.has_warnings)
|
||||||
|
|
||||||
|
|
||||||
class TestEquityAutoClose(WithTradingEnvironment, WithTmpDir, ZiplineTestCase):
|
class TestEquityAutoClose(WithTradingEnvironment, WithTmpDir, CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests if delisted equities are properly removed from a portfolio holding
|
Tests if delisted equities are properly removed from a portfolio holding
|
||||||
positions in said equities.
|
positions in said equities.
|
||||||
@@ -4661,7 +4661,7 @@ class TestEquityAutoClose(WithTradingEnvironment, WithTmpDir, ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestOrderAfterDelist(WithTradingEnvironment, ZiplineTestCase):
|
class TestOrderAfterDelist(WithTradingEnvironment, CatalystTestCase):
|
||||||
start = pd.Timestamp('2016-01-05', tz='utc')
|
start = pd.Timestamp('2016-01-05', tz='utc')
|
||||||
day_1 = pd.Timestamp('2016-01-06', tz='utc')
|
day_1 = pd.Timestamp('2016-01-06', tz='utc')
|
||||||
day_4 = pd.Timestamp('2016-01-11', tz='utc')
|
day_4 = pd.Timestamp('2016-01-11', tz='utc')
|
||||||
@@ -4756,7 +4756,7 @@ class TestOrderAfterDelist(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
self.assertEqual(expected_message, w.message)
|
self.assertEqual(expected_message, w.message)
|
||||||
|
|
||||||
|
|
||||||
class AlgoInputValidationTestCase(WithTradingEnvironment, ZiplineTestCase):
|
class AlgoInputValidationTestCase(WithTradingEnvironment, CatalystTestCase):
|
||||||
|
|
||||||
def test_reject_passing_both_api_methods_and_script(self):
|
def test_reject_passing_both_api_methods_and_script(self):
|
||||||
script = dedent(
|
script = dedent(
|
||||||
@@ -4787,7 +4787,7 @@ class AlgoInputValidationTestCase(WithTradingEnvironment, ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestPanelData(WithTradingEnvironment, ZiplineTestCase):
|
class TestPanelData(WithTradingEnvironment, CatalystTestCase):
|
||||||
|
|
||||||
@parameterized.expand([
|
@parameterized.expand([
|
||||||
('daily',
|
('daily',
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithCreateBarData,
|
WithCreateBarData,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.catalyst_warnings import ZiplineDeprecationWarning
|
from catalyst.catalyst_warnings import ZiplineDeprecationWarning
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ def handle_data(context, data):
|
|||||||
class TestAPIShim(WithCreateBarData,
|
class TestAPIShim(WithCreateBarData,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
):
|
):
|
||||||
START_DATE = pd.Timestamp("2016-01-05", tz='UTC')
|
START_DATE = pd.Timestamp("2016-01-05", tz='UTC')
|
||||||
END_DATE = pd.Timestamp("2016-01-28", tz='UTC')
|
END_DATE = pd.Timestamp("2016-01-28", tz='UTC')
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
WithTradingCalendars,
|
WithTradingCalendars,
|
||||||
)
|
)
|
||||||
from catalyst.utils.range import range
|
from catalyst.utils.range import range
|
||||||
@@ -345,7 +345,7 @@ class AssetTestCase(TestCase):
|
|||||||
'a' < self.asset3
|
'a' < self.asset3
|
||||||
|
|
||||||
|
|
||||||
class TestFuture(WithAssetFinder, ZiplineTestCase):
|
class TestFuture(WithAssetFinder, CatalystTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_futures_info(cls):
|
def make_futures_info(cls):
|
||||||
return pd.DataFrame.from_dict(
|
return pd.DataFrame.from_dict(
|
||||||
@@ -458,7 +458,7 @@ class TestFuture(WithAssetFinder, ZiplineTestCase):
|
|||||||
TestFuture.asset_finder.lookup_future_symbol('XXX99')
|
TestFuture.asset_finder.lookup_future_symbol('XXX99')
|
||||||
|
|
||||||
|
|
||||||
class AssetFinderTestCase(WithTradingCalendars, ZiplineTestCase):
|
class AssetFinderTestCase(WithTradingCalendars, CatalystTestCase):
|
||||||
asset_finder_type = AssetFinder
|
asset_finder_type = AssetFinder
|
||||||
|
|
||||||
def write_assets(self, **kwargs):
|
def write_assets(self, **kwargs):
|
||||||
@@ -1395,7 +1395,7 @@ class AssetFinderTestCase(WithTradingCalendars, ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestAssetDBVersioning(ZiplineTestCase):
|
class TestAssetDBVersioning(CatalystTestCase):
|
||||||
|
|
||||||
def init_instance_fixtures(self):
|
def init_instance_fixtures(self):
|
||||||
super(TestAssetDBVersioning, self).init_instance_fixtures()
|
super(TestAssetDBVersioning, self).init_instance_fixtures()
|
||||||
@@ -1533,7 +1533,7 @@ class TestAssetDBVersioning(ZiplineTestCase):
|
|||||||
assert_equal(expected_data, actual_data)
|
assert_equal(expected_data, actual_data)
|
||||||
|
|
||||||
|
|
||||||
class TestVectorizedSymbolLookup(WithAssetFinder, ZiplineTestCase):
|
class TestVectorizedSymbolLookup(WithAssetFinder, CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_equity_info(cls):
|
def make_equity_info(cls):
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithCreateBarData,
|
WithCreateBarData,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
from catalyst.utils.calendars.trading_calendar import days_at_time
|
from catalyst.utils.calendars.trading_calendar import days_at_time
|
||||||
@@ -108,7 +108,7 @@ class WithBarDataChecks(object):
|
|||||||
class TestMinuteBarData(WithCreateBarData,
|
class TestMinuteBarData(WithCreateBarData,
|
||||||
WithBarDataChecks,
|
WithBarDataChecks,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
||||||
END_DATE = ASSET_FINDER_EQUITY_END_DATE = pd.Timestamp(
|
END_DATE = ASSET_FINDER_EQUITY_END_DATE = pd.Timestamp(
|
||||||
'2016-01-07',
|
'2016-01-07',
|
||||||
@@ -730,7 +730,7 @@ class TestMinuteBarData(WithCreateBarData,
|
|||||||
|
|
||||||
class TestMinuteBarDataFuturesCalendar(WithCreateBarData,
|
class TestMinuteBarDataFuturesCalendar(WithCreateBarData,
|
||||||
WithBarDataChecks,
|
WithBarDataChecks,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
||||||
END_DATE = ASSET_FINDER_EQUITY_END_DATE = pd.Timestamp(
|
END_DATE = ASSET_FINDER_EQUITY_END_DATE = pd.Timestamp(
|
||||||
@@ -857,7 +857,7 @@ class TestMinuteBarDataFuturesCalendar(WithCreateBarData,
|
|||||||
class TestDailyBarData(WithCreateBarData,
|
class TestDailyBarData(WithCreateBarData,
|
||||||
WithBarDataChecks,
|
WithBarDataChecks,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
START_DATE = pd.Timestamp('2016-01-05', tz='UTC')
|
||||||
END_DATE = ASSET_FINDER_EQUITY_END_DATE = pd.Timestamp(
|
END_DATE = ASSET_FINDER_EQUITY_END_DATE = pd.Timestamp(
|
||||||
'2016-01-11',
|
'2016-01-11',
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ from catalyst.testing.fixtures import (
|
|||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithTradingCalendars,
|
WithTradingCalendars,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestBenchmark(WithDataPortal, WithSimParams, WithTradingCalendars,
|
class TestBenchmark(WithDataPortal, WithSimParams, WithTradingCalendars,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-12-29', tz='utc')
|
END_DATE = pd.Timestamp('2006-12-29', tz='utc')
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ class ContinuousFuturesTestCase(WithCreateBarData,
|
|||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithBcolzFutureMinuteBarReader,
|
WithBcolzFutureMinuteBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
START_DATE = pd.Timestamp('2015-01-05', tz='UTC')
|
START_DATE = pd.Timestamp('2015-01-05', tz='UTC')
|
||||||
END_DATE = pd.Timestamp('2016-10-19', tz='UTC')
|
END_DATE = pd.Timestamp('2016-10-19', tz='UTC')
|
||||||
@@ -1285,7 +1285,7 @@ def record_current_contract(algo, data):
|
|||||||
|
|
||||||
|
|
||||||
class OrderedContractsTestCase(WithAssetFinder,
|
class OrderedContractsTestCase(WithAssetFinder,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_root_symbols_info(self):
|
def make_root_symbols_info(self):
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from catalyst.data.minute_bars import (
|
|||||||
)
|
)
|
||||||
from catalyst.testing import parameter_space
|
from catalyst.testing import parameter_space
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
alias,
|
alias,
|
||||||
@@ -38,7 +38,7 @@ from catalyst.utils.numpy_utils import float64_dtype
|
|||||||
|
|
||||||
class DataPortalTestBase(WithDataPortal,
|
class DataPortalTestBase(WithDataPortal,
|
||||||
WithTradingSessions,
|
WithTradingSessions,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
ASSET_FINDER_EQUITY_SIDS = (1, 2)
|
ASSET_FINDER_EQUITY_SIDS = (1, 2)
|
||||||
START_DATE = pd.Timestamp('2016-08-01')
|
START_DATE = pd.Timestamp('2016-08-01')
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import pandas as pd
|
|||||||
from catalyst import examples
|
from catalyst import examples
|
||||||
from catalyst.data.bundles import register, unregister
|
from catalyst.data.bundles import register, unregister
|
||||||
from catalyst.testing import test_resource_path
|
from catalyst.testing import test_resource_path
|
||||||
from catalyst.testing.fixtures import WithTmpDir, ZiplineTestCase
|
from catalyst.testing.fixtures import WithTmpDir, CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.cache import dataframe_cache
|
from catalyst.utils.cache import dataframe_cache
|
||||||
from catalyst.utils.paths import update_modified_time
|
from catalyst.utils.paths import update_modified_time
|
||||||
@@ -34,7 +34,7 @@ _multiprocess_can_split_ = False
|
|||||||
matplotlib.use('Agg')
|
matplotlib.use('Agg')
|
||||||
|
|
||||||
|
|
||||||
class ExamplesTests(WithTmpDir, ZiplineTestCase):
|
class ExamplesTests(WithTmpDir, CatalystTestCase):
|
||||||
# some columns contain values with unique ids that will not be the same
|
# some columns contain values with unique ids that will not be the same
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -22,14 +22,14 @@ from catalyst.test_algorithms import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
DEFAULT_TIMEOUT = 15 # seconds
|
DEFAULT_TIMEOUT = 15 # seconds
|
||||||
EXTENDED_TIMEOUT = 90
|
EXTENDED_TIMEOUT = 90
|
||||||
|
|
||||||
|
|
||||||
class ExceptionTestCase(WithDataPortal, WithSimParams, ZiplineTestCase):
|
class ExceptionTestCase(WithDataPortal, WithSimParams, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
START_DATE = pd.Timestamp('2006-01-07', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-07', tz='utc')
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ from catalyst.finance.execution import (
|
|||||||
)
|
)
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithLogger,
|
WithLogger,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ExecutionStyleTestCase(WithLogger, ZiplineTestCase):
|
class ExecutionStyleTestCase(WithLogger, CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests for catalyst ExecutionStyle classes.
|
Tests for catalyst ExecutionStyle classes.
|
||||||
"""
|
"""
|
||||||
@@ -96,62 +96,62 @@ class ExecutionStyleTestCase(WithLogger, ZiplineTestCase):
|
|||||||
self.assertEqual(style.get_stop_price(True), None)
|
self.assertEqual(style.get_stop_price(True), None)
|
||||||
self.assertEqual(style.get_stop_price(False), None)
|
self.assertEqual(style.get_stop_price(False), None)
|
||||||
|
|
||||||
@parameterized.expand(EXPECTED_PRICE_ROUNDING)
|
# @parameterized.expand(EXPECTED_PRICE_ROUNDING)
|
||||||
def test_limit_order_prices(self,
|
# def test_limit_order_prices(self,
|
||||||
price,
|
# price,
|
||||||
expected_limit_buy_or_stop_sell,
|
# expected_limit_buy_or_stop_sell,
|
||||||
expected_limit_sell_or_stop_buy):
|
# expected_limit_sell_or_stop_buy):
|
||||||
"""
|
# """
|
||||||
Test price getters for the LimitOrder class.
|
# Test price getters for the LimitOrder class.
|
||||||
"""
|
# """
|
||||||
style = LimitOrder(price)
|
# style = LimitOrder()
|
||||||
|
#
|
||||||
self.assertEqual(expected_limit_buy_or_stop_sell,
|
# # self.assertEqual(expected_limit_buy_or_stop_sell,
|
||||||
style.get_limit_price(True))
|
# # style.get_limit_price(True))
|
||||||
self.assertEqual(expected_limit_sell_or_stop_buy,
|
# # self.assertEqual(expected_limit_sell_or_stop_buy,
|
||||||
style.get_limit_price(False))
|
# # style.get_limit_price(False))
|
||||||
|
#
|
||||||
self.assertEqual(None, style.get_stop_price(True))
|
# self.assertEqual(None, style.get_stop_price(True))
|
||||||
self.assertEqual(None, style.get_stop_price(False))
|
# self.assertEqual(None, style.get_stop_price(False))
|
||||||
|
#
|
||||||
@parameterized.expand(EXPECTED_PRICE_ROUNDING)
|
# # @parameterized.expand(EXPECTED_PRICE_ROUNDING)
|
||||||
def test_stop_order_prices(self,
|
# def test_stop_order_prices(self,
|
||||||
price,
|
# price,
|
||||||
expected_limit_buy_or_stop_sell,
|
# expected_limit_buy_or_stop_sell,
|
||||||
expected_limit_sell_or_stop_buy):
|
# expected_limit_sell_or_stop_buy):
|
||||||
"""
|
# """
|
||||||
Test price getters for StopOrder class. Note that the expected rounding
|
# Test price getters for StopOrder class. Note that the expected rounding
|
||||||
direction for stop prices is the reverse of that for limit prices.
|
# direction for stop prices is the reverse of that for limit prices.
|
||||||
"""
|
# """
|
||||||
style = StopOrder(price)
|
# style = StopOrder(price)
|
||||||
|
#
|
||||||
self.assertEqual(None, style.get_limit_price(False))
|
# self.assertEqual(None, style.get_limit_price(False))
|
||||||
self.assertEqual(None, style.get_limit_price(True))
|
# self.assertEqual(None, style.get_limit_price(True))
|
||||||
|
#
|
||||||
self.assertEqual(expected_limit_buy_or_stop_sell,
|
# # self.assertEqual(expected_limit_buy_or_stop_sell,
|
||||||
style.get_stop_price(False))
|
# # style.get_stop_price(False))
|
||||||
self.assertEqual(expected_limit_sell_or_stop_buy,
|
# # self.assertEqual(expected_limit_sell_or_stop_buy,
|
||||||
style.get_stop_price(True))
|
# # style.get_stop_price(True))
|
||||||
|
#
|
||||||
@parameterized.expand(EXPECTED_PRICE_ROUNDING)
|
# # @parameterized.expand(EXPECTED_PRICE_ROUNDING)
|
||||||
def test_stop_limit_order_prices(self,
|
# def test_stop_limit_order_prices(self,
|
||||||
price,
|
# price,
|
||||||
expected_limit_buy_or_stop_sell,
|
# expected_limit_buy_or_stop_sell,
|
||||||
expected_limit_sell_or_stop_buy):
|
# expected_limit_sell_or_stop_buy):
|
||||||
"""
|
# """
|
||||||
Test price getters for StopLimitOrder class. Note that the expected
|
# Test price getters for StopLimitOrder class. Note that the expected
|
||||||
rounding direction for stop prices is the reverse of that for limit
|
# rounding direction for stop prices is the reverse of that for limit
|
||||||
prices.
|
# prices.
|
||||||
"""
|
# """
|
||||||
|
#
|
||||||
style = StopLimitOrder(price, price + 1)
|
# style = StopLimitOrder(price, price + 1)
|
||||||
|
#
|
||||||
self.assertEqual(expected_limit_buy_or_stop_sell,
|
# self.assertEqual(expected_limit_buy_or_stop_sell,
|
||||||
style.get_limit_price(True))
|
# style.get_limit_price(True))
|
||||||
self.assertEqual(expected_limit_sell_or_stop_buy,
|
# self.assertEqual(expected_limit_sell_or_stop_buy,
|
||||||
style.get_limit_price(False))
|
# style.get_limit_price(False))
|
||||||
|
#
|
||||||
self.assertEqual(expected_limit_buy_or_stop_sell + 1,
|
# self.assertEqual(expected_limit_buy_or_stop_sell + 1,
|
||||||
style.get_stop_price(False))
|
# style.get_stop_price(False))
|
||||||
self.assertEqual(expected_limit_sell_or_stop_buy + 1,
|
# self.assertEqual(expected_limit_sell_or_stop_buy + 1,
|
||||||
style.get_stop_price(True))
|
# style.get_stop_price(True))
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from catalyst.testing import FetcherDataPortal
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithResponses,
|
WithResponses,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from .resources.fetcher_inputs.fetcher_test_data import (
|
from .resources.fetcher_inputs.fetcher_test_data import (
|
||||||
AAPL_CSV_DATA,
|
AAPL_CSV_DATA,
|
||||||
@@ -45,7 +45,7 @@ from .resources.fetcher_inputs.fetcher_test_data import (
|
|||||||
|
|
||||||
class FetcherTestCase(WithResponses,
|
class FetcherTestCase(WithResponses,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def make_equity_info(cls):
|
def make_equity_info(cls):
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithLogger,
|
WithLogger,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
import catalyst.utils.factory as factory
|
import catalyst.utils.factory as factory
|
||||||
@@ -59,10 +59,10 @@ _multiprocess_can_split_ = False
|
|||||||
|
|
||||||
class FinanceTestCase(WithLogger,
|
class FinanceTestCase(WithLogger,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
ASSET_FINDER_EQUITY_SIDS = 1, 2, 133
|
ASSET_FINDER_EQUITY_SIDS = 1, 2, 133
|
||||||
start = START_DATE = pd.Timestamp('2006-01-01', tz='utc')
|
start = START_DATE = pd.Timestamp('2016-01-01', tz='utc')
|
||||||
end = END_DATE = pd.Timestamp('2006-12-31', tz='utc')
|
end = END_DATE = pd.Timestamp('2016-12-31', tz='utc')
|
||||||
|
|
||||||
def init_instance_fixtures(self):
|
def init_instance_fixtures(self):
|
||||||
super(FinanceTestCase, self).init_instance_fixtures()
|
super(FinanceTestCase, self).init_instance_fixtures()
|
||||||
@@ -236,7 +236,7 @@ class FinanceTestCase(WithLogger,
|
|||||||
data_portal = DataPortal(
|
data_portal = DataPortal(
|
||||||
env.asset_finder, self.trading_calendar,
|
env.asset_finder, self.trading_calendar,
|
||||||
first_trading_day=equity_minute_reader.first_trading_day,
|
first_trading_day=equity_minute_reader.first_trading_day,
|
||||||
equity_minute_reader=equity_minute_reader,
|
minute_reader=equity_minute_reader,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
sim_params = factory.create_simulation_parameters(
|
sim_params = factory.create_simulation_parameters(
|
||||||
@@ -267,7 +267,7 @@ class FinanceTestCase(WithLogger,
|
|||||||
data_portal = DataPortal(
|
data_portal = DataPortal(
|
||||||
env.asset_finder, self.trading_calendar,
|
env.asset_finder, self.trading_calendar,
|
||||||
first_trading_day=equity_daily_reader.first_trading_day,
|
first_trading_day=equity_daily_reader.first_trading_day,
|
||||||
equity_daily_reader=equity_daily_reader,
|
daily_reader=equity_daily_reader,
|
||||||
)
|
)
|
||||||
|
|
||||||
if "default_slippage" not in params or \
|
if "default_slippage" not in params or \
|
||||||
@@ -403,7 +403,7 @@ class FinanceTestCase(WithLogger,
|
|||||||
|
|
||||||
class TradingEnvironmentTestCase(WithLogger,
|
class TradingEnvironmentTestCase(WithLogger,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
"""
|
"""
|
||||||
Tests for date management utilities in catalyst.finance.trading.
|
Tests for date management utilities in catalyst.finance.trading.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithCreateBarData,
|
WithCreateBarData,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
alias,
|
alias,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -530,7 +530,7 @@ MINUTE_FIELD_INFO = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class MinuteEquityHistoryTestCase(WithHistory, ZiplineTestCase):
|
class MinuteEquityHistoryTestCase(WithHistory, CatalystTestCase):
|
||||||
|
|
||||||
EQUITY_DAILY_BAR_SOURCE_FROM_MINUTE = True
|
EQUITY_DAILY_BAR_SOURCE_FROM_MINUTE = True
|
||||||
DATA_PORTAL_FIRST_TRADING_DAY = alias('TRADING_START_DT')
|
DATA_PORTAL_FIRST_TRADING_DAY = alias('TRADING_START_DT')
|
||||||
@@ -1598,7 +1598,7 @@ class NoPrefetchMinuteEquityHistoryTestCase(MinuteEquityHistoryTestCase):
|
|||||||
DATA_PORTAL_DAILY_HISTORY_PREFETCH = 0
|
DATA_PORTAL_DAILY_HISTORY_PREFETCH = 0
|
||||||
|
|
||||||
|
|
||||||
class DailyEquityHistoryTestCase(WithHistory, ZiplineTestCase):
|
class DailyEquityHistoryTestCase(WithHistory, CatalystTestCase):
|
||||||
CREATE_BARDATA_DATA_FREQUENCY = 'daily'
|
CREATE_BARDATA_DATA_FREQUENCY = 'daily'
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import numpy as np
|
|||||||
from toolz import take
|
from toolz import take
|
||||||
|
|
||||||
from catalyst.lib.labelarray import LabelArray
|
from catalyst.lib.labelarray import LabelArray
|
||||||
from catalyst.testing import check_arrays, parameter_space, ZiplineTestCase
|
from catalyst.testing import check_arrays, parameter_space, CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.compat import unicode
|
from catalyst.utils.compat import unicode
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ def all_ufuncs():
|
|||||||
return (f for f in vars(np).values() if isinstance(f, ufunc_type))
|
return (f for f in vars(np).values() if isinstance(f, ufunc_type))
|
||||||
|
|
||||||
|
|
||||||
class LabelArrayTestCase(ZiplineTestCase):
|
class LabelArrayTestCase(CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def init_class_fixtures(cls):
|
def init_class_fixtures(cls):
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from catalyst.data.us_equity_pricing import PanelBarReader
|
|||||||
from catalyst.testing import ExplodingObject
|
from catalyst.testing import ExplodingObject
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithAssetFinder,
|
WithAssetFinder,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ class WithPanelBarReader(WithAssetFinder):
|
|||||||
|
|
||||||
|
|
||||||
class TestPanelDailyBarReader(WithPanelBarReader,
|
class TestPanelDailyBarReader(WithPanelBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
FREQUENCY = 'daily'
|
FREQUENCY = 'daily'
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ class TestPanelDailyBarReader(WithPanelBarReader,
|
|||||||
|
|
||||||
|
|
||||||
class TestPanelMinuteBarReader(WithPanelBarReader,
|
class TestPanelMinuteBarReader(WithPanelBarReader,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
FREQUENCY = 'minute'
|
FREQUENCY = 'minute'
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithTmpDir,
|
WithTmpDir,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ def setup_env_data(env, sim_params, sids, futures_sids=[]):
|
|||||||
env.write_data(futures_data=futures_data)
|
env.write_data(futures_data=futures_data)
|
||||||
|
|
||||||
|
|
||||||
class TestSplitPerformance(WithSimParams, WithTmpDir, ZiplineTestCase):
|
class TestSplitPerformance(WithSimParams, WithTmpDir, CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-04', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-04', tz='utc')
|
||||||
SIM_PARAMS_CAPITAL_BASE = 10e3
|
SIM_PARAMS_CAPITAL_BASE = 10e3
|
||||||
@@ -402,7 +402,7 @@ class TestSplitPerformance(WithSimParams, WithTmpDir, ZiplineTestCase):
|
|||||||
|
|
||||||
class TestDividendPerformance(WithSimParams,
|
class TestDividendPerformance(WithSimParams,
|
||||||
WithInstanceTmpDir,
|
WithInstanceTmpDir,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
START_DATE = pd.Timestamp('2006-01-03', tz='utc')
|
||||||
END_DATE = pd.Timestamp('2006-01-10', tz='utc')
|
END_DATE = pd.Timestamp('2006-01-10', tz='utc')
|
||||||
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
||||||
@@ -1030,7 +1030,7 @@ class TestDividendPerformanceHolidayStyle(TestDividendPerformance):
|
|||||||
|
|
||||||
class TestPositionPerformance(WithInstanceTmpDir,
|
class TestPositionPerformance(WithInstanceTmpDir,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
def create_environment_stuff(self,
|
def create_environment_stuff(self,
|
||||||
num_days=4,
|
num_days=4,
|
||||||
@@ -1951,7 +1951,7 @@ shares in position"
|
|||||||
|
|
||||||
class TestPositionTracker(WithTradingEnvironment,
|
class TestPositionTracker(WithTradingEnvironment,
|
||||||
WithInstanceTmpDir,
|
WithInstanceTmpDir,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
ASSET_FINDER_EQUITY_SIDS = 1, 2
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from catalyst.finance.asset_restrictions import (
|
|||||||
from catalyst.testing import parameter_space
|
from catalyst.testing import parameter_space
|
||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ ALLOWED = RESTRICTION_STATES.ALLOWED
|
|||||||
MINUTE = pd.Timedelta(minutes=1)
|
MINUTE = pd.Timedelta(minutes=1)
|
||||||
|
|
||||||
|
|
||||||
class RestrictionsTestCase(WithDataPortal, ZiplineTestCase):
|
class RestrictionsTestCase(WithDataPortal, CatalystTestCase):
|
||||||
|
|
||||||
ASSET_FINDER_EQUITY_SIDS = 1, 2, 3
|
ASSET_FINDER_EQUITY_SIDS = 1, 2, 3
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithLogger,
|
WithLogger,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils import factory
|
from catalyst.utils import factory
|
||||||
from catalyst.utils.security_list import (
|
from catalyst.utils.security_list import (
|
||||||
@@ -84,7 +84,7 @@ class IterateRLAlgo(TradingAlgorithm):
|
|||||||
|
|
||||||
class SecurityListTestCase(WithLogger,
|
class SecurityListTestCase(WithLogger,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def init_class_fixtures(cls):
|
def init_class_fixtures(cls):
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from catalyst.testing import (
|
|||||||
from catalyst.testing.fixtures import (
|
from catalyst.testing.fixtures import (
|
||||||
WithConstantEquityMinuteBarData,
|
WithConstantEquityMinuteBarData,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.testing.slippage import TestingSlippage
|
from catalyst.testing.slippage import TestingSlippage
|
||||||
from catalyst.utils.numpy_utils import bool_dtype
|
from catalyst.utils.numpy_utils import bool_dtype
|
||||||
@@ -123,7 +123,7 @@ class TestMakeBooleanArray(TestCase):
|
|||||||
|
|
||||||
class TestTestingSlippage(WithConstantEquityMinuteBarData,
|
class TestTestingSlippage(WithConstantEquityMinuteBarData,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
ASSET_FINDER_EQUITY_SYMBOLS = ('A',)
|
ASSET_FINDER_EQUITY_SYMBOLS = ('A',)
|
||||||
ASSET_FINDER_EQUITY_SIDS = (1,)
|
ASSET_FINDER_EQUITY_SIDS = (1,)
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ from catalyst.testing.fixtures import (
|
|||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
WithSimParams,
|
WithSimParams,
|
||||||
WithTradingEnvironment,
|
WithTradingEnvironment,
|
||||||
ZiplineTestCase,
|
CatalystTestCase,
|
||||||
)
|
)
|
||||||
from catalyst.utils import factory
|
from catalyst.utils import factory
|
||||||
from catalyst.testing.core import FakeDataPortal
|
from catalyst.testing.core import FakeDataPortal
|
||||||
@@ -53,7 +53,7 @@ class BeforeTradingAlgorithm(TradingAlgorithm):
|
|||||||
FREQUENCIES = {'daily': 0, 'minute': 1} # daily is less frequent than minute
|
FREQUENCIES = {'daily': 0, 'minute': 1} # daily is less frequent than minute
|
||||||
|
|
||||||
|
|
||||||
class TestTradeSimulation(WithTradingEnvironment, ZiplineTestCase):
|
class TestTradeSimulation(WithTradingEnvironment, CatalystTestCase):
|
||||||
|
|
||||||
def fake_minutely_benchmark(self, dt):
|
def fake_minutely_benchmark(self, dt):
|
||||||
return 0.01
|
return 0.01
|
||||||
@@ -115,7 +115,7 @@ class BeforeTradingStartsOnlyClock(object):
|
|||||||
|
|
||||||
class TestBeforeTradingStartSimulationDt(WithSimParams,
|
class TestBeforeTradingStartSimulationDt(WithSimParams,
|
||||||
WithDataPortal,
|
WithDataPortal,
|
||||||
ZiplineTestCase):
|
CatalystTestCase):
|
||||||
|
|
||||||
def test_bts_simulation_dt(self):
|
def test_bts_simulation_dt(self):
|
||||||
code = """
|
code = """
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from pandas import Timestamp
|
from pandas import Timestamp
|
||||||
from nose_parameterized import parameterized
|
from nose_parameterized import parameterized
|
||||||
|
|
||||||
from catalyst.testing import ZiplineTestCase
|
from catalyst.testing import CatalystTestCase
|
||||||
from catalyst.utils.calendars import get_calendar
|
from catalyst.utils.calendars import get_calendar
|
||||||
from catalyst.utils.date_utils import compute_date_range_chunks
|
from catalyst.utils.date_utils import compute_date_range_chunks
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ def T(s):
|
|||||||
return Timestamp(s, tz='UTC')
|
return Timestamp(s, tz='UTC')
|
||||||
|
|
||||||
|
|
||||||
class TestDateUtils(ZiplineTestCase):
|
class TestDateUtils(CatalystTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def init_class_fixtures(cls):
|
def init_class_fixtures(cls):
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from catalyst.testing.fixtures import ZiplineTestCase
|
from catalyst.testing.fixtures import CatalystTestCase
|
||||||
from catalyst.testing.predicates import (
|
from catalyst.testing.predicates import (
|
||||||
assert_equal,
|
assert_equal,
|
||||||
assert_is,
|
assert_is,
|
||||||
@@ -31,7 +31,7 @@ class D(object):
|
|||||||
return 'D.delegate'
|
return 'D.delegate'
|
||||||
|
|
||||||
|
|
||||||
class ComposeTypesTestCase(ZiplineTestCase):
|
class ComposeTypesTestCase(CatalystTestCase):
|
||||||
|
|
||||||
def test_identity(self):
|
def test_identity(self):
|
||||||
assert_is(
|
assert_is(
|
||||||
@@ -67,7 +67,7 @@ class N(type):
|
|||||||
return super(N, mcls).__new__(mcls, name, bases, dict_)
|
return super(N, mcls).__new__(mcls, name, bases, dict_)
|
||||||
|
|
||||||
|
|
||||||
class WithMetaclassesTestCase(ZiplineTestCase):
|
class WithMetaclassesTestCase(CatalystTestCase):
|
||||||
def test_with_metaclasses_no_subclasses(self):
|
def test_with_metaclasses_no_subclasses(self):
|
||||||
class E(with_metaclasses((M, N))):
|
class E(with_metaclasses((M, N))):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Tests for catalyst/utils/pandas_utils.py
|
|||||||
"""
|
"""
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
from catalyst.testing import parameter_space, ZiplineTestCase
|
from catalyst.testing import parameter_space, CatalystTestCase
|
||||||
from catalyst.testing.predicates import assert_equal
|
from catalyst.testing.predicates import assert_equal
|
||||||
from catalyst.utils.pandas_utils import (
|
from catalyst.utils.pandas_utils import (
|
||||||
categorical_df_concat,
|
categorical_df_concat,
|
||||||
@@ -11,7 +11,7 @@ from catalyst.utils.pandas_utils import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestNearestUnequalElements(ZiplineTestCase):
|
class TestNearestUnequalElements(CatalystTestCase):
|
||||||
|
|
||||||
@parameter_space(tz=['UTC', 'US/Eastern'], __fail_fast=True)
|
@parameter_space(tz=['UTC', 'US/Eastern'], __fail_fast=True)
|
||||||
def test_nearest_unequal_elements(self, tz):
|
def test_nearest_unequal_elements(self, tz):
|
||||||
@@ -86,7 +86,7 @@ class TestNearestUnequalElements(ZiplineTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestCatDFConcat(ZiplineTestCase):
|
class TestCatDFConcat(CatalystTestCase):
|
||||||
|
|
||||||
def test_categorical_df_concat(self):
|
def test_categorical_df_concat(self):
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
from catalyst.testing import ZiplineTestCase
|
from catalyst.testing import CatalystTestCase
|
||||||
from catalyst.utils.sharedoc import copydoc
|
from catalyst.utils.sharedoc import copydoc
|
||||||
|
|
||||||
|
|
||||||
class TestSharedoc(ZiplineTestCase):
|
class TestSharedoc(CatalystTestCase):
|
||||||
|
|
||||||
def test_copydoc(self):
|
def test_copydoc(self):
|
||||||
def original_docstring_function():
|
def original_docstring_function():
|
||||||
|
|||||||
Reference in New Issue
Block a user