Add hyperopt option to clean temporary pickle files
This commit is contained in:
parent
5144e98a82
commit
107f00ff8f
@ -223,6 +223,13 @@ AVAILABLE_CLI_OPTIONS = {
|
|||||||
metavar='INT',
|
metavar='INT',
|
||||||
default=1,
|
default=1,
|
||||||
),
|
),
|
||||||
|
"hyperopt_clean_state": Arg(
|
||||||
|
"--clean",
|
||||||
|
help="Remove temporary hyperopt files (should be used when the custom hyperopt file "
|
||||||
|
"was changed, or when changing the arguments for --min-trades or spaces.",
|
||||||
|
default=False,
|
||||||
|
action='store_true',
|
||||||
|
),
|
||||||
# List exchanges
|
# List exchanges
|
||||||
"print_one_column": Arg(
|
"print_one_column": Arg(
|
||||||
'-1', '--one-column',
|
'-1', '--one-column',
|
||||||
@ -309,7 +316,8 @@ ARGS_BACKTEST = ARGS_COMMON_OPTIMIZE + ["position_stacking", "use_max_market_pos
|
|||||||
|
|
||||||
ARGS_HYPEROPT = ARGS_COMMON_OPTIMIZE + ["hyperopt", "position_stacking", "epochs", "spaces",
|
ARGS_HYPEROPT = ARGS_COMMON_OPTIMIZE + ["hyperopt", "position_stacking", "epochs", "spaces",
|
||||||
"use_max_market_positions", "print_all", "hyperopt_jobs",
|
"use_max_market_positions", "print_all", "hyperopt_jobs",
|
||||||
"hyperopt_random_state", "hyperopt_min_trades"]
|
"hyperopt_random_state", "hyperopt_min_trades",
|
||||||
|
"hyperopt_clean_state"]
|
||||||
|
|
||||||
ARGS_EDGE = ARGS_COMMON_OPTIMIZE + ["stoploss_range"]
|
ARGS_EDGE = ARGS_COMMON_OPTIMIZE + ["stoploss_range"]
|
||||||
|
|
||||||
|
@ -284,6 +284,8 @@ class Configuration(object):
|
|||||||
|
|
||||||
self._args_to_config(config, argname='hyperopt_min_trades',
|
self._args_to_config(config, argname='hyperopt_min_trades',
|
||||||
logstring='Parameter --min-trades detected: {}')
|
logstring='Parameter --min-trades detected: {}')
|
||||||
|
self._args_to_config(config, argname='hyperopt_clean_state',
|
||||||
|
logstring='Removing hyperopt temp files')
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|
||||||
|
@ -63,10 +63,22 @@ class Hyperopt(Backtesting):
|
|||||||
# Note, this is ratio. 3.85 stated above means 385Σ%.
|
# Note, this is ratio. 3.85 stated above means 385Σ%.
|
||||||
self.expected_max_profit = 3.0
|
self.expected_max_profit = 3.0
|
||||||
|
|
||||||
|
if self.config['hyperopt_clean_state']:
|
||||||
|
self.clean_hyperopt()
|
||||||
# Previous evaluations
|
# Previous evaluations
|
||||||
self.trials_file = TRIALSDATA_PICKLE
|
self.trials_file = TRIALSDATA_PICKLE
|
||||||
self.trials: List = []
|
self.trials: List = []
|
||||||
|
|
||||||
|
def clean_hyperopt(self):
|
||||||
|
"""
|
||||||
|
Remove hyperopt pickle files to restart hyperopt.
|
||||||
|
"""
|
||||||
|
for f in [TICKERDATA_PICKLE, TRIALSDATA_PICKLE]:
|
||||||
|
p = Path(f)
|
||||||
|
if p.is_file():
|
||||||
|
logger.info(f"Removing `{p}`.")
|
||||||
|
p.unlink()
|
||||||
|
|
||||||
def get_args(self, params):
|
def get_args(self, params):
|
||||||
dimensions = self.hyperopt_space()
|
dimensions = self.hyperopt_space()
|
||||||
# Ensure the number of dimensions match
|
# Ensure the number of dimensions match
|
||||||
|
Loading…
Reference in New Issue
Block a user