Métriques

Ratios de Sharpe et de Sortino

Le ratio de Sharpe mesure le rendement moyen par unité de volatilité totale. Le ratio de Sortino suit la même logique, mais ne retient que la volatilité baissière. Tous deux servent ici à classer les backtests à partir de la trajectoire réelle de l’equity du portefeuille.

Le moteur calcule ces ratios à partir de la courbe d’equity du portefeuille. Il part du capital initial, puis relève l’equity à chaque clôture du timeframe principal du backtest. Les rendements sont calculés d’une clôture à la suivante sur cette série. Sharpe prend en compte toute la volatilité de ces rendements. Sortino ne retient que la volatilité baissière.

Les ratios sont ensuite annualisés. Vous les retrouvez dans les variables sharpe_ratio et sortino_ratio, disponibles dans les objectifs. Ces variables permettent de comparer plus facilement des backtests exécutés sur des timeframes différents.

Spécification de Sharpe

La définition retenue pour le ratio de Sharpe est une définition usuelle, avec un taux sans risque fixé à 0, appliquée à la série de rendements close-to-close de l’equity du portefeuille, échantillonnée sur le timeframe natif du backtest.

  • Série source : capital initial, puis equity du portefeuille à chaque clôture du timeframe principal.
  • Rendement élémentaire : ri=EiEi-1-1
  • Taux sans risque : 0
  • Moyenne des rendements : μ=riN
  • Ecart-type : σ=(ri-μ)2N-1
  • Annualisation : A=Year_msΔ, avec une année crypto 24/7 de 365 jours
Spécification de Sortino

La définition retenue pour le ratio de Sortino est une définition usuelle, avec une cible baissière fixée à 0, appliquée à la même série de rendements close-to-close de l’equity du portefeuille, toujours sur le timeframe natif du backtest.

  • Série source : capital initial, puis equity du portefeuille à chaque clôture du timeframe principal.
  • Rendement élémentaire : ri=EiEi-1-1
  • Cible baissière : 0
  • Composante baissière : di=min(0,ri)
  • Downside deviation : σdown=di2N
  • Annualisation : A=Year_msΔ, avec une année crypto 24/7 de 365 jours

Pour un timeframe 4W, la durée nominale retenue est de 28 jours fixes, pas d’un mois calendaire.

Lorsque le calcul n’est pas défini, la valeur retournée est NaN, notamment s’il y a moins de deux rendements valides, si l’equity précédente est inférieure ou égale à 0, si une observation n’est pas finie, ou si la volatilité utile est nulle.

Ratio de Calmar

Le ratio de Calmar mesure le rendement annualisé obtenu par unité de drawdown maximal. Il indique si la performance du portefeuille a été obtenue sans passer par des baisses trop profondes.

Dans ce cadre, Calmar est utilisé comme une métrique de classement pour l’optimisation. Il compare la croissance annualisée composée au drawdown maximal observé sur la période effective du backtest.

Spécification de Calmar
  • Formule : Calmar=CAGRMDD
  • CAGR : CAGR=(Capital finalCapital initial)Year_msΔ-1, avec une année crypto 24/7 de 365 jours et la durée effective du backtest

Cette définition garde Calmar aligné sur la fenêtre finale réellement utilisée par le moteur et évite de reconstruire une seconde série de drawdown à partir d’échantillons d’equity stockés.

Lorsque le calcul n’est pas défini, la valeur retournée est NaN. C’est notamment le cas si le capital initial est inférieur ou égal à 0, si le capital final est inférieur ou égal à 0, si la durée écoulée est inférieure ou égale à 0, si le drawdown maximal en pourcentage est inférieur ou égal à 0, ou si une valeur intermédiaire n’est pas finie.