From 4afcece1ec84ffc3ec562e4213ae5e96862c457d Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Wed, 18 Apr 2018 13:03:24 -0400 Subject: reorg enum --- pyisda/curve.pyx | 9 ++------- pyisda/date.pxd | 15 +++++++++++---- pyisda/date.pyx | 2 +- pyisda/utils.py | 3 ++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx index 4f83f71..b5266e0 100644 --- a/pyisda/curve.pyx +++ b/pyisda/curve.pyx @@ -1,7 +1,8 @@ from libc.math cimport log1p, log from date cimport (JpmcdsStringToDateInterval, pydate_to_TDate, dcc, TMonthDayYear, JpmcdsDateIntervalToFreq, JpmcdsDateFwdThenAdjust, TDate_to_pydate, - JpmcdsDateFromBusDaysOffset, JpmcdsStringToDayCountConv, ACT_360) + JpmcdsDateFromBusDaysOffset, JpmcdsStringToDayCountConv, ACT_360, + BadDay, FOLLOW, MODIFIED, NONE) from date import dcc_tostring from date cimport _previous_twentieth, _roll_date from cdsone cimport JpmcdsStringToStubMethod, TStubMethod @@ -28,12 +29,6 @@ cdef extern from "numpy/arrayobject.h": cdef int SUCCESS = 0 -cpdef public enum BadDay: - FOLLOW = 'F' - PREVIOUS = 'P' - NONE = 'N' - MODIFIED = 'M' - cdef inline shared_ptr[TCurve] make_shared(TCurve* ptr) nogil: return shared_ptr[TCurve](ptr, JpmcdsFreeTCurve) diff --git a/pyisda/date.pxd b/pyisda/date.pxd index acb191f..9755ced 100644 --- a/pyisda/date.pxd +++ b/pyisda/date.pxd @@ -52,10 +52,17 @@ cdef extern from "isda/busday.h" nogil: long method, # See ldate.h char *holidayFile, # Filename w/ Holidays TDate *outDate) - int JPMCDS_BAD_DAY_FOLLOW - int JPMCDS_BAD_DAY_PREVIOUS - int JPMCDS_BAD_DAY_NONE - int JPMCDS_BAD_DAY_MODIFIED + cdef enum: + JPMCDS_BAD_DAY_FOLLOW + JPMCDS_BAD_DAY_PREVIOUS + JPMCDS_BAD_DAY_NONE + JPMCDS_BAD_DAY_MODIFIED + +cpdef enum BadDay: + FOLLOW = JPMCDS_BAD_DAY_FOLLOW + PREVIOUS = JPMCDS_BAD_DAY_PREVIOUS + NONE = JPMCDS_BAD_DAY_NONE + MODIFIED = JPMCDS_BAD_DAY_MODIFIED cpdef TDate pydate_to_TDate(c_datetime.date d) diff --git a/pyisda/date.pyx b/pyisda/date.pyx index c83fc8e..821d224 100644 --- a/pyisda/date.pyx +++ b/pyisda/date.pyx @@ -93,7 +93,7 @@ cdef TMonthDayYear next_twentieth(TDate d) nogil: cdef inline TDate next_business_day(TDate date) nogil: cdef TDate r - if JpmcdsBusinessDay(date, JPMCDS_BAD_DAY_FOLLOW, "NONE", &r) != SUCCESS: + if JpmcdsBusinessDay(date, FOLLOW, "NONE", &r) != SUCCESS: return -1 else: return r diff --git a/pyisda/utils.py b/pyisda/utils.py index 3f08939..24a2e4b 100644 --- a/pyisda/utils.py +++ b/pyisda/utils.py @@ -13,7 +13,8 @@ import requests import zipfile from io import BytesIO import xml.etree.ElementTree as ET -from pyisda.curve import YieldCurve, BadDay +from pyisda.curve import YieldCurve +from pyisda.date import BadDay def getMarkitIRData(date = datetime.date.today() - datetime.timedelta(days = 1), currency="USD"): -- cgit v1.2.3-70-g09d2