From fdf38d35622c3735e86aa3336e27dc5140786f36 Mon Sep 17 00:00:00 2001 From: Richard Frank Date: Sun, 24 Mar 2013 11:58:03 -0400 Subject: [PATCH] BUG: Moved asserts back to before calculations that rely on them. This means we get a failed assert immediately, instead of an OverflowError later. --- zipline/finance/trading.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/zipline/finance/trading.py b/zipline/finance/trading.py index cf15aa7d..a0ade9cd 100644 --- a/zipline/finance/trading.py +++ b/zipline/finance/trading.py @@ -263,6 +263,15 @@ class SimulationParameters(object): self.period_start = period_start self.period_end = period_end self.capital_base = capital_base + + assert self.period_start <= self.period_end, \ + "Period start falls after period end." + + assert self.period_start <= environment.last_trading_day, \ + "Period start falls after the last known trading day." + assert self.period_end >= environment.first_trading_day, \ + "Period end falls before the first known trading day." + self.first_open = self.calculate_first_open() self.last_close = self.calculate_last_close() start_index = \ @@ -274,14 +283,6 @@ class SimulationParameters(object): self.trading_days = \ environment.trading_days[start_index:end_index + 1] - assert self.period_start <= self.period_end, \ - "Period start falls after period end." - - assert self.period_start <= environment.last_trading_day, \ - "Period start falls after the last known trading day." - assert self.period_end >= environment.first_trading_day, \ - "Period end falls before the first known trading day." - def calculate_first_open(self): """ Finds the first trading day on or after self.period_start.