Professional Documents
Culture Documents
import pandas as pd
import numpy as np
import time
#>>>>>>>------------------------------------------------
# ************ PREVISÂO DE DIREÇÂO ************
#>>>>>>>------------------------------------------------
print("> Carregando base de dados de Direção...")
# Carrega a base de dados
base = pd.read_csv('deepOracleTrader_Data.csv', sep=",", index_col=0,
encoding="utf_16")
# summarize each variable
#print(base.describe())
'''base.hist(bins=30, figsize=(60,60), density=True)
import matplotlib.pyplot as plt
plt.show()'''
scAtributosMA3 = StandardScaler().fit(atributosMA3_train)
atributosMA3_train = scAtributosMA3.transform(atributosMA3_train)
atributosMA3_test = scAtributosMA3.transform(atributosMA3_test)
scAtributosMA5 = StandardScaler().fit(atributosMA5_train)
atributosMA5_train = scAtributosMA5.transform(atributosMA5_train)
atributosMA5_test = scAtributosMA5.transform(atributosMA5_test)
'''scAtributosMA10 = StandardScaler().fit(atributosMA10_train)
atributosMA10_train = scAtributosMA10.transform(atributosMA10_train)
atributosMA10_test = scAtributosMA10.transform(atributosMA10_test)
scAtributosRates10 = StandardScaler().fit(atributosRates10_train)
atributosRates10_train = scAtributosRates10.transform(atributosRates10_train)
atributosRates10_test = scAtributosRates10.transform(atributosRates10_test)'''
inicio = time.time()
#svrMA1 = LinearSVR(C=1, max_iter=100000000, verbose=0, tol=1e-9)
mlpMA1 =
MLPRegressor(shuffle=False,early_stopping=True,hidden_layer_sizes=(180,90),activati
on='relu',solver='adam',tol=1e-9,max_iter=10000000, batch_size=30)
bayrMA1 = BayesianRidge(n_iter=1000,tol=1e-
29,alpha_init=None,lambda_init=0.0001,alpha_1=1e-19,alpha_2=1e-19,lambda_1=1e-
19,lambda_2=1e-19)
#gbrMA1 = GradientBoostingRegressor(learning_rate=0.00125, max_depth=5,
loss='huber', n_estimators=1000, subsample=0.1, random_state=0)
#adabMA1 = AdaBoostRegressor(DecisionTreeRegressor(max_depth=6), n_estimators=1000,
loss='linear', learning_rate=0.9, random_state=0)
knnMA1 = KNeighborsRegressor(n_neighbors=21,weights="distance")
#modelMA1 = VotingRegressor(estimators=[('svr',svrMA1),('mlp',mlpMA1),
('bayr',bayrMA1),('gbr',gbrMA1),('adab',adabMA1),('knn',knnMA1)],n_jobs=-1)
modelMA1 = VotingRegressor(estimators=[('mlp',mlpMA1),('bayr',bayrMA1),
('knn',knnMA1)],n_jobs=-1)
print(">> Avaliando modelo de Regressão MA1...")
modelMA1.fit(atributosMA1_train,saidasMA1_train)
y_true = saidasMA1_test
y_pred = modelMA1.predict(atributosMA1_test)
maxe = max_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred)
print("modelMA1-maxe: ",maxe)
print("modelMA1-mae: ",mae)
print("modelMA1-mse: ",mse)
from matplotlib import pyplot
pyplot.plot(y_true, label='y_true')
pyplot.plot(y_pred, label='modelMA1-y_pred')
pyplot.legend()
pyplot.show()
fim = time.time()
print("Tempo para treinar e avaliar modelMA1 --> ", fim - inicio, " segundos.")
inicio = time.time()
#svrMA3 = LinearSVR(C=1, max_iter=100000000, verbose=0, tol=1e-9)
mlpMA3 =
MLPRegressor(shuffle=False,early_stopping=True,hidden_layer_sizes=(180,90),activati
on='relu',solver='adam',tol=1e-9,max_iter=10000000, batch_size=30)
bayrMA3 = BayesianRidge(n_iter=1000,tol=1e-
29,alpha_init=None,lambda_init=0.0001,alpha_1=1e-19,alpha_2=1e-19,lambda_1=1e-
19,lambda_2=1e-19)
#gbrMA3 = GradientBoostingRegressor(learning_rate=0.00125, max_depth=5,
loss='huber', n_estimators=1000, subsample=0.1, random_state=0)
#adabMA3 = AdaBoostRegressor(DecisionTreeRegressor(max_depth=6), n_estimators=1000,
loss='linear', learning_rate=0.9, random_state=0)
knnMA3 = KNeighborsRegressor(n_neighbors=21,weights="distance")
#modelMA3 = VotingRegressor(estimators=[('svr',svrMA3),('mlp',mlpMA3),
('bayr',bayrMA3),('gbr',gbrMA3),('adab',adabMA3),('knn',knnMA3)],n_jobs=-1)
modelMA3 = VotingRegressor(estimators=[('mlp',mlpMA3),('bayr',bayrMA3),
('knn',knnMA3)],n_jobs=-1)
print(">> Avaliando modelo de Regressão MA3...")
modelMA3.fit(atributosMA3_train,saidasMA3_train)
y_true = saidasMA3_test
y_pred = modelMA3.predict(atributosMA3_test)
maxe = max_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred)
print("modelMA3-maxe: ",maxe)
print("modelMA3-mae: ",mae)
print("modelMA3-mse: ",mse)
from matplotlib import pyplot
pyplot.plot(y_true, label='y_true')
pyplot.plot(y_pred, label='modelMA3-y_pred')
pyplot.legend()
pyplot.show()
fim = time.time()
print("Tempo para treinar e avaliar modelMA3 --> ", fim - inicio, " segundos.")
inicio = time.time()
#svrMA5 = LinearSVR(C=1, max_iter=100000000, verbose=0, tol=1e-9)
mlpMA5 =
MLPRegressor(shuffle=False,early_stopping=True,hidden_layer_sizes=(180,90),activati
on='relu',solver='adam',tol=1e-9,max_iter=10000000, batch_size=30)
bayrMA5 = BayesianRidge(n_iter=1000,tol=1e-
29,alpha_init=None,lambda_init=0.0001,alpha_1=1e-19,alpha_2=1e-19,lambda_1=1e-
19,lambda_2=1e-19)
#gbrMA5 = GradientBoostingRegressor(learning_rate=0.00125, max_depth=5,
loss='huber', n_estimators=1000, subsample=0.1, random_state=0)
#adabMA5 = AdaBoostRegressor(DecisionTreeRegressor(max_depth=6), n_estimators=1000,
loss='linear', learning_rate=0.9, random_state=0)
knnMA5 = KNeighborsRegressor(n_neighbors=21,weights="distance")
#modelMA5 = VotingRegressor(estimators=[('svr',svrMA5),('mlp',mlpMA5),
('bayr',bayrMA5),('gbr',gbrMA5),('adab',adabMA5),('knn',knnMA5)],n_jobs=-1)
modelMA5 = VotingRegressor(estimators=[('mlp',mlpMA5),('bayr',bayrMA5),
('knn',knnMA5)],n_jobs=-1)
print(">> Avaliando modelo de Regressão MA5...")
modelMA5.fit(atributosMA5_train,saidasMA5_train)
y_true = saidasMA5_test
y_pred = modelMA5.predict(atributosMA5_test)
maxe = max_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred)
print("modelMA5-maxe: ",maxe)
print("modelMA5-mae: ",mae)
print("modelMA5-mse: ",mse)
from matplotlib import pyplot
pyplot.plot(y_true, label='y_true')
pyplot.plot(y_pred, label='modelMA5-y_pred')
pyplot.legend()
pyplot.show()
fim = time.time()
print("Tempo para treinar e avaliar modelMA5 --> ", fim - inicio, " segundos.")
'''inicio = time.time()
modelMA10 = BayesianRidge(n_iter=1000,tol=1e-
29,alpha_init=None,lambda_init=0.0001,alpha_1=1e-19,alpha_2=1e-19,lambda_1=1e-
19,lambda_2=1e-19)
print(">> Avaliando modelo de Regressão MA10...")
modelMA10.fit(atributosMA10_train,saidasMA10_train)
y_true = saidasMA10_test
y_pred = modelMA10.predict(atributosMA10_test)
maxe = max_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred)
print("modelMA10-maxe: ",maxe)
print("modelMA10-mae: ",mae)
print("modelMA10-mse: ",mse)
from matplotlib import pyplot
pyplot.plot(y_true, label='y_true')
pyplot.plot(y_pred, label='modelMA10-y_pred')
pyplot.legend()
pyplot.show()
fim = time.time()
print("Tempo para treinar e avaliar modelMA10 --> ", fim - inicio, " segundos.")
inicio = time.time()
modelRates10 = BayesianRidge(n_iter=1000,tol=1e-
29,alpha_init=None,lambda_init=0.0001,alpha_1=1e-19,alpha_2=1e-19,lambda_1=1e-
19,lambda_2=1e-19)
print(">> Avaliando modelo de Regressão Rates10...")
modelRates10.fit(atributosRates10_train,saidasRates10_train)
y_true = saidasRates10_test
y_pred = modelRates10.predict(atributosRates10_test)
maxe = max_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred)
print("modelRates10-maxe: ",maxe)
print("modelRates10-mae: ",mae)
print("modelRates10-mse: ",mse)
from matplotlib import pyplot
pyplot.plot(y_true, label='y_true')
pyplot.plot(y_pred, label='modelRates10-y_pred')
pyplot.legend()
pyplot.show()
fim = time.time()
print("Tempo para treinar e avaliar modelRates10 --> ", fim - inicio, "
segundos.")'''
scAtributosMA3 = StandardScaler().fit(atributosMA3)
atributosMA3 = scAtributosMA3.transform(atributosMA3)
pcaMA3 = PCA(n_components='mle').fit(atributosMA3)
atributosMA3 = pcaMA3.transform(atributosMA3)
scAtributosMA5 = StandardScaler().fit(atributosMA5)
atributosMA5 = scAtributosMA5.transform(atributosMA5)
pcaMA5 = PCA(n_components='mle').fit(atributosMA5)
atributosMA5 = pcaMA5.transform(atributosMA5)
'''scAtributosMA10 = StandardScaler().fit(atributosMA10)
atributosMA10 = scAtributosMA10.transform(atributosMA10)
pcaMA10 = PCA(n_components='mle').fit(atributosMA10)
atributosMA10 = pcaMA10.transform(atributosMA10)
scAtributosRates10 = StandardScaler().fit(atributosRates10)
atributosRates10 = scAtributosRates10.transform(atributosRates10)
pcaRates10 = PCA(n_components='mle').fit(atributosRates10)
atributosRates10 = pcaRates10.transform(atributosRates10) '''
modelMA1.fit(atributosMA1,saidasMA1)
modelMA3.fit(atributosMA3,saidasMA3)
modelMA5.fit(atributosMA5,saidasMA5)
'''modelMA10.fit(atributosMA10,saidasMA10)
modelRates10.fit(atributosRates10,saidasRates10)'''
while(True):
if(os.path.isfile('deepOracleTrader_RequestData.csv')):
try:
try:
print("> Padronizando requisição.")
requestMA1 = scAtributosMA1.transform(requestMA1)
requestMA1 = pcaMA1.transform(requestMA1)
requestMA3 = scAtributosMA3.transform(requestMA3)
requestMA3 = pcaMA3.transform(requestMA3)
requestMA5 = scAtributosMA5.transform(requestMA5)
requestMA5 = pcaMA5.transform(requestMA5)
'''requestMA10 = scAtributosMA10.transform(requestMA10)
requestMA10 = pcaMA10.transform(requestMA10) '''
requestRates10 =
np.concatenate((requestRates10,MA1Predict.reshape(-1,1)),axis=1)
requestRates10 =
np.concatenate((requestRates10,MA3Predict.reshape(-1,1)),axis=1)
requestRates10 =
np.concatenate((requestRates10,MA5Predict.reshape(-1,1)),axis=1)
requestRates10 =
np.concatenate((requestRates10,MA10Predict.reshape(-1,1)),axis=1)
requestRates10 = scAtributosRates10.transform(requestRates10)
requestRates10 = pcaRates10.transform(requestRates10)
response = str(MA1Predict[0])+","+str(MA3Predict[0])
+","+str(MA5Predict[0])
print("> previsão: ",response)
try:
responsefile = open('deepOracleTrader_ResponseData.txt', 'w')
responsefile.write(str(response))
responsefile.close()
os.remove('deepOracleTrader_RequestData.csv') #deleta o arquivo
de requisição .
time.sleep(1)
except:
print("ERRO durante a gravação da resposta!")
time.sleep(1)
except:
print("ERRO durante a execução do algoritmo!")
except:
print("Aguardando autorização para acessar o request...")
time.sleep(1)