import numpy as np from keras.models import load_model from load_data import csv_to_dataset, history_points import sys model = load_model(f'model/{sys.argv[1]}_model.h5') ohlcv_histories, technical_indicators, next_day_open_values, unscaled_y, y_normaliser = csv_to_dataset( f'data/{sys.argv[1]}.csv') test_split = 0.9 n = int(ohlcv_histories.shape[0] * test_split) ohlcv_train = ohlcv_histories[:n] tech_ind_train = technical_indicators[:n] y_train = next_day_open_values[:n] ohlcv_test = ohlcv_histories[n:] tech_ind_test = technical_indicators[n:] y_test = next_day_open_values[n:] unscaled_y_test = unscaled_y[n:] y_test_predicted = model.predict([ohlcv_test, tech_ind_test]) y_test_predicted = y_normaliser.inverse_transform(y_test_predicted) buys = [] sells = [] buy_threshold = .01 sell_threshold = .02
# in the data folder # To usa call: python model.py <stock_symbol> # ex. python model.py AMZN import sys import keras from keras.models import Model from keras.layers import Dense, Dropout, LSTM, Input, Activation, concatenate from keras import optimizers import numpy as np np.random.seed(4) import tensorflow as tf tf.random.set_seed(4) from load_data import csv_to_dataset, history_points ohlcv_histories, technical_indicators, percent_change_values = csv_to_dataset( 'data/%s.csv' % sys.argv[1]) test_split = 0.9 n = int(ohlcv_histories.shape[0] * test_split) ohlcv_train = ohlcv_histories[:n] tech_ind_train = technical_indicators[:n] y_train = percent_change_values[:n] ohlcv_test = ohlcv_histories[n:] tech_ind_test = technical_indicators[n:] y_test = percent_change_values[n:] percent_change_values_test = percent_change_values[n:] # model architecture
import keras import os from keras.models import Model from keras.layers import Dense, Dropout, LSTM, Input, Activation, concatenate from keras import optimizers import numpy as np np.random.seed(4) import tensorflow as tf tf.random.set_seed(4) from load_data import csv_to_dataset, history_points mse_for_symbol = {} for filename in os.listdir('./data'): ohlcv_histories, technical_indicators, next_day_open_values, unscaled_y, y_normaliser = csv_to_dataset('data/%s'%filename) stock_name = os.path.splitext(filename)[0] test_split = 0.9 n = int(ohlcv_histories.shape[0] * test_split) ohlcv_train = ohlcv_histories[:n] tech_ind_train = technical_indicators[:n] y_train = next_day_open_values[:n] ohlcv_test = ohlcv_histories[n:] tech_ind_test = technical_indicators[n:] y_test = next_day_open_values[n:] unscaled_y_test = unscaled_y[n:] # model architecture