Identifying code smells
The following is an implementation that passes the tests (for a listing of the test cases, download the code for this chapter from https://github.com/siddhi/test_driven_python). The implementation uses the timedelta class from the datetime module, so you'll have to import it at the top of the file to get it to work.
def get_crossover_signal(self, on_date):
cpl = []
for i in range(11):
chk = on_date.date() - timedelta(i)
for price_event in reversed(self.price_history):
if price_event.timestamp.date() > chk:
pass
if price_event.timestamp.date() == chk:
cpl.insert(0, price_event)
break
if price_event.timestamp.date() < chk:
cpl.insert(0, price_event)
break
# Return NEUTRAL signal
if len(cpl) < 11:
return 0
# BUY signal
...