1. 8. 2025

5 2

Monte Carlo - Randomisation par blocs MACHR

Dans le monde réel du trading, les conditions du marché ne suivent pas une séquence prévisible. Les marchés haussiers, les marchés baissiers, les périodes de forte volatilité et les phases de consolidation peuvent se produire dans des ordres très différents selon les périodes ou les instruments. Une stratégie qui donne de bons résultats dans une séquence particulière de régimes de marché peut se révéler difficile si ces mêmes régimes apparaissent dans un ordre différent. Cette simulation de Monte Carlo est spécialement conçue pour tester la robustesse de votre stratégie face aux changements dans l'ordre des marchés. la succession des régimes de marchésans détruire les caractéristiques internes qui définissent chaque période de régime.

Le test MACHR (Market Condition Historical Randomization) Block Randomization répond à une question fondamentale : "Que se passerait-il si les mêmes conditions de marché se produisaient, mais dans un ordre différent ?

Lorsque nous appliquons ce test de Monte Carlo, la simulation introduit une forme sophistiquée de randomisation qui opère sur les éléments suivants blocs de transactions consécutives plutôt qu'à des échanges individuels :

  1. Création de blocs : La séquence de transactions originale est divisée en blocs de transactions consécutives (5 transactions par bloc par défaut, configurable de 2 à 50). Chaque bloc représente une période cohérente du comportement du marché, préservant les relations internes entre les transactions qui se sont produites dans des conditions de marché similaires.
  2. Échantillonnage par blocs Bootstrap : Au lieu de simplement mélanger les transactions individuelles, la simulation utilise l'échantillonnage bootstrap pour sélectionner aléatoirement des blocs avec remplacement. Cela signifie que certaines périodes de régime de marché (blocs) peuvent apparaître plusieurs fois dans une simulation, tandis que d'autres peuvent ne pas apparaître du tout - imitant ainsi la façon dont certaines conditions de marché peuvent dominer certaines périodes tout en étant absentes dans d'autres.
  3. Préservation de la structure du régime : Au sein de chaque bloc sélectionné, la séquence d'opérations et les relations temporelles d'origine sont maintenues. Cela permet de préserver la microstructure authentique du marché, les relations d'entrée/sortie et les modèles de comportement spécifiques au régime qui définissent les performances réelles de votre stratégie dans ces conditions.
  4. Reconstruction de l'horodatage : Après la randomisation des blocs, la simulation reconstruit éventuellement les horodatages chronologiques pour maintenir un calcul correct de la courbe d'équité et des mesures de performance, en veillant à ce que la séquence randomisée apparaisse comme un historique alternatif plausible du marché.

Par exemple, imaginez que votre backtest initial contienne les blocs de transactions suivants :

  • Bloc 1 : 5 transactions au cours d'un marché haussier en tendance
  • Bloc 2 : 5 transactions pendant une consolidation à forte volatilité
  • Bloc 3 : 5 transactions lors d'un marché baissier
  • Bloc 4 : 5 transactions lors d'une reprise à faible volatilité

Une simulation peut s'amorcer de la manière suivante : Bloc 2 → Bloc 1 → Bloc 2 → Bloc 4, créant un scénario où les périodes de volatilité dominent, les phases de tendance sont réduites et les marchés baissiers sont totalement absents. Une autre simulation pourrait générer : Bloc 3 → Bloc 3 → Bloc 1 → Bloc 4, créant un scénario de marché baissier suivi d'une reprise.

Ce test diffère fondamentalement des tests de randomisation des transactions individuelles ou de gigue des paramètres. Plutôt que de tester la sensibilité aux variations d'exécution ou à l'instabilité des paramètres, MACHR Block Randomization évalue spécifiquement dépendance de la séquence de régime. Elle permet de déterminer si le succès de votre stratégie est dû à une séquence heureuse de conditions de marché, ou si elle resterait valable pour différents arrangements plausibles des mêmes régimes de marché.

En effectuant plus de 500 simulations, vous générez une distribution des résultats de performance qui reflète la façon dont votre stratégie pourrait se comporter à travers différents "historiques de marché" possibles - chacun contenant les mêmes types de conditions de marché mais dans des séquences remaniées. Cela permet de savoir si l'avantage de votre stratégie est réellement indépendant du régime ou s'il repose sur des séquences spécifiques de conditions de marché qui pourraient ne pas se répéter à l'avenir.

Une stratégie qui affiche des performances constantes dans toutes les simulations MACHR démontre une véritable robustesse au régime. À l'inverse, une variance élevée dans les résultats des simulations suggère que la stratégie peut être trop dépendante de la séquence historique particulière des régimes de marché dans vos données de backtest.

Comment importer des extraits personnalisés (comme ce test de Monte Carlo) dans SQX : https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/

Vous me connaissez sous le nom de clonex. Je m'appelle Ivan Hudec. C'est moi qui ai créé les blocs gratuits que vous utilisez ici, et je parle des travaux de recherche qui les sous-tendent sur algotrading.space. Vous avez besoin d'un projet sur mesure ? Venez travailler avec moi.
2 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Pepe
4. 8. 2025 2:31 pm

Super !!!

Patrick Vale
6. 9. 2025 7:26 pm

Je ne peux pas télécharger le fichier. Seul le texte s'affiche dans le navigateur Google Chrome.