From 05b2236a8dc2c7bccfde840fa406e7ff2ab8cdc1 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Mon, 29 Oct 2018 16:12:28 -0400 Subject: initialize defaulted curve properly --- pyisda/curve.pyx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx index 074aa8c..aecdc11 100644 --- a/pyisda/curve.pyx +++ b/pyisda/curve.pyx @@ -487,7 +487,7 @@ cdef class SpreadCurve(Curve): cash_settle_date, end_dates, double[:] coupon_rates, double[:] upfront_rates, double[:] recovery_rates, bint pay_accrued_on_default=True, - str ticker=None, bint fill_curve=True): + str ticker=None, bint fill_curve=True, defaulted=None): cdef TDate today_c = pydate_to_TDate(today) cdef TDate step_in_date_c @@ -521,6 +521,14 @@ cdef class SpreadCurve(Curve): if cash_settle_date_c < yc._thisptr.get().fBaseDate: raise ValueError("cash_settle_date: {0} is anterior to yc's base_date: {1}". format(cash_settle_date, yc.base_date)) + if defaulted is None: + self.defaulted = -1 + else: + self.defaulted = pydate_to_TDate(defaulted) + self.recovery_rates = shared_ptr[double]( + malloc(sizeof(double)), double_free) + self.recovery_rates.get()[0] = recovery_rates[0] + return if isinstance(end_dates, list): n_dates = len(end_dates) -- cgit v1.2.3-70-g09d2