SchedulePeriodic

SchedulePeriodic#

class sigtech.framework.schedules.schedule.SchedulePeriodic

Baseclasses: Schedule

Define a simple periodic schedule.

Keyword arguments:

  • start_date: Schedule start date.

  • end_date: Schedule end date.

  • holidays: List of holiday calendars.

  • frequency: '1BD', '2BD', '1W', '2W', '1M', '2M', '3M', '1W-WED', '1W-FRI', '3M_IMM', 'SOM', 'EOM', 'YEARLY', '1DOM' (Day of Month), '15BDOM' (15th Business Day of Month), '[X]M-[Y]DOM' (e.g. '1M-10DOM', '6M-28DOM').

  • offset: Optional input to bump the final dates from the periodic schedule.

  • offset_backwards: If True, applied offset bump backwards otherwise forward.

  • offset_sticky_month_end: If True, applied month end rule in the offset bump.

  • bdc: Business day count convention applied in the periodic schedule ('FOLLOWING' by default).

  • delivery_kwargs: As in ScheduleBase class.

  • include_start_date: If True, schedule includes start_date when start_date is before the first date of the schedule (Default is True).

Example of object creation:

import sigtech.framework.infra.calendar as cal
import datetime as dtm
from sigtech.framework.schedules.schedule import SchedulePeriodic

weekly_schedule = SchedulePeriodic(dtm.date(2012, 2, 1),
                                   dtm.date(2012, 3, 28),
                                   'NYM (T)',
                                   frequency='1W-WED',
                                   offset='1BD',
                                   offset_backwards=True,
                                   bdc=cal.BDC_MODIFIED_FOLLOWING)
get_holidays() str

Return the union of calendars