From 91e26f9a55f61a9ffef6f9658f1b55b05e76ebb9 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Wed, 6 Dec 2023 15:21:14 -0500 Subject: add __len__ and full_tickers methods --- pyisda/credit_index.pyx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pyisda/credit_index.pyx b/pyisda/credit_index.pyx index 9f56293..65dc439 100644 --- a/pyisda/credit_index.pyx +++ b/pyisda/credit_index.pyx @@ -106,6 +106,8 @@ cdef class CurveList: for i in range(self._weights.size()): self._weights[i] /= total_weight + def __len__(self): + return self._curves.size() def __getitem__(self, tuple name not None): cdef: @@ -260,6 +262,13 @@ cdef class CurveList: j += 1 return out + @property + def full_tickers(self): + cdef: + pair[CurveName, size_t] p + for p in self.names: + yield (PyUnicode_FromStringAndSize(p.first.ticker.data(), p.first.ticker.size()), to_seniority(p.first.seniority), to_doc_clause(p.first.doc_clause)) + @property def value_date(self): return TDate_to_pydate(self.base_date) -- cgit v1.2.3-70-g09d2