diff options
Diffstat (limited to 'python/report_ops/sma.py')
| -rw-r--r-- | python/report_ops/sma.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/python/report_ops/sma.py b/python/report_ops/sma.py index e592797e..ae542279 100644 --- a/python/report_ops/sma.py +++ b/python/report_ops/sma.py @@ -146,6 +146,7 @@ class PositionReport(Deal, deal_type=None, table_name=None): c.execute(cls._query, params) for row in c: position = cls.from_query(row._asdict(), cob, fund) + print(position) position.serialize("position") def from_query(d, cob, fund): @@ -208,11 +209,31 @@ class TranchePosition(PositionReport, asset_class="tranche"): return cls.from_dict(**d) -class IRSwaptionPosition(PositionReport, asset_class="ir_swaption"): +class SwaptionPosition: + @classmethod + def from_query(cls, d: dict, cob, fund): + d = super().from_query(d, cob, fund) + rename_keys( + d, + { + "active_notional": "notional", + "trade_date": "start_date", + "effectivedate": "effective_date", + "nav": "MTM Valuation", + "expiration_date": "Underlying Maturity", + "security_id": "identifier", + "security_desc": "description", + }, + ) + d["primebroker"] = "Bilateral" + return cls.from_dict(**d) + + +class IRSwaptionPosition(SwaptionPosition, PositionReport, asset_class="ir_swaption"): pass -class CDXSwaptionPosition(PositionReport, asset_class="cdx_swaption"): +class CDXSwaptionPosition(SwaptionPosition, PositionReport, asset_class="cdx_swaption"): pass |
