Monte Carlo – Simuler l'instabilité des paramètres
StrategyQuantPlugins
Simulation de Monte Carlo qui applique des variations aléatoires de paramètres (sauts de transactions et ajustements de prix) sur plusieurs backtests afin d'évaluer la robustesse de votre stratégie face aux instabilités opérationnelles réelles.
Dans les conditions réelles de trading, le marché évolue en permanence. La volatilité change, la liquidité fluctue, et le flux de données lui-même peut présenter d'infimes variations d'un tick à l'autre. Par conséquent, même une stratégie bien optimisée pourrait ne pas se comporter exactement comme prévu par un backtest, car ses paramètres clés ou les calculs de ses indicateurs peuvent subir une légère « instabilité » face aux conditions du direct. Cette simulation de Monte Carlo est conçue pour tester la résilience de votre stratégie face à ces écarts mineurs et imprévisibles par rapport à son comportement idéal en backtest.
Si nous appliquons ce test Monte Carlo, la simulation introduit deux effets potentiels sur les transactions au sein de chaque session de backtest générée :
Oscillation des conditions (entrées manquées) : En fonction de la probabilité de saut (Skip Probability), un pourcentage aléatoire de transactions est simplement supprimé du backtest. Cela simule des cas où une légère instabilité des paramètres entraîne le rejet de justesse d'une condition d'entrée qui était validée dans le backtest historique, en raison d'un scénario réel légèrement différent.
Variation du niveau de sortie (fluctuation des P/L) : Pour les transactions non ignorées, un pourcentage aléatoire supplémentaire (défini par Adjust Probability) verra son résultat final légèrement modifié. Cela se fait en ajustant le cours de clôture (Close Price) de la transaction. Le montant de la modification est calculé sous la forme d'un pourcentage aléatoire (jusqu'à concurrence du Max Price Adjust Percent) de l'écart de prix d'origine de cette transaction précise (de l'ouverture à la clôture). Point crucial : cet ajustement peut être positif ou négatif, ce qui signifie que l'effet d'instabilité peut se traduire de manière aléatoire par un cours de clôture légèrement meilleur ou légèrement pire, simulant ainsi des variations mineures sur les points d'exécution du Stop Loss, du Profit Target ou du stop suiveur.
En d'autres termes, en exécutant 500 (ou un autre nombre de) backtests de simulation appliquant chacun différents sauts aléatoires et des ajustements de prix bidirectionnels aléatoires à la liste des transactions, vous obtenez une perspective Monte Carlo sur la sensibilité des performances de votre stratégie face à de petites instabilités aléatoires dans sa propre logique d'exécution ou dans sa réaction aux données de marché.
Par exemple, exécuter 100 simulations à l'aide de ce test générera 100 courbes d'équité différentes, chacune représentant une trajectoire de résultat plausible compte tenu de ces légères variations aléatoires.
Ce test diffère considérablement de l'application d'un slippage fixe ou de la simulation de temps d'arrêt aléatoires. Il ne se contente pas de dégrader les résultats de manière constante ; il introduit une perturbation probabiliste directement liée à la sensibilité potentielle des paramètres internes de la stratégie. Une simulation peut ignorer les transactions n° 3 et n° 25, dégrader légèrement la transaction n° 10 et améliorer légèrement la transaction n° 42. Une autre simulation peut ignorer uniquement la transaction n° 15 mais appliquer des ajustements de prix plus importants (à la fois positifs et négatifs) aux transactions n° 8, n° 33 et n° 50. En évaluant la distribution des résultats sur de nombreuses simulations, vous pouvez évaluer la véritable robustesse de la stratégie face au type de variations opérationnelles subtiles souvent rencontrées en direct.
Comment importer des snippets personnalisés (comme ce test de Monte Carlo) dans SQX :
Vous me connaissez sous le nom de clonex. Je m'appelle Ivan Hudec — j'ai conçu les blocs gratuits que vous utilisez ici, et j'écris sur les recherches qui les sous-tendent sur algotrading.space. Vous avez besoin d'un développement sur mesure ? Travaillons ensemble.