Spreads lors de backtests

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #262712 quote
    Poupouille
    Participant
    Average

    Bonjour à toutes et tous.

    J’ai une question sur les spreads lors d’un backtest.

    J’ai backtesté une stratégie sur le DAX CFD Cash 1€. Lors du backtest, j’ai paramétré celui avec un spread de 2. Pour la période concernée, j’obtiens 100 positions et un gains de 1.500 €. Lorsque je fais le même backtest en paramétrant un spread de 3, alors que je pensais n’avoir plus qu’un gain de 1.400 € (100 X 1€ de spread), j’obtiens +/- 1.445€ de gains, donc pas une diminution de 100€ comme je le pensais pour l’augmentaion de 1€ de spread. Quelle en est la raison. Merci pour votre aide.

    #262713 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, modifier le spread n’est pas forcément synonyme de faire exactement les mêmes trades avec un coût plus élevé si le backtest a une ligne defparam qui empêche le cumul des ordres. Est-ce le cas? Si oui, il est possible qu’avec un spread plus large un ou plusieurs trades aient leur stop ou leur target atteint plus tôt, ce qui rend l’algo dispo pour éventuellement prendre un trade qu’il n’aurait pas pris s’il avait été encore en position, ces trades eux-mêmes empêchant éventuellement une prise de position qui aurait eu lieu dans le 1er backtest, et si on a certains trades différents d’un backtest à l’autre alors il en découle un bilan de gains/pertes différent du bilan initial.

    GraHal and Iván González thanked this post
    #262716 quote
    Poupouille
    Participant
    Average

    Merci pour votre retour.

    Je comprend bien mais ce n’est pas le cas. Que ce soit avec un spread paramétré à 2 ou un spread paramétré à 3, j’ai exactement les même trades, en nombre et en résultat.



    #262718 quote
    Nicolas
    Keymaster
    Legend

    Pour bien comprendre la situation, je recommande d’extraire les listes des ordres de ces 2 tests (celui avec le spread à 2 et celui avec le spread à 3) et de mettre côté à côte ces listes dans un tableau excel par exemple. On y verra plus clair 😉

    #262720 quote
    Poupouille
    Participant
    Average

    Quelle est la façon plus simple pour partager le fichier ? Merci



    #262722 quote
    Nicolas
    Keymaster
    Legend

    Il faut l’ajouter à ton prochain message ici, en utilisant cette zone de fichier:

    n9YMdtwNCl.png n9YMdtwNCl.png
    #262723 quote
    Poupouille
    Participant
    Average

    Oui mais cela ne fonctionne pas, je suppose qu’il est trop lourd ? Pourtant il ne fait que 83,5 KB ?


    #262724 quote
    Poupouille
    Participant
    Average

    Peut-être via ce lien :

    Comparaison.xls

    #262743 quote
    Nicolas
    Keymaster
    Legend

    Après analyse de ton fichier, cela me semble en effet logique, le spread n’est pas déduit comme une commission fixe de 1 € sur chaque position. Il modifie les prix d’exécution à l’entrée et à la sortie, selon le type d’ordre utilisé.

    Dans le CSV, le passage du spread de 2 à 3 donne :

    • 30 positions diminuées de 1 € ;
    • 24 positions diminuées de 0,50 € ;
    • 29 positions sans changement.

    Soit une baisse totale de :

    30 × 1 € + 24 × 0,50 € = 42 €

    Quelques exemples :

    • Le 2 janvier : achat à 24 562,6 puis sortie à 24 539,5, soit −23,1 €. Avec le spread à 3 : achat à 24 563,1 puis sortie à 24 539,0, soit −24,1 €. La différence est bien de −1 €.
    • Le 30 juin : achat à 24 736,2 puis sortie à 24 889,7, soit +153,5 €. Avec le spread à 3, seule l’entrée passe à 24 736,7 tandis que la sortie reste à 24 889,7. La différence n’est donc que de −0,50 €.
    • Le 21 janvier, sur une position vendeuse stoppée, l’entrée passe de 24 424,8 à 24 424,3 et le stop de 24 547,0 à 24 546,5. Les deux prix sont décalés de 0,5 point, mais la distance reste identique : la perte demeure donc de −122,2 €.

    L’écart dépend ainsi de la manière dont chaque position est clôturée : ordre au marché, sortie à prix fixe, stop ou objectif calculé depuis le prix d’entrée. C’est pourquoi 83 positions ne produisent pas automatiquement une baisse de 83 €.

    Le code de la stratégie, principalement les instructions SELL, EXITSHORT, SET STOP et SET TARGET, permettrait d’identifier précisément pourquoi les 24 sorties concernées ne perdent que 0,50 €.

    #262758 quote
    Poupouille
    Participant
    Average

    Merci beaucoup pour ces explications.

    Dès lors, si je comprends bien, pour backtester une stratégie, il vaut mieux paramétrer le spread à 0 et le retirer soi-même du résultat ?


    #262761 quote
    Nicolas
    Keymaster
    Legend

    Il n’est pas question de considérer que cette approche est suffisante 😉 il est bien plus pertinent d’utiliser et de conserver un spread qui reflète le mieux les conditions réelles lors du backtest, car l’impact ne se limite absolument pas au simple calcul du gain final.

    Car réduire le spread à une valeur nulle dans le code puis soustraire une somme fixe manquera forcément de précision pour établir la valeur réelle, puisque ce spread affecte non seulement le résultat global attendu, mais il peut également impacter fondamentalement les prix exacts d’entrée et de sortie ; cela concerne aussi le déclenchement précis des différents ordres, qu’il s’agisse de stops ou d’objectifs définis dans ta stratégie.

    Comme on peut clairement voir grâce au sujet présenté dans le fichier CSV, l’impact réel n’est pas un indicateur identique sur chaque type de trade exécuté : certaines positions enregistreront une perte significative d’un euro, tandis que d’autres subiront une déduction de 0,50 €, et il est fréquent qu’il y ait des cas où aucun changement de valeur n’apparaît.

    En conséquence, la meilleure approche consiste donc à paramétrer un spread qui se rapproche au maximum des conditions réelles ; même envisager un niveau légèrement supérieur peut être utile afin d’obtenir un test qui soit considéré comme plus prudent et robuste dans le temps. Il faut cependant toujours garder bien à l’esprit qu’un simple spread fixe ne permet pas de reproduire les élargissements de spreads ponctuels importants du marché, ni non plus tout le slippage que ce genre de condition peut générer au cours d’une période réelle de trading.

    #262762 quote
    Poupouille
    Participant
    Average

    Merci beaucoup pour cette explication qui est parfaitement censée.

    Belle journée



    #262781 quote
    turame
    Participant
    Master

    Bonjour,

    Personnellement je vous conseille de mettre un spread plus important afin d’avoir une approche prudente de votre backtest.

    Par exemple si le spread théorique moyen (fourni sur le site d’IG ou en observant le graphique) lors de vos prise de position est de 2, vous l’augmentez d’au moins 50%, soit un spread de 3 en l’espèce. Cela permettra de compenser les variations de spread dans la journée, ainsi que le slippage. Ainsi vous serez beaucoup plus proche de la réalité.

    #262782 quote
    Poupouille
    Participant
    Average

    Merci beaucoup.

    Une dernière question : si la stratégie prend des trades en dehors des plages horaires “normales” de trading, càd lorsque les spreads sont élargis, le backtest en tiend-il compte ? merci

    #262783 quote
    Nicolas
    Keymaster
    Legend

    Le backtest ne prend en compte que les spreads indiqués dans l’interface. Soit une seule unique information, peu importe les horaires.

Viewing 15 posts - 1 through 15 (of 21 total)
  • You must be logged in to reply to this topic.

Spreads lors de backtests


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Poupouille @poupouille Participant
Summary

This topic contains 20 replies,
has 4 voices, and was last updated by Nicolas
5 hours, 34 minutes ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 07/19/2026
Status: Active
Attachments: 1 files
Logo Logo
Loading...