diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2018-04-18 14:21:36 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2018-04-18 14:21:36 -0400 |
| commit | b0922b88bfc793d50d4e2f90fc257aa578e116c7 (patch) | |
| tree | 34f257f9c6edee94f1a752fa76774edf71a04eca | |
| parent | 4afcece1ec84ffc3ec562e4213ae5e96862c457d (diff) | |
| download | pyisda-b0922b88bfc793d50d4e2f90fc257aa578e116c7.tar.gz | |
relase gil
| -rw-r--r-- | pyisda/credit_index.pyx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/pyisda/credit_index.pyx b/pyisda/credit_index.pyx index eb0c32e..6f52651 100644 --- a/pyisda/credit_index.pyx +++ b/pyisda/credit_index.pyx @@ -362,6 +362,7 @@ cdef class CreditIndex(CurveList): vector[double] h pair[TContingentLeg_ptr,TFeeLeg_ptr] legs int i = get_maturity_index(maturity_c, self._maturities) + if i == -1: legs = get_legs(maturity_c, self.start_date) else: @@ -373,10 +374,10 @@ cdef class CreditIndex(CurveList): if mask == 0: raise ValueError("maturity is not correct") h = vector[double](self.T.size()) - - r = pv(self._curves, self.base_date, step_in_date_c, cash_settle_date_c, - yc._thisptr.get(), legs, recovery_rate, fixed_rate, - self._weights, epsilon, h, self.T, mask) + with nogil: + r = pv(self._curves, self.base_date, step_in_date_c, cash_settle_date_c, + yc._thisptr.get(), legs, recovery_rate, fixed_rate, + self._weights, epsilon, h, self.T, mask) if i == -1: free(legs.first) JpmcdsFeeLegFree(legs.second) |
