Пример #1
0
        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)
Пример #2
0
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)
Пример #4
0
 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)
Пример #5
0
# 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))
Пример #6
0
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)				
Пример #7
0
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)