Title here
Summary here
[filters] définit des conditions utilisées pour écarter des résultats de backtest non satisfaisants
ou pour arrêter prématurément un backtest si sa performance passe sous certains seuils.
Certains filtres (ex: min_required_positions) ne sont évalués qu’en fin de backtest. D’autres (ex: max_allowed_drawdown)
peuvent déclencher un arrêt immédiat pendant l’exécution. Cette capacité d’arrêt anticipé permet souvent de réduire fortement
le temps de calcul global (les runs trop mauvais sont coupés tôt).
Une stratégie ne peut déclarer qu’un seul bloc [filters].
[filters]
# Rejette les résultats qui ont moins de 10 positions clôturées.
min_required_positions = 10
# Rejette les résultats dont le ROI final est inférieur à 20%.
min_roi_pct = 20
# Rejette les résultats dont le taux de réussite est inférieur à 50%.
min_win_rate = 50
# Rejette les résultats dont le ratio de Sharpe est inférieur à 1.0.
min_sharpe_ratio = 1.0
# Rejette les résultats dont le ratio de Sortino est inférieur à 1.0.
min_sortino_ratio = 1.0
# Rejette les résultats dont le ratio de Calmar est inférieur à 1.0.
# Ce filtre est évalué uniquement en fin de backtest.
min_calmar_ratio = 1.0
# Arrête et rejette si le drawdown dépasse 40%.
max_allowed_drawdown = 40
# Arrête et rejette si le capital courant passe sous 70% du capital initial.
max_initial_capital_loss = 30
# Arrête et rejette si trop de Margin Calls se produisent.
# Absent ou < 0 : désactivé
# 0 : interdit tout Margin Call (équivaut à "forbid")
# > 0 : borne le nombre total
max_margin_calls = 0| Paramètre | Description |
|---|---|
min_required_positionsEntier | Nombre minimal de positions clôturées exigé pour juger un résultat exploitable. Valeur par défaut : 1 |
min_roi_pctDécimal | ROI minimal exigé (en pourcentage du capital initial). Le résultat est gardé si le capital final ≥ (1 + valeur/100) × capital initial. Ex : 20 exige ≥ 1,2 × initial.Valeur par défaut : 0 (désactivé) |
min_win_rateDécimal | Taux de réussite minimal (positions gagnantes / total). Les résultats en‑dessous sont rejetés. Valeur par défaut : 0 |
min_sharpe_ratioDécimal | Ratio de Sharpe annualisé minimal. Si > 0, les backtests avec un ratio en‑dessous (ou NaN) sont rejetés. Valeur par défaut : 0 (désactivé) |
min_sortino_ratioDécimal | Ratio de Sortino annualisé minimal. Si > 0, les backtests avec un ratio en‑dessous (ou NaN) sont rejetés. Valeur par défaut : 0 (désactivé) |
min_calmar_ratioDécimal | Ratio de Calmar minimal. Si > 0, les backtests avec un ratio en‑dessous (ou NaN) sont rejetés. Il s’agit d’un filtre final uniquement, qui ne peut pas arrêter un backtest en cours d’exécution. Valeur par défaut : 0 (désactivé) |
max_allowed_drawdownDécimal | Drawdown maximal toléré (en %). Si ce seuil est défini et dépassé pendant l’exécution, le backtest s’arrête immédiatement et est rejeté. Valeur par défaut : non limité |
max_initial_capital_lossDécimal | Perte maximale autorisée par rapport au capital initial (en %). Si le capital passe en‑dessous, le backtest s’arrête. Avec la valeur par défaut 80, l’arrêt n’intervient qu’après −80%.Valeur par défaut : 80 |
max_margin_callsEntier | Nombre maximal de Margin Calls autorisés sur tout le backtest (Long + Short). Si 0, le backtest est rejeté dès le premier Margin Call (mode “forbid”). Si positif N, le backtest s’arrête et est rejeté dès que le total dépasse N. Si absent ou négatif, le filtre est désactivé. |