def __init__(self): aws_host = Utils.read_properties().get('DATABASE','aws_host') aws_database = Utils.read_properties().get('DATABASE','aws_database') aws_user = Utils.read_properties().get('DATABASE','aws_user') aws_password = Utils.read_properties().get('DATABASE', 'aws_password') self.aws_db = mysql.connector.connect(host=aws_host, user=aws_user, passwd=aws_password, database=aws_database) self.insert_data_statement = "INSERT INTO {} (symbol, company_name, trade_date, " \ "RSI_rsi, MACD_macd_signal, MACD_macd_histogram, MACD_macd," \ "BB_real_upper_band, BB_real_middle_band, BB_real_lower_band, OBV_obv, open_price, low_price, high_price, close_price, volume) " \ "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
def main(self): print("Portfolio Manager started") parser = argparse.ArgumentParser() parser.add_argument('-database', action='store', dest='database', help='Either of Sqlite/AWS') parser.add_argument('-mode', action='store', dest='mode', help='Test Mode[test/real]') parser.add_argument('-image', action='store', dest='image', help='Generate Images[generate]') parser.add_argument('-model', action='store', dest='model', help='create machine learning model[create]') parser.add_argument('-training_period', action='store', dest='training_period', help='Training period in years') self.args = parser.parse_args() scraper = Scraper() config = Utils.read_properties() av = AlphaV.AlphaVantage() ti = TechIndicators(key=os.environ["ALPHA_VANTAGE_KEY"], output_format='pandas') ts = TimeSeries(key=os.environ["ALPHA_VANTAGE_KEY"], output_format='pandas') if self.args.mode == 'test': symbol_list = scraper.read_symbols() else: symbol_list = self.get_exchange_symbol_list( Constants.SP500, scraper) if self.args.database == 'sqllite': self.dump_market_data(symbol_list, Constants.SP500, av, ti, ts, config) elif self.args.database == 'AWS': for exchange in Constants.Exchanges: symbol_list = self.get_exchange_symbol_list(exchange, scraper) self.dump_market_data(symbol_list, exchange, av, ti, ts, config) if self.args.model == 'create': recommender = Recommender(self.args, symbol_list, True) else: recommender = Recommender(self.args, symbol_list, False) #recommender.generate_recommendation(Constants.LearningModel.IMAGE_BASED_CLASSIFICATION, symbol_list) #recommender.generate_recommendation(Constants.LearningModel.DECISION_TREE_CLASSIFICATION, symbol_list) recommender.generate_recommendation( Constants.LearningModel.LSTM_CLASIFICATION, symbol_list)