def makeSchedule(firstDate, endDate, tenor, calendar='NullCalendar', dateRule=BizDayConventions.Following, dateGenerationRule=DateGeneration.Forward): cal = Calendar(calendar) firstDate = check_date(firstDate) endDate = check_date(endDate) tenor = check_period(tenor) if tenor.units() == TimeUnits.BDays: schedule = [] if dateGenerationRule == DateGeneration.Forward: d = cal.adjustDate(firstDate, dateRule) while d <= endDate: schedule.append(d) d = cal.advanceDate(d, tenor, dateRule) elif dateGenerationRule == DateGeneration.Backward: d = cal.adjustDate(endDate, dateRule) while d >= firstDate: schedule.append(d) d = cal.advanceDate(d, -tenor, dateRule) schedule = sorted(schedule) else: schedule = Schedule(firstDate, endDate, tenor, cal, convention=dateRule, dateGenerationRule=dateGenerationRule) return [d.toDateTime() for d in schedule]
def datesList(fromDate, toDate): fromDate = check_date(fromDate) toDate = check_date(toDate) return [ Date.fromExcelSerialNumber(serial).toDateTime() for serial in range(fromDate.serialNumber, toDate.serialNumber + 1) ]
def holDatesList(holidayCenter, fromDate, toDate, includeWeekend=True): cal = Calendar(holidayCenter) fromDate = check_date(fromDate) toDate = check_date(toDate) return [ d.toDateTime() for d in cal.holDatesList(fromDate, toDate, includeWeekend) ]
def makeSchedule(firstDate, endDate, tenor, calendar='NullCalendar', dateRule=BizDayConventions.Following): cal = Calendar(calendar) firstDate = check_date(firstDate) endDate = check_date(endDate) tenor = Period(tenor) schedule = Schedule(firstDate, endDate, tenor, cal, convention=dateRule) return [d.toDateTime() for d in schedule]
def advanceDateByCalendar(holidayCenter, referenceDate, period, convention=BizDayConventions.Following): cal = Calendar(holidayCenter) refer = check_date(referenceDate) return cal.advanceDate(refer, period, convention).toDateTime()
def advanceDate(referenceDate, period): d = check_date(referenceDate) + period return d.toDateTime()
def bizDatesList(holidayCenter, fromDate, toDate): cal = Calendar(holidayCenter) fromDate = check_date(fromDate) toDate = check_date(toDate) return [d.toDateTime() for d in cal.bizDatesList(fromDate, toDate)]
def isBizDay(holidayCenter, ref): cal = Calendar(holidayCenter) ref = check_date(ref) return cal.isBizDay(ref)