Two of your technical analysis functions in TechnicalAnalysis.py are looking ahead in time instead of using history. These are 'getWilliams(x)' and 'getStochasticOscillator(x)'. They both use this code:
for i in xrange(n-13):
highestHigh.append(high[i:i+14].max())
lowestLow.append(low[i:i+14].min())
Two of your technical analysis functions in TechnicalAnalysis.py are looking ahead in time instead of using history. These are 'getWilliams(x)' and 'getStochasticOscillator(x)'. They both use this code: