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
Пример #2
0
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