def py_IMMNextDates(startDate, numOfDates, datePref, endDate, rule='CFFEX'): '''Optional rule is one of 'CFFEX, 'CFFEXLT', 'INTERNATIONAL' ''' errVec = Str_Vec() dateResult = PkInt_Vec() symResult = Str_Vec() rc = pk_IMMNextDates(dateToPkDate(startDate), numOfDates, datePref, dateToPkDate(endDate), rule, dateResult, symResult, errVec) _checkAndRaiseErr(errVec) return tuple((pkDateToDate(i) for i in dateResult))
def py_IMMSymbolToDate(immCodes, refDate, rule='CFFEX'): '''Optional rule is one of 'CFFEX, 'CFFEXLT', 'INTERNATIONAL' ''' errVec = Str_Vec() result = Param_Vec() if isinstance(immCodes, str): immCodes = [immCodes] immCodes = _listToPkVec(immCodes) if isinstance(refDate, datetime.date): refDate = [dateToPkDate(refDate)] if len(refDate) < immCodes.size(): refDate += [refDate[-1]] * (immCodes.size() - len(refDate)) refDate = _listToPkVec(refDate) pk_IMMSymbolToDate(immCodes, refDate, rule, result, errVec) _checkAndRaiseErr(errVec) result = _unpackVecResult(result) return tuple((pkDateToDate(i) for i in result))
def py_CalendarAdjust(calendar, dates, BusinessDayConvention): errVec = Str_Vec() result = PkInt_Vec() rc = pk_CalendarAdjust(calendar, _listToPkVec(dates, vecType=int), BusinessDayConvention, result, errVec) _checkAndRaiseErr(errVec) return tuple(pkDateToDate(d) for d in result)
def py_CurveDates(curveId): result = PkInt_Vec() errVec = Str_Vec() rc = pk_CurveDates(curveId, result, errVec) _checkAndRaiseErr(errVec) return tuple(pkDateToDate(d) for d in result)
def py_CalendarAdvance(calendar, startDates, periods, BusinessDayConvention, endOfMonth): errVec = Str_Vec() result = PkInt_Vec() rc = pk_CalendarAdvance(calendar, _listToPkVec(startDates, vecType=int), _listToPkVec(periods), BusinessDayConvention, endOfMonth, result, errVec) _checkAndRaiseErr(errVec) return tuple(pkDateToDate(d) for d in result)
def py_BondNextCashflowDate(bondId, settlementDate=None): errVec = Str_Vec() settlementDate = settlementDate or PkMissingDate rc = pk_BondNextCashflowDate(bondId, settlementDate, errVec) _checkAndRaiseErr(errVec) return pkDateToDate(rc)
def _py_CalendarHolidayList(calendar, fromDate, toDate, type): errVec = Str_Vec() result = PkInt_Vec() rc = pk_CalendarHolidayList(calendar, dateToPkDate(fromDate), dateToPkDate(toDate), type, result, errVec) _checkAndRaiseErr(errVec) return tuple(pkDateToDate(d) for d in result)