def activate() -> None: sample_size = sample_selector.get() sample_size = int(sample_size) if sample_size else 5 all_schedules = schedule(RESULTS_PATH, QUERY_PATH) to_dataframe(all_schedules).to_csv(ALL_SCHEDULES_PATH) sample_schedules = coverage_sample(all_schedules, sample_size) print(len(sample_schedules)) to_dataframe(sample_schedules).to_csv(SAMPLE_SCHEDULES_PATH) if open_output.get(): subprocess.run(['start', SAMPLE_SCHEDULES_PATH], check=True, shell=True)
def main(): if len(sys.argv) < 1: print("Please insert the name of the file you want to test on") sys.exit() if len(sys.argv) < 2: print("Examples are being tested on forest implementation by default") TEST_FILE = sys.argv[1] START_TIME = time.time() labels, data = util.load_raw_data(TEST_FILE) A = np.array(labels) labels = [row[0] for row in A] df_labels, df_data = util.to_dataframe(labels, data) algorithm = convert_arguments() res = algorithm(df_labels, df_data) print(res) print( "----------------------------------- TOTAL EXECUTION TIME -----------------------------------\n" ) END_TIME = time.time() print(END_TIME - START_TIME)
def main(): algorithm = convert_arguments() START_TIME = time.time() labels, data = util.load_raw_data_clean() A = np.array(labels) labels = [row[0] for row in A] df_labels, df_data = util.to_dataframe(labels, data) # Number of examples N = df_labels.shape[0] print( "----------------------------------- LOADING COMPLETED -----------------------------------\n" ) print( "----------------------------------- CONFUSION_MATRIX ------------------------------------\n" ) res = algorithm(df_labels, df_data, N) print(res) print( "----------------------------------- TOTAL EXECUTION TIME -----------------------------------\n" ) END_TIME = time.time() print(END_TIME - START_TIME)
def activate() -> None: courses = course_file.get() query = query_file.get() output_dir = output_folder.get() output_full = output_dir + "/all_schedules.csv" output_sample = output_dir + "/sample_schedules.csv" sample_size = sample_selector.get() sample_size = int(sample_size) if sample_size else 5 if not courses or not query or not output_dir: text.config(fg="red", text="Missing one or more required fields.") return else: text.config(fg="black", text="") all_schedules = schedule(course_file.get(), query_file.get()) to_dataframe(all_schedules).to_csv(output_full) sample_schedules = coverage_sample(all_schedules, sample_size) to_dataframe(sample_schedules).to_csv(output_sample) if open_output.get(): subprocess.run(['start', output_sample], check=True, shell=True)
# cluster num_clusters=10 cluster = LandmarkAgglomerative(n_clusters=num_clusters, n_landmarks=200, linkage='ward', metric='euclidean') cluster.fit(trajs) ctraj = {} for k, v in traj_dict.items(): v = v.copy(order='C') v = cluster.partial_predict(v) diff = nframes-v.shape[0] v = np.append(v, np.zeros(diff)-1) ctraj[k] = v # Convert to DF for plotting and sampling. df = to_dataframe(ctraj, nframes, dt=1) # Plot trajectories sample = df.sample(frac=0.1, axis=0) sample.sort_values(by=['Prod_ID', 'Site_ID', 'Time_ps'], inplace=True) g = sns.FacetGrid(sample, col='Prod_ID',hue='Site_ID', col_wrap=10) g.map(plt.scatter, 'Time_ps', 'Trajectory', alpha=0.5) g.set(ylim=(-0.5,num_clusters)) g.fig.tight_layout() plt.savefig('figures/{}_cluster_trajectory.pdf'.format(feature)) # Plot histograms g = sns.FacetGrid(sample, col='Prod_ID',hue='Site_ID', col_wrap=10) g = g.map(plt.hist, 'Trajectory', bins=range(num_clusters), histtype='step', lw='5') g.fig.tight_layout() plt.savefig('figures/{}_cluster_hist.pdf'.format(feature))
def main(): symbol_conf=conf["symbol"] ex=HistorialData(symbol_conf) for symbol in symbol_conf.keys(): exchange=symbol_conf[symbol]["exchange"] time_unit=symbol_conf[symbol]["time_unit"] candles=symbol_conf[symbol]["candles"] #get historical data from symbol and symbol identified logger.debug("Get historical data %s:%s",exchange,symbol) try: data=ex.get_historical_data(symbol,exchange,time_unit,candles) except Exception as e: logger.error("Error in retrieving historical data for %s",symbol,exc_info=True) continue data=to_dataframe(data) # Aplly strategy(s) to collected data for st in symbol_conf[symbol]["strategies"]: klass=globals()[st] tatics=klass(data,symbol,symbol_conf[symbol],conf["indicators"],bruteforce=True) result=tatics.launch() if isinstance(result,list): #check configuration and update with new parameters if having if "indicators" in symbol_conf[symbol]: # stochastic RSI parameters if symbol_conf[symbol]["indicators"]["stoch_rsi"]["period"] != trading_result["period"]: logger.info("Change stoch_rsi_period from %s to %s", str(symbol_conf[symbol]["indicators"]["stoch_rsi"]["period"]),str(trading_result["period"])) symbol_conf[symbol]["indicators"]["stoch_rsi"]["period"] = int(trading_result["period"]) if symbol_conf[symbol]["indicators"]["stoch_rsi"]["fast_k"] != trading_result["fast_k_period"]: logger.info("Change stoch_rsi_fast_k from %s to %s", str(symbol_conf[symbol]["indicators"]["stoch_rsi"]["fast_k"]),str(trading_result["fast_k_period"])) symbol_conf[symbol]["indicators"]["stoch_rsi"]["fast_k"] = int(trading_result["fast_k_period"]) if symbol_conf[symbol]["indicators"]["stoch_rsi"]["fast_d"] != trading_result["fast_d_period"]: logger.info("Change stoch_rsi_fast_d from %s to %s", str(symbol_conf[symbol]["indicators"]["stoch_rsi"]["fast_d"]),str(trading_result["fast_d_period"])) symbol_conf[symbol]["indicators"]["stoch_rsi"]["fast_d"] = int(trading_result["fast_d_period"]) #selling indicators if symbol_conf[symbol]["indicators"]["selling"]["rsi"] != trading_result["selling_rsi"]: logger.info("Change selling_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["selling"]["rsi"]),str(trading_result["selling_rsi"])) symbol_conf[symbol]["indicators"]["selling"]["rsi"] = int(trading_result["selling_rsi"]) if symbol_conf[symbol]["indicators"]["selling"]["rsi_bullish"] != trading_result["selling_rsi_bullish"]: logger.info("Change selling_rsi_bullish from %s to %s", str(symbol_conf[symbol]["indicators"]["selling"]["rsi_bullish"]),str(trading_result["selling_rsi_bullish"])) symbol_conf[symbol]["indicators"]["selling"]["rsi_bullish"] = int(trading_result["selling_rsi_bullish"]) if symbol_conf[symbol]["indicators"]["selling"]["fast_k"] != trading_result["selling_stoch_rsi"]: logger.info("Change selling_stoch_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["selling"]["fast_k"]),str(trading_result["selling_stoch_rsi"])) symbol_conf[symbol]["indicators"]["selling"]["rsi"] = int(trading_result["selling_rsi"]) #buying indicators if symbol_conf[symbol]["indicators"]["buying"]["rsi"] != trading_result["buying_rsi"]: logger.info("Change buying_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"]["rsi"]),str(trading_result["buying_rsi"])) symbol_conf[symbol]["indicators"]["buying"]["rsi"] = int(trading_result["buying_rsi"]) if symbol_conf[symbol]["indicators"]["buying"]["rsi_bullish"] != trading_result["buying_rsi_bullish"]: logger.info("Change buying_rsi_bullish from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"]["rsi_bullish"]),str(trading_result["buying_rsi_bullish"])) symbol_conf[symbol]["indicators"]["buying"]["rsi_bullish"] = int(trading_result["buying_rsi_bullish"]) if symbol_conf[symbol]["indicators"]["buying"]["fast_k"] != trading_result["buying_stoch_rsi"]: logger.info("Change buying_stoch_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"]["fast_k"]),str(trading_result["buying_stoch_rsi"])) symbol_conf[symbol]["indicators"]["buying"]["fast_k"] = int(trading_result["buying_stoch_rsi"]) if symbol_conf[symbol]["indicators"]["buying"]["confirmed_bullish"] != trading_result["buying_confirmed_pullish"]: logger.info("Change buying_confirmed_pullish from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"]["confirmed_bullish"]),str(trading_result["buying_confirmed_pullish"])) symbol_conf[symbol]["indicators"]["buying"]["confirmed_bullish"] = int(trading_result["buying_confirmed_pullish"]) if symbol_conf[symbol]["indicators"]["buying"]["rsi_midpoint"] != trading_result["buying_rsi_midpoint"]: logger.info("Change buying_rsi_midpoint from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"]["rsi_midpoint"]),str(trading_result["buying_rsi_midpoint"])) symbol_conf[symbol]["indicators"]["buying"]["rsi_midpoint"] = int(trading_result["buying_rsi_midpoint"]) if symbol_conf[symbol]["indicators"]["buying"]["macdhist"] != trading_result["buying_macdhist"]: logger.info("Change buying_macdhist from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"]["macdhist"]),str(trading_result["buying_macdhist"])) symbol_conf[symbol]["indicators"]["buying"]["macdhist"] = int(trading_result["buying_macdhist"]) else: indicators={"selling":{"rsi":int(trading_result["selling_rsi"]),"rsi_bullish":int(trading_result["selling_rsi_bullish"]), "fast_k":int(trading_result["selling_stoch_rsi"])},\ "buying":{"rsi":int(trading_result["buying_rsi"]),"rsi_bullish":int(trading_result["buying_rsi_bullish"]), "fast_k":int(trading_result["buying_stoch_rsi"]),\ "confirmed_bullish":int(trading_result["buying_confirmed_pullish"]),"rsi_midpoint":int(trading_result["buying_rsi_midpoint"]),\ "macdhist":int(trading_result["buying_macdhist"])},\ "stoch_rsi":{"period":int(trading_result["period"]),"fast_k":int(trading_result["fast_k_period"]),"fast_d":int(trading_result["fast_d_period"])}} symbol_conf[symbol]["indicators"]=indicators #Automatically update configuration file conf["symbol"]=symbol_conf with open('conf/conf_recommender.yml', 'w') as outfile: yaml.dump(conf, outfile, default_flow_style=False)
def main(): symbol_conf = conf["symbol"] ex = HistorialData(symbol_conf) for symbol in symbol_conf.keys(): exchange = symbol_conf[symbol]["exchange"] time_unit = symbol_conf[symbol]["time_unit"] candles = symbol_conf[symbol]["candles"] #get historical data from symbol and symbol identified logger.debug("Get historical data %s:%s", exchange, symbol) try: data = ex.get_historical_data(symbol, exchange, time_unit, candles) except Exception as e: logger.error("Error in retrieving historical data for %s", symbol, exc_info=True) continue data = to_dataframe(data) # Aplly strategy(s) to collected data for st in symbol_conf[symbol]["strategies"]: klass = globals()[st] tatics = klass(data, symbol, symbol_conf[symbol], conf["indicators"], bruteforce=True) result = tatics.launch() if isinstance(result, list): #check configuration and update with new parameters if having if "indicators" in symbol_conf[symbol]: # stochastic RSI parameters if symbol_conf[symbol]["indicators"]["stoch_rsi"][ "period"] != trading_result["period"]: logger.info( "Change stoch_rsi_period from %s to %s", str(symbol_conf[symbol]["indicators"]["stoch_rsi"] ["period"]), str(trading_result["period"])) symbol_conf[symbol]["indicators"]["stoch_rsi"][ "period"] = int(trading_result["period"]) if symbol_conf[symbol]["indicators"]["stoch_rsi"][ "fast_k"] != trading_result["fast_k_period"]: logger.info( "Change stoch_rsi_fast_k from %s to %s", str(symbol_conf[symbol]["indicators"]["stoch_rsi"] ["fast_k"]), str(trading_result["fast_k_period"])) symbol_conf[symbol]["indicators"]["stoch_rsi"][ "fast_k"] = int(trading_result["fast_k_period"]) if symbol_conf[symbol]["indicators"]["stoch_rsi"][ "fast_d"] != trading_result["fast_d_period"]: logger.info( "Change stoch_rsi_fast_d from %s to %s", str(symbol_conf[symbol]["indicators"]["stoch_rsi"] ["fast_d"]), str(trading_result["fast_d_period"])) symbol_conf[symbol]["indicators"]["stoch_rsi"][ "fast_d"] = int(trading_result["fast_d_period"]) #selling indicators if symbol_conf[symbol]["indicators"]["selling"][ "rsi"] != trading_result["selling_rsi"]: logger.info( "Change selling_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["selling"] ["rsi"]), str(trading_result["selling_rsi"])) symbol_conf[symbol]["indicators"]["selling"][ "rsi"] = int(trading_result["selling_rsi"]) if symbol_conf[symbol]["indicators"]["selling"][ "rsi_bullish"] != trading_result[ "selling_rsi_bullish"]: logger.info( "Change selling_rsi_bullish from %s to %s", str(symbol_conf[symbol]["indicators"]["selling"] ["rsi_bullish"]), str(trading_result["selling_rsi_bullish"])) symbol_conf[symbol]["indicators"]["selling"][ "rsi_bullish"] = int( trading_result["selling_rsi_bullish"]) if symbol_conf[symbol]["indicators"]["selling"][ "fast_k"] != trading_result["selling_stoch_rsi"]: logger.info( "Change selling_stoch_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["selling"] ["fast_k"]), str(trading_result["selling_stoch_rsi"])) symbol_conf[symbol]["indicators"]["selling"][ "rsi"] = int(trading_result["selling_rsi"]) #buying indicators if symbol_conf[symbol]["indicators"]["buying"][ "rsi"] != trading_result["buying_rsi"]: logger.info( "Change buying_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"] ["rsi"]), str(trading_result["buying_rsi"])) symbol_conf[symbol]["indicators"]["buying"][ "rsi"] = int(trading_result["buying_rsi"]) if symbol_conf[symbol]["indicators"]["buying"][ "rsi_bullish"] != trading_result[ "buying_rsi_bullish"]: logger.info( "Change buying_rsi_bullish from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"] ["rsi_bullish"]), str(trading_result["buying_rsi_bullish"])) symbol_conf[symbol]["indicators"]["buying"][ "rsi_bullish"] = int( trading_result["buying_rsi_bullish"]) if symbol_conf[symbol]["indicators"]["buying"][ "fast_k"] != trading_result["buying_stoch_rsi"]: logger.info( "Change buying_stoch_rsi from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"] ["fast_k"]), str(trading_result["buying_stoch_rsi"])) symbol_conf[symbol]["indicators"]["buying"][ "fast_k"] = int(trading_result["buying_stoch_rsi"]) if symbol_conf[symbol]["indicators"]["buying"][ "confirmed_bullish"] != trading_result[ "buying_confirmed_pullish"]: logger.info( "Change buying_confirmed_pullish from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"] ["confirmed_bullish"]), str(trading_result["buying_confirmed_pullish"])) symbol_conf[symbol]["indicators"]["buying"][ "confirmed_bullish"] = int( trading_result["buying_confirmed_pullish"]) if symbol_conf[symbol]["indicators"]["buying"][ "rsi_midpoint"] != trading_result[ "buying_rsi_midpoint"]: logger.info( "Change buying_rsi_midpoint from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"] ["rsi_midpoint"]), str(trading_result["buying_rsi_midpoint"])) symbol_conf[symbol]["indicators"]["buying"][ "rsi_midpoint"] = int( trading_result["buying_rsi_midpoint"]) if symbol_conf[symbol]["indicators"]["buying"][ "macdhist"] != trading_result["buying_macdhist"]: logger.info( "Change buying_macdhist from %s to %s", str(symbol_conf[symbol]["indicators"]["buying"] ["macdhist"]), str(trading_result["buying_macdhist"])) symbol_conf[symbol]["indicators"]["buying"][ "macdhist"] = int( trading_result["buying_macdhist"]) else: indicators={"selling":{"rsi":int(trading_result["selling_rsi"]),"rsi_bullish":int(trading_result["selling_rsi_bullish"]), "fast_k":int(trading_result["selling_stoch_rsi"])},\ "buying":{"rsi":int(trading_result["buying_rsi"]),"rsi_bullish":int(trading_result["buying_rsi_bullish"]), "fast_k":int(trading_result["buying_stoch_rsi"]),\ "confirmed_bullish":int(trading_result["buying_confirmed_pullish"]),"rsi_midpoint":int(trading_result["buying_rsi_midpoint"]),\ "macdhist":int(trading_result["buying_macdhist"])},\ "stoch_rsi":{"period":int(trading_result["period"]),"fast_k":int(trading_result["fast_k_period"]),"fast_d":int(trading_result["fast_d_period"])}} symbol_conf[symbol]["indicators"] = indicators #Automatically update configuration file conf["symbol"] = symbol_conf with open('conf/conf_recommender.yml', 'w') as outfile: yaml.dump(conf, outfile, default_flow_style=False)