aboutsummaryrefslogtreecommitdiffstats
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/serenitas.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/sql/serenitas.c b/sql/serenitas.c
index f7fe4ee5..022d45d9 100644
--- a/sql/serenitas.c
+++ b/sql/serenitas.c
@@ -104,7 +104,6 @@ static inline void get_TCurve(const char* buf, uint32_t length, TCurve* curve) {
}
double calc(TDate today, TDate start_date, TDate end_date, double recovery, double fixed_rate, const char* calendar, const TCurve* yc, double val, bool calc_upfront) {
- elog(INFO, "pomme");
TDate cash_settle_date;
JpmcdsDateFromBusDaysOffset(today, 3, calendar, &cash_settle_date);
TDate step_in_date = today + 1;
@@ -112,9 +111,6 @@ double calc(TDate today, TDate start_date, TDate end_date, double recovery, doub
TDateInterval ivl = {.prd = 3, .prd_typ='M', .flag=0}; // 3 months
double result;
int success;
- elog(INFO, "%d %d\n", yc->fBaseDate, yc->fNumItems);
- elog(INFO, "%f\n", val);
- JpmcdsErrMsgOn();
if (calc_upfront) {
success = JpmcdsCdsoneUpfrontCharge(today,
cash_settle_date,
@@ -132,9 +128,8 @@ double calc(TDate today, TDate start_date, TDate end_date, double recovery, doub
yc,
val,
recovery,
- true, // pay accrued at start
+ false, // pay accrued at start
&result);
- elog(INFO, "poupou %d", success);
} else {
success = JpmcdsCdsoneSpread(today,
cash_settle_date,
@@ -152,7 +147,7 @@ double calc(TDate today, TDate start_date, TDate end_date, double recovery, doub
yc,
val,
recovery,
- true, // pay accrued at start
+ false, // pay accrued at start
&result);
}
return result;
@@ -237,10 +232,8 @@ Datum upfront_from_level(PG_FUNCTION_ARGS) {
SPI_finish();
double recovery = 0.4;
double upfront;
- upfront = calc(TDate_from_DateADT(trade_date), issue_date, TDate_from_DateADT(maturity), recovery, coupon / 10000, cal_from_currency(currency), curve, traded_level, true);
- elog(INFO, "yahoo");
+ upfront = calc(TDate_from_DateADT(trade_date), issue_date, TDate_from_DateADT(maturity), recovery, coupon / 10000.0, cal_from_currency(currency), curve, traded_level, true);
pfree(index);
- pfree(curve);
- elog(INFO, "test");
+ free(curve);
PG_RETURN_FLOAT8(upfront);
}