> For the complete documentation index, see [llms.txt](https://botlyz.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://botlyz.gitbook.io/docs/strategies/backtest.md).

# Backtest

## Définition du backtest

Un backtest est une **simulation de votre stratégie sur des données historiques réelles**. Botlyz vous permet de tester votre configuration avant de la déployer en mode réel, afin de vérifier sa cohérence et d'en comprendre le comportement passé.

Important : un backtest n'est **pas une promesse**. Les performances passées ne préjugent pas des résultats futurs. Les conditions de marché changent constamment (volatilité, liquidité, comportement des autres intervenants), et une bonne performance historique ne garantit aucun rendement à venir. Le trading comporte un risque de perte, pouvant aller jusqu'à la totalité du capital engagé. Voir [Avertissement sur les risques](/docs/pour-demarrer/avertissement-risques.md).

## Comment lancer un backtest

Dans [le Builder no-code](/docs/strategies/le-builder.md), une fois votre stratégie construite, vous pouvez la tester immédiatement.

### Étape 1 : configurer les paramètres du backtest

La zone de paramètres en haut du Builder propose :

* **Stratégie** : si vous testez depuis la liste des stratégies (sinon sélectionnée d'office)
* **Paire** : l'actif à tester (ex. BTC, ETH, SOL, HYPE, etc.)
* **Timeframe** : la résolution temporelle des bougies (1m, 5m, 15m, 30m, 1h)
* **Plage de dates** : du/au (affichée par défaut selon les données disponibles pour la paire)
* **Capital initial** : le capital de départ de la simulation en dollars (ex. 1000)
* **Levier** : de 1 à 20x (1 = pas de levier, capital immobilisé tel quel)
* **Allocation** : le pourcentage du capital engagé par trade (de 1 à 100 %)

Vous pouvez aussi cliquer sur **⚙ Modifier les paramètres par défaut** pour ajuster :

* Les paramètres spécifiques de la stratégie (ex. période de moyenne mobile, largeur d'enveloppe)
* Le stop-loss (%) appliqué à chaque position

Ces surcharges ne s'appliquent qu'au backtest en cours ; pour les utiliser en déploiement, vous devrez les configurer puis signer la nouvelle configuration avec votre wallet. Voir [Paramètres de risque](/docs/strategies/parametres-de-risque.md).

### Étape 2 : lancer la simulation

Cliquez sur le bouton **▶ Lancer**. Une fenêtre de chargement s'affiche pendant le calcul (durée : de quelques secondes à quelques dizaines de secondes, selon la plage et le timeframe).

Le moteur de backtest :

1. Charge toutes les bougies historiques de la paire et du timeframe choisis
2. Calcule les signaux d'entrée et de sortie à chaque bougie
3. Simule l'ouverture et la fermeture des positions selon les signaux
4. Applique les **frais** (0,10 % = 10 bps)
5. Applique le **slippage** (2 bps par défaut, modélisant l'écart entre prix d'achat/vente et la vitesse d'exécution)
6. Enregistre le capital après chaque trade

Vous pouvez annuler le calcul à tout moment en cliquant sur **Annuler**.

### Note importante sur la validation de déploiement

Quand vous lancez la validation d'une stratégie pour la déployer (bouton **Valider pour déployer**), Botlyz exécute aussi un backtest automatique en arrière-plan. Ce backtest de validation :

* Utilise le capital par défaut (1000 $) et un levier de 1x
* Vérifie que la configuration compile et génère des entrées
* Confirme que votre stratégie n'a pas d'erreur de logique

Ce n'est pas un backtest de performance, juste une vérification technique.

## Lire les résultats

Une fois le backtest terminé, vous avez accès à trois sections.

### 1. Statistiques clés (tuiles colorées)

**Résultat backtest sur la période** : le rendement total en pourcentage

* Vert (positif) : gains
* Rouge (négatif) : pertes

**Max drawdown (pire chute)** : la baisse maximale du capital depuis un pic

* Exprimé en pourcentage négatif
* Plus proche de 0, moins volatil ; plus bas, plus risqué

**Pire trade** : le pourcentage perdu sur le trade individuel le plus mauvais

**Profit factor** : le ratio des gains totaux sur les pertes totales

* Supérieur à 1,0 : plus de gains que de pertes
* Inférieur à 1,0 : plus de pertes que de gains
* N/A si aucun trade ou erreur

Ces seuils décrivent uniquement le comportement passé sur la période choisie ; un profit factor supérieur à 1,0 sur l'historique ne prédit aucun résultat futur.

**Win rate** : le pourcentage de trades gagnants (clôturés positifs)

**Trades** : le nombre total de positions ouvertes et fermées

**Équity finale** : le capital final après tous les trades

**Sharpe** : le ratio de Sharpe, qui mesure le rendement historique rapporté à la volatilité sur la période testée. Plus il est élevé, plus le rendement passé a été régulier au regard du risque ; ce n'est ni un objectif ni une garantie.

Ces indicateurs décrivent un comportement passé. Aucun d'eux ne constitue une prévision de gains futurs.

### 2. Courbe d'équity (Capital evolution)

Un graphique montre l'évolution de votre capital au fil du temps, bougie par bougie.

* L'axe horizontal : le temps
* L'axe vertical : le capital en dollars
* Les hauts et bas de la courbe reflètent les gains et pertes de chaque position
* Une courbe plate : peu ou pas de trades
* Une courbe qui monte reflète un résultat historiquement positif sur la période testée ; une courbe qui descend, un résultat négatif. Ce comportement passé ne préjuge en rien des résultats futurs.

La tooltip affiche le capital exact à chaque point.

### 3. Statistiques complètes (tableau)

Le tableau détaillé inclut des dizaines de métriques (Return on Invested Capital, Calmar Ratio, Expectancy, etc.). Passez votre souris sur les libellés pour lire une explication brève de chaque statistique.

## Rôle du slippage et des frais

Le backtest applique deux coûts pour modéliser l'exécution en trading réel.

### Frais (fees\_bps)

**Par défaut : 10 bps = 0,10 %**

Dans le backtest, ces frais correspondent au **frais de protocole de Botlyz**, plafonné à 10 bps (0,10 %). Il s'agit d'un frais du protocole, prélevé et reversé par la plateforme Lighter via son mécanisme de « partner attribution », et non d'une facture ni d'une commission Botlyz. Botlyz ne prélève aucune commission sur vos gains.

Par ailleurs, les frais propres de la plateforme Lighter (frais de trading, funding) s'appliquent indépendamment de Botlyz. Pour le détail, voir [Frais](/docs/fonctionnement/frais.md).

Dans le backtest, le frais de protocole est appliqué à chaque entrée ET à chaque sortie de position.

**Exemple :** un trade de 1000 $ représente 1000 × 0,0010 = 1 $ à l'entrée et 1 $ à la sortie, soit 2 $ au total pour le cycle complet.

### Slippage (slippage\_bps)

**Par défaut : 2 bps = 0,02 %**

Le slippage modélise l'écart entre le prix théorique (close de la bougie) et le prix réel d'exécution :

* **Écart d'achat/vente (bid/ask)** : la différence entre le prix d'achat et de vente sur Lighter
* **Délai d'exécution** : le prix peut bouger pendant que votre ordre est en cours de remplissage
* **Profondeur du marché** : plus votre ordre est gros, plus le slippage tend à augmenter

Vous pouvez ajuster le slippage dans le backtest (de 0 à 50 bps) pour explorer différents scénarios :

* **Slippage bas (0 à 1 bps)** : marché très liquide, ordre de petite taille
* **Slippage standard (2 à 5 bps)** : ordre moyen, marché normal
* **Slippage fort (10 à 50 bps)** : ordre important ou marché peu liquide

### Impact sur le réalisme

Le backtest utilise le **close du timeframe** comme prix théorique, puis l'ajuste avec le slippage.

**Exemple concret :**

* Bougie 1h close = 100 $
* Slippage = 2 bps (0,02 %)
* Prix d'exécution réelle ≈ 100 × (1 + 0,0002) = 100,02 $ (achat) ou 100 × (1 − 0,0002) = 99,98 $ (vente)

Plus vous augmentez le slippage (et les frais), plus le backtest se rapproche de conditions réalistes. Un backtest sans frais ni slippage est trop optimiste.

## Avertissements importants

### Les performances passées ne préjugent pas des résultats futurs

Un bon backtest sur 6 mois d'historique ne garantit rien pour les 6 mois à venir. Les raisons incluent :

* **Changements de régime de marché** : une stratégie adaptée à une tendance haussière peut perdre en marché sans direction
* **Évolution de la liquidité** : Lighter et les paires évoluent ; le carnet d'ordres change
* **Surapprentissage (overfitting)** : votre stratégie peut être trop optimisée sur l'historique (« curve fitting »)
* **Événements extrêmes (black swan)** : krachs, gaps, liquidations en cascade, parfois non capturés par le slippage standard

### Le backtest est une simulation

La réalité peut différer du backtest pour plusieurs raisons :

* **Résolution des bougies** : le backtest calcule à chaque close de bougie, alors que le marché réel évolue en continu
* **Liquidité** : le carnet d'ordres de Lighter peut manquer de profondeur ; votre ordre peut être partiellement rempli
* **Gestion du risque** : le backtest applique un stop-loss en % à la position, mais en cas de gap violent ou de liquidation en cascade, le prix réel peut être bien moins favorable
* **Frais** : la valeur de 0,10 % est fixe dans le backtest ; les paramètres réels peuvent évoluer dans le temps

### Le trading comporte un risque de perte

En lançant une stratégie en mode réel, vous vous exposez notamment à :

* la perte de tout votre capital engagé (jusqu'à 100 % en cas de marché défavorable)
* une liquidation si le levier est trop élevé et que le marché se retourne brutalement
* une indisponibilité pendant une panne de marché ou de connexion

**Vous seul êtes responsable de vos décisions de trading et de la gestion de votre capital.** Botlyz est un éditeur de logiciel d'automatisation : l'outil est non-custodial, vos fonds et vos clés restent chez vous, les clés API sont en mode trade-only (aucun retrait possible) et vous signez votre configuration (EIP-712). Voir [Sécurité et non-custodial](/docs/securite-and-aide/securite-non-custodial.md).

## Utiliser le backtest de manière efficace

### Bonnes pratiques

1. **Tester sur plusieurs périodes** : ne vous fiez pas à un seul backtest. Lancez la même stratégie sur une période différente (année précédente, mois différent) pour vérifier sa stabilité.
2. **Augmenter le slippage progressivement** : commencez à 2 bps, puis testez avec 5 bps et 10 bps pour mesurer la sensibilité de la stratégie aux conditions réelles.
3. **Vérifier le nombre de trades** : une stratégie avec 3 trades sur 1 an est difficile à évaluer. Une stratégie avec 500 trades sur 1 an peut être suroptimisée. Visez un équilibre (de 20 à 200 trades selon le contexte).
4. **Lire le max drawdown** : un drawdown de 50 % signifie que le capital a chuté de moitié au pire moment. Demandez-vous si vous seriez prêt à le supporter.
5. **Consulter le tableau de statistiques complet** : ne regardez pas que le rendement total. Examinez le Sharpe (rendement ajusté au risque), le Calmar (rendement rapporté au drawdown) et l'Expectancy (gain moyen par trade).
6. **Déployer progressivement** : si le backtest vous paraît cohérent, commencez le trading réel avec un levier bas (1x) et un capital réduit, puis ajustez en fonction des résultats réels.

### Pièges à éviter

* Croire qu'un bon backtest équivaut à une garantie de gains réels
* Tester sur une période trop courte (moins de 3 mois) ou trop favorable (marché haussier unique)
* Augmenter le levier « parce que le backtest le permet »
* Ignorer le slippage et les frais (backtest « idéalisé »)
* Modifier la stratégie après chaque mauvais backtest (curve fitting progressif)

## Prochaines étapes

Une fois que vous avez analysé votre backtest :

1. Cliquez sur **⚙ Configurer cette stratégie** (bouton visible après les résultats)
2. Confirmez vos paramètres finaux et votre levier
3. Signez la configuration avec votre wallet (EIP-712)
4. Déployez la stratégie en mode réel

Voir [Déployer une stratégie](/docs/pour-demarrer/installation-pas-a-pas/deployer-une-strategie.md) et [Signature et transparence](/docs/fonctionnement/signature-et-transparence.md).

Botlyz exécute alors les signaux sur Lighter en continu, selon votre configuration approuvée, sans jamais pouvoir retirer vos fonds.

Si vous avez des questions sur l'interprétation d'un backtest ou sur la configuration, consultez la [FAQ](/docs/securite-and-aide/faq.md) ou contactez le [support](/docs/securite-and-aide/support.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://botlyz.gitbook.io/docs/strategies/backtest.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
