diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2019-04-30 16:35:15 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2019-04-30 16:35:15 -0400 |
| commit | 880b79bdf289fa5d3de767e9bd3a97a52e16acf7 (patch) | |
| tree | 58e50c64e4d57711af4d80caec0727d2139c0eec | |
| parent | cbd29030a6535072d9b3d2fd9efdfd44c3b0bea4 (diff) | |
| download | pyisda-880b79bdf289fa5d3de767e9bd3a97a52e16acf7.tar.gz | |
allow to set maturity
| -rw-r--r-- | pyisda/credit_index.pyx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pyisda/credit_index.pyx b/pyisda/credit_index.pyx index f194c88..27511f9 100644 --- a/pyisda/credit_index.pyx +++ b/pyisda/credit_index.pyx @@ -535,6 +535,20 @@ cdef class CreditIndex(CurveList): r.append(TDate_to_pydate(maturity)) return r + @maturities.setter + def maturities(self, list val): + cdef: + size_t i + pair[TContingentLeg_ptr, TFeeLeg_ptr] r + + for i in range(self._maturities.size()): + self._maturities[i] = pydate_to_TDate(val[i]) + free(self.contingent_legs[i]) + JpmcdsFeeLegFree(self.fee_legs[i]) + r = get_legs(self._maturities[i], self.start_date) + self.contingent_legs[i] = r.first + self.fee_legs[i] = r.second + def tweak_portfolio(self, double epsilon, maturity, bint inplace=True): cdef: TDate maturity_c = pydate_to_TDate(maturity) |
