Objective
[[objective]] définit les critères utilisés pour classer les combinaisons lors de l’optimisation.
Chaque objectif produit son propre classement.
Sa formule utilise des variables du backtest, comme netprofit, max_drawdown_percent ou closedtrades.
Les sorties d’indicateurs et les séries de bougies (OHLCV) ne sont pas disponibles dans les formules d’objectif.
Certaines variables sont réservées aux objectifs et ne sont pas disponibles dans les expressions de trading de la stratégie.
Voir Les objectifs pour plus de détails, des exemples et la liste complète des variables disponibles.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[objective]].
Exemples
Ratio de Sortino
Le ratio de Sortino classe les combinaisons à partir des rendements de l’equity du portefeuille en ne retenant que la volatilité à la baisse.
Voir Ratios de Sharpe et de Sortino.
[[objective]]
id = "sortino"
formula = "sortino_ratio"
ascending = falseRatio de Calmar
Le ratio de Calmar classe les combinaisons en comparant la croissance annualisée composée au drawdown maximal sur le backtest.
Voir Ratio de Calmar.
[[objective]]
id = "calmar"
formula = "calmar_ratio"
ascending = falseRecovery factor
Le recovery factor compare le profit net final au drawdown maximal en valeur absolue.
Un score de 4 signifie que le profit net représente quatre fois le pire drawdown observé.
[[objective]]
id = "recovery_factor"
formula = "netprofit / max_drawdown"
ascending = falseParamètres du bloc
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Identifiant unique de l’objectif. |
formulaTexte (expression) Obligatoire | Expression évaluée à partir des variables du backtest pour calculer la valeur de l’objectif. |
ascendingBooléen Optionnel | Ordre de tri du classement. Lorsque true, l’objectif est minimisé ; lorsque false, il est maximisé. Valeur par défaut : false. |
Valeurs par défaut
Si aucun bloc objective n’est déclaré, le moteur injecte automatiquement l’objectif suivant :
[[objective]]
id = "netprofit"
formula = "netprofit"
ascending = falseEvaluation et classement
- L’expression d’objectif est évaluée une seule fois à la fin du backtest pour obtenir sa valeur finale.
- Lorsque le résultat est
NaN, la combinaison est exclue du classement correspondant. - En cas d’égalité, la combinaison au plus petit identifiant interne est conservée.
- Lorsque plusieurs objectifs sont déclarés, chacun maintient son propre classement.