aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/portfolio.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/python/analytics/portfolio.py b/python/analytics/portfolio.py
index 48c18f22..2872a7c2 100644
--- a/python/analytics/portfolio.py
+++ b/python/analytics/portfolio.py
@@ -1,6 +1,8 @@
+from __future__ import annotations
from .index import CreditIndex
from .option import BlackSwaption
from .tranche_basket import DualCorrTranche
+
import pandas as pd
import numpy as np
import logging
@@ -73,6 +75,12 @@ class Portfolio:
for t in self.trades:
yield t
+ def __iadd__(self, other: Portfolio):
+ if other:
+ self.trades.extend(other.trades)
+ self.trade_ids.extend(other.trade_ids)
+ return self
+
def __getitem__(self, trade_id):
for tid, trade in zip(self.trade_ids, self.trades):
if tid == trade_id: