class Portfolio: def __init__(self, trades): self.trades = trades @property def pnl(self): return sum(t.pnl for t in self.trades) def make_original(self): for t in self.trades: t.make_original() @property def ref(self): return self.trades[0].ref @ref.setter def ref(self, val): for t in self.trades: t.ref = val def delta(self, val): sum([getattr(t, 'delta', 1) * t.notional for t in self.trades])