Dans cet article
Après cet article, vous saurez…
- Distinguer permutation, tirage avec remise et distribution paramétrique.
- Inclure capital initial, frais et arrêt après chaque pas.
- Interpréter un quantile conditionnel sans le transformer en garantie de perte.
Les notions sans quitter l’article
Backtest : test historique d’une règle Drawdown : baisse depuis un sommet Plan de trading Espérance de résultatUn backtest présente un chemin réalisé sous ses hypothèses ; une simulation explore des chemins produits par un modèle choisi. L’ordre, le tirage, les coûts et la taille peuvent modifier le drawdown. Avant de lancer des milliers de scénarios, construisez un parcours calculable à la main et dites ce que signifie un arrêt de l’essai.
Permutation, remise et modèle paramétrique
Une permutation d’une liste de résultats monétaires fixes garde ses valeurs et sa somme. Un tirage avec remise peut répéter ou omettre une valeur, donc changer le total. Un modèle paramétrique produit des issues à partir de probabilités et montants stipulés. Déclarez lequel vous utilisez ; l’étiquette Simulation de Monte-Carlo ne définit pas la distribution.
Source : capital initial 1 000 unités, résultats +200, −100, −100. Parcours 1 000→1 200→1 100→1 000 ; drawdown maximal 200/1 200≈16,67 %. Ordre −100, −100, +200 : 1 000→900→800→1 000, drawdown 20 %. Le départ est un sommet possible : l’omettre sous-estimerait le second chemin. Les deux finissent pourtant au même montant.
Un arrêt peut changer le résultat final d’une permutation
Autre modèle source USD : +300, −150, −150, somme zéro ; départ 1 000 et contrôle après chaque résultat entier, arrêt si capital ≤850. A monte 1 300, revient 1 150 puis 1 000. B commence par −150, atteint 850 et s’arrête : les deux autres résultats ne sont pas exécutés. Ajouter toute la liste après cet arrêt modéliserait une autre règle.
La liste tirée n’est pas la liste exécutée
Faites défiler horizontalement ou agrandissez le schéma pour lire les détails.
Quelles distributions veut-on décrire ?
Calculez drawdown maximal sur chaque chemin complet, puis les quantiles de ces maxima. Une bande de quantiles du capital à chaque rang n’est pas elle-même un chemin exécuté. Pour une perte représentée positivement, la queue défavorable utilise par exemple le 95 e centile du drawdown ; pour le capital final, on regarde plutôt les faibles centiles. Convention de quantile et interpolation influencent une distribution discrète.
Modèle théorique source : 200 trades indépendants, probabilité de gain 0,55, gains fixes 100 EUR, pertes fixes 80 EUR. Moyenne par trade 0,55 × 100−0,45 × 80=19 EUR, total moyen 3 800. Si K compte les gains, profit terminal 180 K−16 000. Avec quantile défini par le plus petit K dont la probabilité cumulée atteint le seuil, profits aux centiles 1/5/50/95 : 920/1 640/3 800/5 960 EUR. Ce sont des valeurs de distribution calculées, pas les résultats revendiqués d’une expérience ou d’un compte réel.
Un tableur avec état initial conservé
Exercice Excel en français, selon séparateur de liste configuré : A 1=0,55 ; A 2=100 ; A 3=−80 ; A 4=10000. C 1 contient =$A$4, D1 =C1, E 1 zéro. La première ligne n’est pas un trade. En B 2 : =SI(ALEA()<$A$1;$A$2;$A$3) ; C 2 =C1+B2 ; D 2 =MAX(D1;C2) ; E 2 =(D2-C2)/D2. Copiez B 2:E 2 jusqu’à la ligne 201 pour exactement 200 trades.
Dans Excel anglais, les équivalents sont =IF(RAND()<$A$1,$A$2,$A$3) et =MAX(D1,C2). Les références $A$ restent fixes. C 201 est le capital final, =MAX(E1:E201) le drawdown maximal du chemin. Pour un autre essai, copiez tout le bloc et son état initial. Cet horizon de 200 trades n’est pas automatiquement une année.
Sur la liste des maxima de drawdown, =CENTILE.INCLURE(plage;0,95), ou =PERCENTILE.INC(range,0.95) en anglais, peut interpoler. Un faible centile du capital répond à une autre question. ALEA recalcule : sauvegardez les valeurs tirées et les hypothèses pour répéter exactement l’étude. Rien dans ces formules ne définit encore marge minimale, insolvabilité ou arrêt de stratégie.
Bootstrap Python et comparaison contrôlée
Sur une histoire non vide de résultats monétaires nets, rng.choice(history, size=200, replace=True) tire avec remise. Incluez le capital initial : equity = np.concatenate(([initial_capital], initial_capital + np.cumsum(new_sequence))). Calculez sommets courants et drawdowns avant d’agréger. Archivez données, graine, versions, horizon, frais, taille et arrêts. Plus de chemins réduit le bruit du calcul, pas l’incertitude sur les régimes absents de l’histoire.
Comparaison source à tirage uniforme U : issue +1 si U<p, sinon −1, seuils hypothétiques A=0,55 et B=0,60. Espérances 0,10 et 0,20 ; différence moyenne 0,10. Avec le même U, différence B−A=+2 uniquement pour 0,55≤U< 0,60, sinon zéro : variance 4 × 0,05−0,10²=0,19. Tirages indépendants : variances 0,99+0,96=1,95. Le partage réduit le bruit de cette comparaison précise, sans valider les probabilités de marché ni garantir une réduction pour toute stratégie.
Rééchantillonner des trades individuels casse leur ordre et les grappes de pertes. Des blocs ou scénarios de stress peuvent répondre à d’autres hypothèses, mais une histoire limitée ne révèle pas toutes les queues futures. Résultats fixes en monnaie et budgets recalculés sur fonds propres sont deux règles de taille différentes ; mélangez-les seulement avec une justification explicite.
Limites et coûts au voisinage d’un seuil
Cas EUR indépendant : mêmes montants de prix +300, −150, −150, départ 1 000 et arrêt ≤850, mais frais supplémentaires 5 EUR après chaque trade exécuté. A fait 1 295→1 140→985 ; B fait 845 puis s’arrête. Oublier les frais changerait à la fois le résultat final et le niveau exact de franchissement. Le contrôle reste après le pas entier : il n’invente pas une liquidation intratrade exactement à 850.
La règle agit sur le capital net après le pas, pas sur une liste brute.
- Ordre favorable
- 1 295→1 140→985 EUR – Trois pas exécutés.
- Perte d’abord
- 845 EUR, arrêt – −150−5 au premier pas.
- À conserver
- Tirés / exécutés – Deux listes distinctes.
La méthode Monte-Carlo n’exige pas toujours indépendance ou distribution stable : ce sont les hypothèses du modèle simple, à remplacer et vérifier si nécessaire. Rééchantillonner n’invente pas un choc jamais observé. Dans le modèle idéal où chaque perte enlève exactement 5 % du capital actuel, après n pertes il reste capital initial× 0,95ⁿ, positif pour n fini ; seuil pratique, minimum de marge ou perte plus grande changent cette conclusion.
Un quantile simulé n’est ni plafond garanti ni plancher prouvé du risque réel. Walk-forward : fenêtres, labels disponibles et égalités peut organiser des périodes successives de développement et évaluation ; il ne rend pas à nouveau inconnues des données déjà consultées. Aucun percentile ou nombre de simulations n’autorise automatiquement un déploiement.
Protocole de première utilisation
- Définissez histoire, unités, coûts, couverture et taille ; ne tradez pas seulement pour atteindre cent observations.
- Reproduisez les chemins de trois résultats à la main, seuil compris, puis vérifiez le programme sur ces cas.
- Enregistrez un jeu de tirages et son état initial avant d’en produire d’autres ; séparez erreur de calcul et adéquation du modèle.
- Inspectez la queue défavorable, les cas manquants et les variantes essayées. Toute modification de l’histoire, des coûts ou de la taille demande une nouvelle comparaison définie.
Une médiane plus faible n’identifie pas à elle seule une détérioration causale de la stratégie. MAE et MFE : mesurer le chemin sans inventer une meilleure sortie aide à vérifier les mesures d’origine ; conservez ces contrôles séparément des distributions générées.
Vérifiez vos acquis
Environ 2 minutes de pratique.
Voir la réponse et l’explication
Le premier −150 atteint le seuil ; la suite n’est pas exécutée.
Autres questions
Que change le tirage avec remise ?
Une valeur peut apparaître plusieurs fois et une autre être absente ; le total peut changer. Une simple permutation conserve toutes les valeurs, mais une règle d’arrêt peut empêcher leur exécution complète.
Comment initialiser correctement le tableur ?
Gardez l’état avant trade en ligne 1 ; copiez les 200 résultats en lignes 2 à 201 et incluez le capital initial dans les sommets. Adaptez noms de fonctions et séparateurs, puis archivez les tirages avant recalcul.
Plus de chemins crée-t-il une meilleure histoire de marché ?
Non. Cela réduit surtout le bruit numérique sous le même modèle. Les régimes absents et dépendances cassées restent des limites ; une autre hypothèse exige son évaluation propre.
Quel centile regarder pour les pertes ?
Déclarez le signe. Pour drawdowns positifs, la queue élevée, par exemple 95 %, est défavorable ; pour capital final, la queue faible l’est. Le quantile dépend de la convention et ne garantit pas le risque futur.
Sources et vérification
- Python — random.shuffle
Permutation d’une séquence ; règle d’arrêt de nos exemples séparée.
- NumPy — Generator.choice
Paramètre replace et échantillonnage ; aucun historique réel simulé ici.
- Microsoft — CENTILE.INCLURE
Nom français, bornes et interpolation ; syntaxe à adapter au séparateur configuré.
- Microsoft — fonctions modifiées
Référence du nom ALEA ; aucun classeur natif exécuté.
- SciPy — bootstrap
Description du rééchantillonnage avec remise et limites conditionnelles ; notre binomiale est un calcul exact séparé.
Les calculs reposent sur des hypothèses explicites. Ils ne remplacent ni les données actuelles du marché ni les conditions de l’intermédiaire.
