aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/analytics/basket_index.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/python/analytics/basket_index.py b/python/analytics/basket_index.py
index d340b531..1e241226 100644
--- a/python/analytics/basket_index.py
+++ b/python/analytics/basket_index.py
@@ -62,6 +62,17 @@ class BasketIndex(CreditIndex):
d = vars(self)
return partial(make_index, self.__class__), (d, args)
+ def __hash__(self):
+ def aux(v):
+ if isinstance(v, pd.DataFrame):
+ return hash_pandas_object(v)
+ elif isinstance(v, list):
+ return hash(tuple(v))
+ else:
+ return hash(v)
+ hash(CreditIndex.__hash__(self),
+ hash(frozenset([(k, aux(v)) for k, v in dirs(self)])))
+
def _query_version(self, i):
for lastdate, *data in self._version:
if lastdate >= self.trade_date.date():