pl.rcParams.update({'font.size': 6}) np.random.seed(0) tf.set_random_seed(0) # hyper-params batch_size = 1024 learning_rate = 0.002 drop_keep_prob = 1 value_moving_average = 50 split = (0.5, 0.3, 0.2) plotting = False saving = False # load data oanda_data = np.load('data\\EUR_USD_H1.npy')[-50000:] output_data_raw = price_to_binary_target(oanda_data, delta=0.0001) price_data_raw = extract_timeseries_from_oanda_data(oanda_data, ['closeMid']) input_data_raw, input_data_dummy_raw = get_features(oanda_data) price_data_raw = np.concatenate([[[0]], (price_data_raw[1:] - price_data_raw[:-1]) / (price_data_raw[1:] + 1e-10)], axis=0) # prepare data input_data, output_data, input_data_dummy, price_data = \ remove_nan_rows([input_data_raw, output_data_raw, input_data_dummy_raw, price_data_raw]) input_data_scaled_no_dummies = ( input_data - min_max_scaling[1, :]) / (min_max_scaling[0, :] - min_max_scaling[1, :]) input_data_scaled = np.concatenate( [input_data_scaled_no_dummies, input_data_dummy], axis=1) # split to train, test and cross validation
import tensorflow as tf from models import logistic_regression # hyper-params batch_size = 1024 learning_rate = 0.002 drop_keep_prob = 0.4 value_moving_average = 50 split = (0.5, 0.3, 0.2) plotting = False saving = False transaction_c = 0.000 # load data oanda_data = np.load('data\\EUR_USD_H1.npy')[-50000:] y_data = price_to_binary_target(oanda_data, delta=0.000275) x_data = get_features_v2(oanda_data, time_periods=[10, 25, 50, 120, 256], return_numpy=False) # separate, rearrange and remove nans price = x_data['price'].as_matrix().reshape(-1, 1) price_change = x_data['price_delta'].as_matrix().reshape(-1, 1) x_data = x_data.drop(['price', 'price_delta'], axis=1).as_matrix() price, price_change, x_data, y_data = remove_nan_rows( [price, price_change, x_data, y_data]) # split to train, test and cross validation input_train, input_test, input_cv, output_train, output_test, output_cv, price_train, price_test, price_cv = \ train_test_validation_split([x_data, y_data, price_change], split=split)