fix: Improve MultiMetricHyperoptLoss

Capping expectancy_ratio makes sense - but must be done in a better way

closes #11174
This commit is contained in:
Matthias
2025-01-03 13:20:11 +01:00
parent 0866b8fdca
commit c4b34ea60c

View File

@@ -68,11 +68,8 @@ class MultiMetricHyperOptLoss(IHyperOptLoss):
log_profit_factor = np.log(profit_factor + PF_CONST)
# Calculate expectancy
expectancy, expectancy_ratio = calculate_expectancy(results)
if expectancy_ratio > 10:
log_expectancy_ratio = np.log(1.01)
else:
log_expectancy_ratio = np.log(expectancy_ratio + EXPECTANCY_CONST)
_, expectancy_ratio = calculate_expectancy(results)
log_expectancy_ratio = np.log(min(10, expectancy_ratio) + EXPECTANCY_CONST)
# Calculate winrate
winning_trades = results.loc[results["profit_abs"] > 0]