diff options
Diffstat (limited to 'cdsone.pyx')
| -rw-r--r-- | cdsone.pyx | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/cdsone.pyx b/cdsone.pyx deleted file mode 100644 index 13c517e..0000000 --- a/cdsone.pyx +++ /dev/null @@ -1,71 +0,0 @@ -from cdsone cimport (JpmcdsCdsoneUpfrontCharge, - JpmcdsCdsoneSpread, JpmcdsStringToStubMethod) -from curve cimport YieldCurve -from date cimport JpmcdsStringToDateInterval, pydate_to_TDate, dcc - -cdef int SUCCESS = 0 - -def upfront_charge(date, value_date, benchmark_start_date, stepin_date, - start_date, end_date, double coupon_rate, - YieldCurve yc, - double spread, - double recovery_rate, - TBoolean pay_accrued_at_start = True, - TBoolean pay_accrued_on_default = True): - - cdef: - TDate today = pydate_to_TDate(date) - TDate value_date_c = pydate_to_TDate(value_date) - TDate benchmark_start_date_c = pydate_to_TDate(benchmark_start_date) - TDate stepin_date_c = pydate_to_TDate(stepin_date) - TDate start_date_c = pydate_to_TDate(start_date) - TDate end_date_c = pydate_to_TDate(end_date) - double result - TStubMethod stub - TDateInterval ivl - char* routine = "upfront_charge" - - if JpmcdsStringToStubMethod(b"f/s", &stub) != SUCCESS: - raise ValueError("can't convert stub") - if JpmcdsStringToDateInterval(b"3M", routine, &ivl) != SUCCESS: - raise ValueError("can't convert to date interval") - if JpmcdsCdsoneUpfrontCharge(today, value_date_c, benchmark_start_date_c, stepin_date_c, - start_date_c, end_date_c, coupon_rate, pay_accrued_on_default, - &ivl, &stub, - dcc("ACT/360"), b'F', b"None", yc._thisptr, spread, recovery_rate, - pay_accrued_at_start, &result) == SUCCESS: - return result - else: - raise ValueError("computation failed") - -def spread_from_upfront(date, value_date, benchmark_start_date, stepin_date, - start_date, end_date, double coupon_rate, - YieldCurve yc, - double upfront, - double recovery_rate, - TBoolean pay_accrued_at_start = True, - TBoolean pay_accrued_on_default = True): - cdef: - TDate today = pydate_to_TDate(date) - TDate value_date_c = pydate_to_TDate(value_date) - TDate benchmark_start_date_c = pydate_to_TDate(benchmark_start_date) - TDate stepin_date_c = pydate_to_TDate(stepin_date) - TDate start_date_c = pydate_to_TDate(start_date) - TDate end_date_c = pydate_to_TDate(end_date) - double result - TStubMethod stub - TDateInterval ivl - char* routine = "upfront_charge" - - if JpmcdsStringToStubMethod(b"f/s", &stub) != SUCCESS: - raise ValueError("can't convert stub") - if JpmcdsStringToDateInterval(b"3M", routine, &ivl) != SUCCESS: - raise ValueError("can't convert to date interval") - if JpmcdsCdsoneSpread(today, value_date_c, benchmark_start_date_c, stepin_date_c, - start_date_c, end_date_c, coupon_rate, pay_accrued_on_default, - &ivl, &stub, - dcc("ACT/360"), b'F', b"None", yc._thisptr, upfront, recovery_rate, - pay_accrued_at_start, &result) == SUCCESS: - return result - else: - raise ValueError("computation failed") |
