diff options
| -rw-r--r-- | python/Dawn/models.py | 17 | ||||
| -rw-r--r-- | sql/dawn.sql | 4 |
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() |
