diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2018-10-29 16:12:28 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2018-10-29 16:12:28 -0400 |
| commit | 05b2236a8dc2c7bccfde840fa406e7ff2ab8cdc1 (patch) | |
| tree | 1face7dba58761ddbe17bcbf706883170d3fdd6a | |
| parent | 33f21fbd10c9036063b812839fbc97ca1603dff4 (diff) | |
| download | pyisda-05b2236a8dc2c7bccfde840fa406e7ff2ab8cdc1.tar.gz | |
initialize defaulted curve properly
| -rw-r--r-- | pyisda/curve.pyx | 10 |
1 files changed, 9 insertions, 1 deletions
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]( + <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) |
