def random_search(strategy_dictionary_local, n_iterations): toc = tic() data_local, data_2 = import_data(strategy_dictionary) fitting_inputs_local, continuous_targets, classification_targets = input_processing( data_local, data_2, strategy_dictionary) counter = 0 error = 1e5 while counter < n_iterations: counter += 1 strategy_dictionary_local = randomise_dictionary_inputs(strategy_dictionary_local) if strategy_dictionary['regression_mode'] == 'classification': fitting_targets_local = classification_targets elif strategy_dictionary['regression_mode'] == 'regression': fitting_targets_local = continuous_targets fitting_inputs_local = preprocessing_inputs(strategy_dictionary, fitting_inputs_local) fitting_dictionary, profit_factor = fit_strategy( strategy_dictionary, data_local, fitting_inputs_local, fitting_targets_local) error_loop = fitting_dictionary['error'] if error_loop < error and fitting_dictionary['n_trades'] != 0: error = error_loop strategy_dictionary_local_optimum = strategy_dictionary_local fitting_dictionary_optimum = fitting_dictionary underlined_output('Best strategy fit') output_strategy_results(strategy_dictionary_local_optimum, fitting_dictionary_optimum, data_local, toc) return strategy_dictionary_local_optimum, fitting_inputs_local, fitting_targets_local, data_local
def random_search(strategy_dictionary_local, n_iterations, toc): """random search to find optimum machine learning algorithm and preprocessing""" data_local = import_data(strategy_dictionary_local) fitting_inputs_local, continuous_targets, classification_targets = input_processing( data_local, strategy_dictionary_local) counter = 0 error = 1e5 fitting_targets_local = [] fitting_dictionary_optimum = [] strategy_dictionary_optimum = [] while counter < n_iterations: counter += 1 strategy_dictionary_local = randomise_dictionary_inputs( strategy_dictionary_local) if strategy_dictionary_local['regression_mode'] == 'classification': fitting_targets_local = classification_targets.astype(int) elif strategy_dictionary_local['regression_mode'] == 'regression': fitting_targets_local = continuous_targets fitting_inputs_local, strategy_dictionary_local = preprocessing_inputs( strategy_dictionary_local, fitting_inputs_local) fitting_dictionary_local, _, _, strategy_dictionary_local = fit_strategy( strategy_dictionary_local, data_local, fitting_inputs_local, fitting_targets_local) error_loop = fitting_dictionary_local['error'] if error_loop < error and fitting_dictionary_local['n_trades'] != 0: error = error_loop strategy_dictionary_optimum = strategy_dictionary_local fitting_dictionary_optimum = fitting_dictionary_local if strategy_dictionary_optimum: profit, test_profit = output_strategy_results( strategy_dictionary_optimum, fitting_dictionary_optimum, data_local, toc) else: test_profit = -2 return strategy_dictionary_optimum,\ fitting_dictionary_optimum,\ fitting_inputs_local,\ fitting_targets_local,\ data_local,\ test_profit
def random_search(strategy_dictionary_local, n_iterations): """random search to find optimum machien learning algorithm and preprocessing""" toc = tic() data_local = import_data(strategy_dictionary_local) fitting_inputs_local, continuous_targets, classification_targets = input_processing( data_local, strategy_dictionary_local) counter = 0 error = 1e5 fitting_targets_local = [] fitting_dictionary_optimum = [] strategy_dictionary_optimum = [] while counter < n_iterations: counter += 1 strategy_dictionary_local = randomise_dictionary_inputs( strategy_dictionary_local) if strategy_dictionary_local['regression_mode'] == 'classification': fitting_targets_local = classification_targets.astype(int) elif strategy_dictionary_local['regression_mode'] == 'regression': fitting_targets_local = continuous_targets fitting_inputs_local, strategy_dictionary = preprocessing_inputs( strategy_dictionary_local, fitting_inputs_local) fitting_dictionary, profit_factor = fit_strategy( strategy_dictionary, data_local, fitting_inputs_local, fitting_targets_local) error_loop = fitting_dictionary['error'] if error_loop < error and fitting_dictionary['n_trades'] != 0: error = error_loop strategy_dictionary_optimum = strategy_dictionary_local fitting_dictionary_optimum = fitting_dictionary underlined_output('Best strategy fit') output_strategy_results(strategy_dictionary_optimum, fitting_dictionary_optimum, data_local, toc) return strategy_dictionary_optimum, fitting_inputs_local, fitting_targets_local, data_local
def random_search(strategy_dictionary_local, n_iterations): toc = tic() counter = 0 error = -1e5 while counter < n_iterations: counter += 1 strategy_dictionary_local = randomise_dictionary_inputs(strategy_dictionary_local) fitting_dictionary, data_to_predict, profit_factor = fit_strategy(strategy_dictionary_local) error_loop = fitting_dictionary['error'] if error_loop > error and fitting_dictionary['n_trades'] != 0: error = error_loop strategy_dictionary_local_optimum = strategy_dictionary_local fitting_dictionary_optimum = fitting_dictionary underlined_output('Best strategy fit') output_strategy_results(strategy_dictionary_local_optimum, fitting_dictionary_optimum, data_to_predict, toc) return strategy_dictionary_local_optimum