Fix calculation of calmar ratio
This commit is contained in:
parent
84aac56dd3
commit
6958160ae6
@ -41,7 +41,6 @@ class CalmarHyperOptLoss(IHyperOptLoss):
|
|||||||
results['profit_percent'] -= SLIPPAGE_PERCENT
|
results['profit_percent'] -= SLIPPAGE_PERCENT
|
||||||
|
|
||||||
return_avg_per_year = (results.profit_percent.sum() / backtest_duration_years)
|
return_avg_per_year = (results.profit_percent.sum() / backtest_duration_years)
|
||||||
return_avg_simulation_duration = return_avg_per_year * SIMULATION_YEAR_DURATION
|
|
||||||
|
|
||||||
sample_size = round(trade_count_average_per_year * SIMULATION_YEAR_DURATION)
|
sample_size = round(trade_count_average_per_year * SIMULATION_YEAR_DURATION)
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ class CalmarHyperOptLoss(IHyperOptLoss):
|
|||||||
simulated_drawdowns.append(simulated_drawdown)
|
simulated_drawdowns.append(simulated_drawdown)
|
||||||
|
|
||||||
abs_mediam_simulated_drawdowns = Series(simulated_drawdowns).median()
|
abs_mediam_simulated_drawdowns = Series(simulated_drawdowns).median()
|
||||||
calmar_ratio = return_avg_simulation_duration/abs_mediam_simulated_drawdowns
|
calmar_ratio = return_avg_per_year/abs_mediam_simulated_drawdowns
|
||||||
|
|
||||||
# Normalize loss value to be float between (0, 1)
|
# Normalize loss value to be float between (0, 1)
|
||||||
calmar_loss = 1 - (norm.cdf(calmar_ratio, 0, 100))
|
calmar_loss = 1 - (norm.cdf(calmar_ratio, 0, 100))
|
||||||
|
Loading…
Reference in New Issue
Block a user