diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2017-02-23 12:45:06 -0500 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2017-02-23 12:49:22 -0500 |
| commit | 1a1ac5604f3f7eac6a89d5137c7ecd9459b63511 (patch) | |
| tree | 0d6c9dea28e5d4b1d7c8039fb262766844488b12 | |
| parent | 39df288240394e74903b3c70986ede40b0b243a8 (diff) | |
| download | pyisda-1a1ac5604f3f7eac6a89d5137c7ecd9459b63511.tar.gz | |
more fixups
| -rw-r--r-- | pyisda/credit_index.pyx | 17 |
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()): |
