summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2019-04-30 16:35:15 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2019-04-30 16:35:15 -0400
commit880b79bdf289fa5d3de767e9bd3a97a52e16acf7 (patch)
tree58e50c64e4d57711af4d80caec0727d2139c0eec
parentcbd29030a6535072d9b3d2fd9efdfd44c3b0bea4 (diff)
downloadpyisda-880b79bdf289fa5d3de767e9bd3a97a52e16acf7.tar.gz
allow to set maturity
-rw-r--r--pyisda/credit_index.pyx14
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)