class Optimizer(object):
    # Write algo to optimize all the settings (Stop Loss point, Moving Average Cross overs)
    # How to identify the types of markets?

    def __init__(self):
        self.sd = StockData()
        self.systemScores = pd.DataFrame(columns=["Symbol", "near_ma", "far_ma", "Expectancy", "R-StdDev", "SQN"])

        # print(scoresDict)

    def run(self, symbol_list, near_range=[10, 20, 30], far_range=[30, 60, 90], plot_results=False):
        for near_ma in near_range:
            for far_ma in far_range:
                print("Running for Near Moving Average=" + str(near_ma) + " and Far Moving Average=" + str(far_ma))
                score = self.sd.backtest(symbol_list, near_ma, far_ma)
                # if plot_results: self.plot_results(symbol)
                self.systemScores = pd.concat([self.systemScores, score], ignore_index=True)
 def __init__(self):
     self.sd = StockData()
     self.systemScores = pd.DataFrame(columns=["Symbol", "near_ma", "far_ma", "Expectancy", "R-StdDev", "SQN"])