def main(): register_calendar('BITMEX', AlwaysOpenCalendar()) # The following is necessary because zipline's developer hard-coded NYSE # everywhere in run_algo._run, *DOH*!!! deregister_calendar('NYSE') register_calendar_alias('NYSE', 'BITMEX', force=False) register( 'bitmex', create_bundle( [ Pairs.symbol_btc, #Pairs.symbol_ada, #Pairs.symbol_bch, #Pairs.symbol_eos, #Pairs.symbol_eth, #Pairs.symbol_ltc, #Pairs.symbol_trx, #Pairs.symbol_xrp, ], pd.Timestamp('2017-11-05 00:00:00', tz='utc'), pd.Timestamp('2018-12-18 23:59:59', tz='utc'), ), calendar_name='BITMEX', minutes_per_day=24*60 )
def test_both_places_are_checked(self): dummy_cal = self.dummy_cal_type() # if instance is registered, can't register type with same name register_calendar('DMY', dummy_cal) with self.assertRaises(CalendarNameCollision): register_calendar_type('DMY', type(dummy_cal)) deregister_calendar('DMY') # if type is registered, can't register instance with same name register_calendar_type('DMY', type(dummy_cal)) with self.assertRaises(CalendarNameCollision): register_calendar('DMY', dummy_cal)
def test_register_calendar(self): # Build a fake calendar dummy_cal = self.dummy_cal_type() # Try to register and retrieve the calendar register_calendar('DMY', dummy_cal) retr_cal = get_calendar('DMY') self.assertEqual(dummy_cal, retr_cal) # Try to register again, expecting a name collision with self.assertRaises(CalendarNameCollision): register_calendar('DMY', dummy_cal) # Deregister the calendar and ensure that it is removed deregister_calendar('DMY') with self.assertRaises(InvalidCalendarName): get_calendar('DMY')
def main(): register_calendar('CN_FUTURES', CN_FUTURE_CALENDAR(), force=True) deregister_calendar('NYSE') register_calendar_alias('NYSE', 'CN_FUTURES', force=True) register( 'CN_FUTURES', create_bundle( ['IC', 'IH', 'IF', 'RB'], pd.Timestamp('2017-09-20 01:31:00', tz='utc'), pd.Timestamp('2018-10-31 01:31:00', tz='utc'), ), calendar_name='CN_FUTURES', minutes_per_day=4 * 60 + 90 )
def tearDown(self): deregister_calendar('DMY')
@property def tz(self): return timezone('UTC') @property def open_time(self): return time(0, 0) @property def close_time(self): return time(23, 59) @lazyval def day(self): return CustomBusinessDay(weekmask='Mon Tue Wed Thu Fri Sat Sun') register_calendar('POLONIEX', PoloniexCalendar()) # The following is necessary because zipline's developer hard-coded NYSE # everywhere in run_algo._run, *DOH*!!! deregister_calendar('NYSE') register_calendar_alias('NYSE', 'POLONIEX', force=False) register('.test_poloniex', create_bundle( [Pairs.usdt_eth], pd.Timestamp('2016-01-01', tz='utc'), pd.Timestamp('2016-01-31', tz='utc'), ), calendar_name='POLONIEX', minutes_per_day=24 * 60)