Source code for tensorquant.timehandles.schedule

from datetime import date

from .tqcalendar import Calendar
from .targetcalendar import TARGET
from .utils import TimeUnit, BusinessDayConvention


[docs] class ScheduleGenerator: def __init__( self, calendar: Calendar, business_day_convention: BusinessDayConvention ): self.calendar = calendar self.business_day_convention = business_day_convention
[docs] def generate(self, start: date, end: date, tenor: int, time_unit: TimeUnit): schedule = [] current_date = start schedule.append(current_date) while True: current_date = self.calendar.advance( current_date, tenor, time_unit, self.business_day_convention ) if current_date < end: schedule.append(current_date) else: schedule.append(end) break return schedule