Skip to content

Calcul de la performance relative du bot incorrecte #3

Description

@antonio-fr

Le calcul de la performance du bot relative par hold n'est pas correcte.
Exemple :

Coin Price from 23.13 to 19.48 $
Final balance bot wallet : 562.54 $
Performance vs USD : -43.75 %
Buy and Hold Performance : -15.79 %
Performance vs Buy&Hold : 177.08 %

Cela donne l’impression que le bot a surperformé de 77% par rapport au hold, alors qu'il a perdu presque la moitié, et le hold n'a perdu que 15%. Approximativement, le bot a perdu 28% de plus (-43,8 - -15,8)

Calcul de la performance relative actuelle : par exemple dans TrixStrategy/Trix_Complete_backtest.ipynb
vsHoldPercentage = ((algoPercentage - holdPercentage)/holdPercentage) * 100

On voit bien que la formule prend des pourcentages pour des réels relatifs, des nombres qui devraient être par rapport à 1, non à 100, et cela crée des problèmes de signes.

Je propose la correction suivante

algPerf = (100+algoPercentage)/100
hPerf = (100+holdPercentage)/100
vsHoldPercentage = ((algPerf - hPerf)/hPerf) * 100

Avec les données de l'exemple, cela donne la performance vs Buy&Hold : -33,2 %
On a bien perfHold * relative = perfBot :
( 1-0.1579 ) * 0.668 = 0.5625 -> -43,75% la performance du bot, le bot a mangé 33% par rapport au hold.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions