aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/Dawn/models.py17
-rw-r--r--sql/dawn.sql4
2 files changed, 18 insertions, 3 deletions
diff --git a/python/Dawn/models.py b/python/Dawn/models.py
index 6d300e8b..9766b476 100644
--- a/python/Dawn/models.py
+++ b/python/Dawn/models.py
@@ -148,11 +148,19 @@ class CDSDeal(db.Model):
upfront_settle_date = db.Column(db.Date, nullable=False)
initial_margin_percentage = db.Column(db.Float)
swap_type = db.Column(SWAP_TYPE, nullable=False)
- attach = db.Column(db.SmallInteger, info={'min': 0, 'max':100})
- detach = db.Column(db.SmallInteger, info={'min': 0, 'max':100})
+ attach = db.Column(db.SmallInteger, info={'min': 0, 'max': 100})
+ detach = db.Column(db.SmallInteger, info={'min': 0, 'max': 100})
+ corr_attach = db.Column(db.Float, info={'min': 0.})
+ corr_detach = db.Column(db.Float, info={'min': 0.})
+ index_ref = db.Column(db.Float)
clearing_facility = db.Column(db.String(12), default=None,
info={'filters': [lambda x: x or None,]})
isda_definition = db.Column(ISDA)
+ termination_date = db.Column(db.Date)
+ termination_amount = db.Column(db.Float)
+ termination_cp = db.Column(db.String(12), db.ForeignKey('counterparties.code'),
+ info={'choices': [(None, '')],
+ 'label': 'termination_counterparty'})
counterparty = db.relationship(Counterparties)
__table_args__ = (db.CheckConstraint("swap_type!='CD_INDEX_TRANCHE' or " \
"(attach is not NULL and detach is not NULL AND " \
@@ -224,6 +232,11 @@ class SwaptionDeal(db.Model):
fixed_rate = db.Column(db.Float, nullable=False)
maturity = db.Column(db.Date, nullable=False)
currency = db.Column(CCY, nullable=False)
+ termination_date = db.Column(db.Date)
+ termination_amount = db.Column(db.Float)
+ termination_cp = db.Column(db.String(12), db.ForeignKey('counterparties.code'),
+ info={'choices': [(None, '')],
+ 'label': 'termination_counterparty'})
counterparty = db.relationship(Counterparties)
class FutureDeal(db.Model):
diff --git a/sql/dawn.sql b/sql/dawn.sql
index 242aca79..9f7df1f9 100644
--- a/sql/dawn.sql
+++ b/sql/dawn.sql
@@ -132,6 +132,7 @@ CREATE TABLE cds(id serial primary key,
isda_definition isda,
termination_date date DEFAULT NULL,
termination_amount float DEFAULT NULL,
+ termination_cp varchar(12) DEFAULT NULL REFERENCES counterparties(code) ON UPDATE CASCADE,
initial_margin_percentage float DEFAULT NULL,
index_ref float DEFAULT NULL,
corr_attach float DEFAULT NULL,
@@ -204,7 +205,8 @@ CREATE TABLE swaptions(id serial PRIMARY KEY,
currency currency NOT NULL,
fixed_rate float NOT NULL,
termination_date date,
- termination_amount float);
+ termination_amount float,
+ termination_cp varchar(12) REFERENCES counterparties(code) ON UPDATE CASCADE);
CREATE OR REPLACE FUNCTION auto_dealid()