Stratégie adaptative de sélection de la période de backtest basée sur la superposition de deux moyennes mobiles
Aperçu
L'idée centrale de cette stratégie est de réaliser un cadre flexible permettant de choisir la période de backtesting, afin que l'utilisateur puisse définir automatiquement ou manuellement les dates de début et de fin du backtesting en fonction de différents besoins.
La stratégie offre quatre modes de sélection de plage de dates via les paramètres d'entrée : utiliser toutes les données historiques, un nombre de jours spécifié récent, un nombre de semaines spécifié récent, ou une plage de dates définie manuellement. La stratégie définit dynamiquement la fenêtre de backtesting en fonction de la plage choisie, tandis que la logique de trading reste inchangée, permettant ainsi de comparer les performances de la stratégie sur différentes fenêtres temporelles.
Principe de la stratégie
Cette stratégie se compose d'un module de sélection de la plage de dates de backtesting et d'un module de stratégie de trading à double moyenne mobile (MA).
Module de sélection de la plage de dates de backtesting
- Quatre modes de sélection de plage de dates sont proposés : toutes les données historiques (ALL), un nombre de jours spécifié récent (DAYS), un nombre de semaines spécifié récent (WEEKS), et une plage de dates définie manuellement (MANUAL).
- En fonction de la plage choisie, les dates de début et de fin du backtesting sont définies dynamiquement via une conversion de timestamp.
- Les bougies sont filtrées à l'aide de la fonction de condition temporelle
window()et le backtesting n'est effectué que dans la plage de dates sélectionnée.
Module de stratégie de trading à double MA
- La période de la MA rapide est
fastMA, par défaut 14 ; la période de la MA lente estslowMA, par défaut 28. - Lorsque la MA rapide croise au-dessus de la MA lente, on achète (long) ; lorsque la MA rapide croise en dessous de la MA lente, on clôture la position.
- Les courbes des MA rapide et lente sont tracées.
Analyse des avantages de la stratégie
- Possibilité de choisir librement différentes plages de temps de backtesting, sans limitation, répondant à divers besoins expérimentaux.
- Permet de tester l'effet de différents paramètres de période dans la même plage temporelle, les résultats étant comparables.
- Modification simple de la logique de trading, pouvant servir de cadre pour d'autres stratégies.
- La stratégie à double MA est simple à comprendre et facile à prendre en main.
Analyse des risques et solutions
- La stratégie à double MA est relativement basique et souffre d'un problème de fréquence d'achat/vente élevée. On peut envisager d'ajouter des mécanismes de stop-loss pour l'optimiser.
- La définition manuelle de la plage de dates nécessite de la prudence pour éviter d'utiliser des dates incorrectes. Il est possible d'afficher des messages d'alerte.
- Un backtesting sur l'ensemble de l'historique trop long peut augmenter la durée des tests. On peut envisager d'ajouter un slippage ou des frais pour réduire les transactions fréquentes.
Pistes d'optimisation de la stratégie
- Ajouter une logique de stop-loss pour réduire le risque de perte.
- Intégrer un filtre de pool d'actions, en sélectionnant les actions fortement corrélées à l'indice pour améliorer la stabilité.
- Ajouter un filtre de signaux de trading pour éliminer les signaux instables sur une certaine période, réduisant ainsi les transactions inutiles.
- Tester les performances sur des actions liées à différents indices de classification afin de trouver le meilleur instrument.
Résumé
Cette stratégie, en tant que cadre générique de plage de dates de backtesting, présente l'avantage d'être flexible et personnalisable, répondant aux différents besoins de test des utilisateurs. Associée à une logique de trading à double MA simple et efficace, elle permet de valider et de comparer rapidement les stratégies. Par la suite, des optimisations telles que l'ajout de filtres, de stop-loss, etc., peuvent la rapprocher encore d'une application en trading réel. Globalement, ce cadre stratégique offre une bonne extensibilité et une valeur de référence intéressante.
- 1

