02 · Espérance, drawdown et dimensionnement¶
Une espérance positive ne suffit pas. Sur un compte prop, la contrainte qui tue n'est pas la moyenne mais la trajectoire : il faut atteindre la cible avant de toucher le drawdown.
Le drawdown suiveur¶
C'est le mécanisme central des comptes prop, et le plus mal compris.
| Type | Fonctionnement |
|---|---|
| Intraday trailing | Suit le plus haut du solde en cours de journée, positions latentes incluses |
| EOD trailing | Suit le plus haut du solde à la clôture de chaque journée |
| Statique | Ne bouge pas |
Sur un compte 50 K avec 2 500 $ de drawdown suiveur intraday :
Solde 50 000 → seuil de liquidation 47 500
Solde 51 000 → seuil 48 500 (le seuil a monté avec le gain)
Solde 50 200 → seuil 48 500 (le seuil ne redescend jamais)
Solde 48 400 → LIQUIDÉ
Le drawdown intraday compte le P&L latent
Une position qui monte à +800 $ puis revient à 0 déplace le seuil de 800 $ vers le haut. Vous n'avez rien gagné et vous avez perdu 800 $ de marge de survie.
Conséquence directe pour la conception du bot : prendre le profit partiellement tôt n'est pas seulement une préférence de style, c'est un moyen de convertir du P&L latent — qui déplace le seuil — en P&L réalisé qui le déplace tout autant, mais avec la certitude de l'avoir encaissé.
Le drawdown EOD est nettement plus favorable à un bot : il ignore les excursions intrajournalières. Sur MyFundedFutures, il est de 3 % du solde initial et se verrouille dès que le compte atteint 100 $ au-dessus du solde de départ (PropNavi).
Le risque de ruine¶
Pour une stratégie à gain \(g\) et perte \(l\) par trade avec probabilité \(w\), la probabilité de toucher un drawdown \(D\) avant d'atteindre une cible \(T\) suit une marche aléatoire avec deux barrières absorbantes.
Le modèle exact étant lourd, une simulation directe est plus lisible et plus honnête :
def simulate(win_rate, tp_ticks, sl_ticks, tick_value, rt_cost, contracts,
trades_per_day, days, trailing_dd, target, slippage_ticks=0.5,
seed=0, runs=20000):
"""Proportion de comptes qui atteignent la cible avant le drawdown."""
rng = random.Random(seed)
friction = rt_cost + slippage_ticks * tick_value
win = tp_ticks * tick_value - friction
loss = -sl_ticks * tick_value - friction
passed = blown = 0
for _ in range(runs):
equity = peak = 0.0
for _ in range(days * trades_per_day):
equity += (win if rng.random() < win_rate else loss) * contracts
peak = max(peak, equity)
if equity <= peak - trailing_dd:
blown += 1
break
if equity >= target:
passed += 1
break
return passed / runs, blown / runs
Résultats¶
Évaluation 50 K, cible 3 000 $, drawdown suiveur 2 500 $, MES en 12/6, 10 contrats, 6 trades par jour, 40 séances :
| Taux de réussite | Évaluation passée | Compte grillé | Toujours en cours |
|---|---|---|---|
| 45 % | 45,8 % | 3,5 % | 50,7 % |
| 48 % | 78,9 % | 0,7 % | 20,4 % |
| 50 % | 92,3 % | 0,2 % | 7,4 % |
| 55 % | 99,8 % | 0,0 % | 0,2 % |
Ces chiffres sont trop optimistes, et il faut savoir pourquoi
La simulation suppose des trades indépendants et identiquement distribués. La réalité viole cette hypothèse de trois façons, toutes défavorables :
- Les pertes se regroupent. Un changement de régime produit des séries de pertes corrélées. Le drawdown maximal réel est significativement supérieur à celui d'une marche aléatoire de même espérance.
- Le taux de réussite n'est pas constant. Il varie selon le régime, et il est plus bas précisément quand vous en avez le plus besoin.
- Le slippage augmente en volatilité, donc au moment des séries de pertes.
Traitez la colonne « compte grillé » comme un plancher, pas comme une estimation. En pratique, elle est probablement 3 à 5 fois plus élevée.
Une simulation plus honnête utiliserait un modèle à changement de régime, calibré sur vos propres données. Elle est hors du périmètre de ce rapport, mais c'est le raffinement le plus utile à ajouter une fois la stratégie validée.
Le dimensionnement optimal¶
Ce qu'il ne faut pas faire¶
Le critère de Kelly maximise la croissance logarithmique du capital :
Pour \(w = 0{,}48\) et \(b = 2\) : \(f^{*} = 0{,}22\), soit 22 % du capital par trade.
Kelly est inapplicable en compte prop
Trois raisons, chacune suffisante :
- Kelly maximise la croissance asymptotique en supposant que l'on ne peut jamais être ruiné (on parie une fraction). Un compte prop a une barrière absorbante : sous le seuil, tout s'arrête.
- Kelly suppose \(w\) connu. Une erreur de 5 points sur \(w\) change \(f^{*}\) du simple au double, dans le mauvais sens.
- Le drawdown intermédiaire d'une stratégie à pleine fraction Kelly est de l'ordre de 50 % — bien au-delà de ce que tolère un compte prop.
Utilisez au plus un quart de Kelly, et bornez par une règle de risque fixe.
La règle pratique¶
avec \(r \in [0{,}005 ; 0{,}015]\).
Exemple, compte 50 K, drawdown disponible 2 500 $, stop 6 ticks, MES :
| \(r\) | Risque par trade | Contrats | Trades avant liquidation |
|---|---|---|---|
| 0,5 % | 12,50 $ | 1 | 200 |
| 1,0 % | 25,00 $ | 3 | 66 |
| 1,5 % | 37,50 $ | 5 | 40 |
| 3,0 % | 75,00 $ | 10 | 20 |
Vingt trades perdants consécutifs ne sont pas improbables
À 48 % de réussite, la probabilité d'observer au moins une série de 20 pertes consécutives sur 500 trades est faible mais non négligeable. À 3 % de risque par trade, une telle série liquide le compte.
À 1 %, il faut 66 pertes consécutives : cela n'arrive pas.
Le dimensionnement à 3 % transforme une stratégie profitable en pari sur l'absence de mauvaise série. C'est l'erreur qui explique la majorité des comptes prop grillés par des stratégies pourtant correctes.
La contrainte de délai¶
Certaines firmes imposent un nombre minimal de jours de trading, ou une durée maximale d'évaluation. Cela crée une tension :
- petite taille → survie assurée, mais cible peut-être hors de portée dans le délai ;
- grande taille → cible atteinte vite, mais risque de liquidation élevé.
La résolution : plusieurs comptes, petite taille
Plutôt qu'un compte à 3 % de risque, deux comptes à 1 %. La probabilité qu'au moins un des deux passe est supérieure à celle du compte unique agressif, pour un coût en évaluations comparable — parce que la probabilité de liquidation est massivement plus faible sur chacun.
Cela n'est valable que si les comptes sont indépendants dans le temps, c'est-à-dire tradés à des périodes différentes ou avec des variantes de stratégie. Deux comptes tradant le même signal simultanément sont un seul compte de taille double.
Le calcul du plafond de consistance¶
Rappel de la formule du chapitre Règles des prop firms :
Exemple avec \(c = 0{,}5\) et un objectif de 3 000 $ :
| Jour | Profit cumulé avant | Plafond du jour |
|---|---|---|
| 1 | 0 $ | contrainte critique |
| 2 | 500 $ | 500 $ |
| 5 | 1 500 $ | 1 500 $ |
| 10 | 2 500 $ | 2 500 $ |
Le premier jour est piégé
Avec un profit cumulé nul, le plafond calculé est nul. En pratique, les firmes appliquent la règle au moment de la demande de versement, sur l'ensemble du cycle. Mais un premier jour à +2 000 $ sur un objectif de 3 000 $ rend le cycle structurellement non conforme : il faudra générer 2 000 $ de plus, répartis, avant de pouvoir demander un versement.
Un bot doit donc s'auto-limiter dès le premier jour à une fraction modeste de l'objectif total — typiquement 20 à 25 %.
Résumé¶
- Le drawdown suiveur intraday compte le P&L latent : il monte avec vos gains et ne redescend jamais.
- La simulation IID sous-estime le risque de liquidation d'un facteur 3 à 5.
- Kelly est inapplicable : barrière absorbante, paramètres incertains, drawdown excessif.
- Risque de 0,5 à 1,5 % du drawdown disponible par trade, jamais 3 %.
- Deux comptes à 1 % battent un compte à 3 %.
- Le bot doit s'auto-limiter dès le premier jour à cause de la règle de consistance.
Chapitre précédent : Le modèle de coûts · Chapitre suivant : Scénarios de profit