示例#1
0
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))
示例#2
0
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))
示例#3
0
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)
示例#4
0
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)
示例#5
0
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)
示例#6
0
def py_BondNextCashflowDate(bondId, settlementDate=None):
    errVec = Str_Vec()
    settlementDate = settlementDate or PkMissingDate
    rc = pk_BondNextCashflowDate(bondId, settlementDate, errVec)
    _checkAndRaiseErr(errVec)
    return pkDateToDate(rc)
示例#7
0
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)