Esempio n. 1
0
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
    )
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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')
Esempio n. 5
0
    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')
Esempio n. 6
0
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
    )
Esempio n. 7
0
 def tearDown(self):
     deregister_calendar('DMY')
Esempio n. 8
0
 def tearDown(self):
     deregister_calendar('DMY')
Esempio n. 9
0
    @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)