Esempio n. 1
0
 print(datetime.datetime.today())
 print(f'pickle number: {str(pknum)}')
 print(f'delay: {delay_minutes} min')
 print(f'model_ui: {model_env["model_ui"]}')
 print(f'tasks: {str(tasks)}')
 time.sleep(delay_minutes * 60)
 portal = DataPortal()
 loop = 0
 while loop != end_int:
     if 'new' in tasks:
         gen = portal.iter_get_uids('daily_prices', 'default', model_env['tickers'])
         net = ESN(1, 1, n_reservoir=model_env['n_res_list'][0], sparsity=model_env['sparsity_list'][0], noise=0)
         for i in range(1, len(model_env['n_res_list'])):
             temp_net = ESN(1, 1, n_reservoir=model_env['n_res_list'][i], sparsity=model_env['sparsity_list'][i],
                            noise=0)
             net.merge(temp_net)
         x_train, x_test = np.zeros((0, sum(model_env['n_res_list']) + 1)), np.zeros(
             (0, sum(model_env['n_res_list']) + 1))
         y_train, y_test, y_cv, y_tcv = [], [], [], []
         w_train, w_test = [], []
         prep = Pipeline([('detrend', LinDetrend()), ('scaler', StandardScaler())])
         for ticker in gen:
             log_prices = np.log10(np.array(ticker['adjusted_close']).reshape((len(ticker), 1)))
             if len(log_prices) > model_env['train_len']:
                 prep.fit(log_prices[:model_env['train_len']])
                 log_prices = prep.transform(log_prices)
                 if model_env['vol']:
                     log_vol = np.log10(np.array(ticker['volume'] + 1).reshape((len(ticker), 1)))
                     prep.fit(log_vol[:model_env['train_len']])
                     log_vol = prep.transform(log_vol)
                 else: