from sklearn.svm import SVR from sklearn.pipeline import make_pipeline from sklearn.preprocessing import StandardScaler import numpy as np from util import getdata_energy_after_Corona, plot_result, all_energy_data, full_report, energy_return_data data, _, scaler = energy_return_data(window=10) # data = getdata_energy_after_Corona(window=10) X = data[:, :, :-1] a, b, c = np.shape(X) X = np.reshape(X, (-1, b * c)) y = data[:, -1, -1] tr_size = int(0.9 * len(X)) X_tr = X[:tr_size] y_tr = y[:tr_size] X_test = X[tr_size:] y_test = y[tr_size:] print(np.shape(X)) print(np.shape(y)) rng = np.random.RandomState(0) regr = SVR(C=1.0, epsilon=0.2) regr.fit(X_tr, y_tr) from sklearn.metrics import mean_squared_error def analize(XX, yy): y_pred = regr.predict(XX) # orig_y_true = scaler.inverse_transform(yy) # orig_y_pred = scaler.inverse_transform(y_pred)
from sklearn.svm import SVR from sklearn.pipeline import make_pipeline from sklearn.preprocessing import StandardScaler import numpy as np from util import getdata_energy_after_Corona, plot_result, all_energy_data, full_report, energy_return_data window = 25 data, _, scaler = energy_return_data(window=window, fiveday=True) # data = getdata_energy_after_Corona(window=10) X = data[:, :, :-1] a, b, c = np.shape(X) X = np.reshape(X, (-1, b * c)) y = data[:, -1, -1] tr_size = int(0.9 * len(X)) X_tr = X[:tr_size] y_tr = y[:tr_size] X_test = X[tr_size:] y_test = y[tr_size:] print(np.shape(X)) print(np.shape(y)) rng = np.random.RandomState(0) regr = SVR(C=1.0, epsilon=0.2) regr.fit(X_tr, y_tr) from sklearn.metrics import mean_squared_error def analize(XX, yy): y_pred = regr.predict(XX) # orig_y_true = scaler.inverse_transform(yy)
from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM from keras.layers import Dropout import numpy as np WINDOW = 10 BATCH_SIZE = 10 epochs = 10 lr = 0.000001 from util import getdata from sklearn.metrics import mean_squared_error from util import getdata, getdata_energy_after_Corona, get_dataloaders, all_energy_data, full_report, energy_return_data data, _, scaler = energy_return_data(window=WINDOW) print(np.shape(data)) d_input = np.shape(data)[-1] - 1 # From dataset d_output = 1 # From dataset # data = data[:300] data = data.astype(np.float32) n_data = len(data) train_data = data[:int(0.9 * n_data)] # val_data = data[int(0.8 * n_data):int(0.9 * n_data)] test_data = data[int(0.9 * n_data):] lstm_model = tf.keras.models.Sequential([ # Shape [batch, time, features] => [batch, time, lstm_units] tf.keras.layers.LSTM(10, return_sequences=True), # Shape => [batch, time, features]
from util import energy_return_data import numpy as np from scipy.stats import kurtosis, skew from statsmodels.stats.diagnostic import het_arch, acorr_ljungbox windowed, np_data, scaler1 = energy_return_data(window=25) y = np_data[:, :-1].reshape(-1) print('mean', np.mean(y)) print('max', np.max(y)) print('min', np.min(y)) print('median', np.median(y)) print('S.D.', np.std(y)) print('Skewness', skew(y)) print('Excess kurtosis', kurtosis(y) - 3) print('Ljung-Box test of autocorrelation in residuals', acorr_ljungbox(y, lags=[25])[1]) print('Engle’s Test for Autoregressive Conditional Heteroscedasticity (ARCH)', het_arch(y)[1])
import numpy as np import xlrd from matplotlib import pyplot as plt from sklearn import preprocessing from util import all_energy_data, energy_return_data from scipy.ndimage.filters import uniform_filter, uniform_filter1d _, np_data = energy_return_data(window=10) def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n # new_one = [] # for i in range(7): # np_data[:,i]= uniform_filter1d( np_data[:,i],size=10, mode='constant') # np_data = uniform_filter1d(np_data,size=20, mode='constant') xx = np.array(range(len(np_data))) plt.plot(xx, np_data[:, 0], label="Return") plt.plot(xx, np_data[:, 1], label="EU/USD") # plt.plot(xx, np_data[:, 3], label="CO") plt.plot(xx, np_data[:, 2], label="NS") plt.plot(xx, np_data[:, 3], label="USD Index") plt.plot(xx, np_data[:, 4], label="CO") # plt.plot(xx, np_data[:, 0], label="price") plt.title('Explore') plt.legend(loc="upper left") plt.show()