From 45d829cda08934e48b47d7ea51f22abe38a1bcdd Mon Sep 17 00:00:00 2001 From: Scott Sanderson Date: Mon, 3 Aug 2015 12:08:08 -0400 Subject: [PATCH] BUG: Use a "real" index in NoOpFFCEngine. This makes us return an empty DataFrame in data.factors instead of barfing. --- zipline/modelling/engine.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zipline/modelling/engine.py b/zipline/modelling/engine.py index 52ffd5bd..9475bb4c 100644 --- a/zipline/modelling/engine.py +++ b/zipline/modelling/engine.py @@ -27,6 +27,7 @@ from numpy import ( ) from pandas import ( DataFrame, + date_range, MultiIndex, ) @@ -149,7 +150,12 @@ class NoOpFFCEngine(FFCEngine): """ def factor_matrix(self, terms, start, end): - return DataFrame(index=[], columns=sorted(terms.keys())) + return DataFrame( + index=MultiIndex.from_product( + [date_range(start=start, end=end, freq='D'), ()], + ), + columns=sorted(terms.keys()) + ) class SimpleFFCEngine(object):