def __init__(self, startDate, endDate, trader, stock): self.stockTs = loadStockTs(stock, startDate, endDate) self.scoreTs = loadScoreTs(stock) self.trader = trader self.amountStockOwned = 0 dates = self.stockTs.getDateList() self.timeSpan = TimeSpan(dates[5], dates[-1])
def generateNeuralNet(self, stock, loadDataSetFromFile=False, randomScoreTs=False, maxEpochs=1000): logit.debug('Downloading Stock Data') targetTs = loadStockTs(stock, self.startDate, self.endDate) scoreTs = loadScoreTs(stock, wordCounterTsFilename=self.wordCounterTsFilename) if randomScoreTs: scoreTs = scoreTs.mapValues(lambda val: random.random()) scaledInputTs, offset, scale = scoreTs.normalize() scaledTargetTs, offset, scale = targetTs.normalize() createNet = lambda historySize: createNLayerFFNet(historySize, 5, 10) nn = NeuralNet(createNet, 3, scaledInputTs, scaledTargetTs, targetScalingFactor=scale, targetOffset=offset, loadDataSetFromFile=loadDataSetFromFile) nn.train(maxEpochs=maxEpochs) return nn