Exemple #1
0
 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)"
Exemple #2
0
    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)