summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pyisda/credit_index.pyx17
1 files changed, 9 insertions, 8 deletions
diff --git a/pyisda/credit_index.pyx b/pyisda/credit_index.pyx
index 774c8e9..06b0308 100644
--- a/pyisda/credit_index.pyx
+++ b/pyisda/credit_index.pyx
@@ -73,10 +73,11 @@ cdef class CurveList:
This is returning the curves by reference so don't delete them."""
cdef list r = []
cdef SpreadCurve sc
- for i in range(self._len_curves):
+ for i in range(self._curves.size()):
sc = SpreadCurve.__new__(SpreadCurve)
sc._thisptr = self._curves[i]
r.append(sc)
+ return r
@curves.setter
def curves(self, list l):
@@ -102,7 +103,7 @@ cdef class CreditIndex(CurveList):
if JpmcdsStringToStubMethod(b"f/s", &stub_type) != 0:
raise ValueError("can't convert stub")
cdef size_t i
- for i in range(self._len_maturities):
+ for i in range(self._maturities.size()):
self._contingent_legs[i] = JpmcdsCdsContingentLegMake(start_date_c,
self._maturities[i],
1.,
@@ -122,10 +123,10 @@ cdef class CreditIndex(CurveList):
def __dealloc__(self):
if self._contingent_legs is not NULL:
- for i in range(self._len_maturities):
+ for i in range(self._maturities.size()):
free(self._contingent_legs[i])
if self._fee_legs is not NULL:
- for i in range(self._len_maturities):
+ for i in range(self._maturities.size()):
JpmcdsFeeLegFree(self._fee_legs[i])
#@cython.initializedcheck(False)
@@ -143,7 +144,7 @@ cdef class CreditIndex(CurveList):
cdef TCurve* sc
for i in range(self._curves.size()):
sc = self._curves[i].get().data()
- for j in range(self._len_maturities):
+ for j in range(self._maturities.size()):
JpmcdsContingentLegPV(self._contingent_legs[j],
sc.fBaseDate,
value_date_c,
@@ -193,7 +194,7 @@ cdef class CreditIndex(CurveList):
mask = fill_mask(maturity_c, self._maturities, self._curves[0])
if mask == NULL:
raise ValueError("maturity is not correct")
- h = <double*>malloc(sizeof(double) * self._len_T)
+ h = <double*>malloc(sizeof(double) * self._T.size())
tweaked_curve = JpmcdsCopyCurve(self._curves[0].get().data())
cdef:
@@ -225,7 +226,7 @@ cdef class CreditIndex(CurveList):
JpmcdsFreeTCurve(tweaked_curve)
free(h)
free(mask)
- return r / <double>self._len_curves
+ return r / <double>self._curves.size()
@property
def maturities(self):
@@ -237,7 +238,7 @@ cdef class CreditIndex(CurveList):
def tweak_portfolio(self, double epsilon, maturity, bint inplace=True):
cdef TDate maturity_c = pydate_to_TDate(maturity)
cdef bint* mask = fill_mask(maturity_c, self._maturities, self._curves[0])
- cdef double* h = <double*>malloc(sizeof(double) * self._len_T)
+ cdef double* h = <double*>malloc(sizeof(double) * self._T.size())
cdef size_t i
cdef TCurve* sc
for i in range(self._curves.size()):