Stratégie personnalisée de temps de démarrage de backtest
Aperçu
L’objectif de cette stratégie est de permettre à l’utilisateur de personnaliser l’heure de début du backtest, offrant ainsi des backtests plus flexibles et adaptés.
Principe de la stratégie
Cette stratégie utilise les fonctions time et timestamp de Pine Script pour implémenter un démarrage personnalisé du backtest.
Tout d’abord, elle permet à l’utilisateur de saisir, dans les paramètres, l’année, le mois, le jour, l’heure et la minute de début du backtest. Ensuite, elle génère un timestamp à partir de ces entrées et le stocke dans la variable startTime.
Dans la condition de la stratégie, elle ajoute une condition supplémentaire startTime. La stratégie ne s’active que lorsque le moment actuel est supérieur ou égal à startTime.
Par exemple :
pine
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition and startTime)
strategy.entry("My Long Entry Id", strategy.long)
Cela permet de réaliser un démarrage personnalisé du backtest. L’utilisateur peut configurer librement l’heure de début du backtest selon ses besoins, sans se limiter à une date codée en dur.
Analyse des avantages
Cette stratégie de démarrage personnalisé du backtest présente les avantages suivants :
-
Plus de flexibilité : l’utilisateur peut totalement personnaliser l’heure de début du backtest, sans être contraint à un moment fixe.
-
Plus réaliste : l’heure de début peut être réglée sur le moment où la stratégie serait réellement exécutée, rendant le backtest plus proche des conditions réelles du marché.
-
Facilite les backtests événementiels : l’heure de début peut être définie en fonction de la survenue d’un événement spécifique, permettant de tester la stratégie sur cet événement.
-
Ajustement aisé des conditions : il est très facile de modifier la condition de démarrage du backtest pour cibler différentes périodes.
-
Répétable et fiable : en paramétrant l’heure de début, le backtest peut être exécuté de manière reproductible pour obtenir des résultats fiables.
Analyse des risques
L’utilisation d’un démarrage personnalisé du backtest comporte également certains risques :
-
Les résultats dépendent de l’heure de début : différentes heures de début peuvent conduire à des résultats très différents.
-
Choix prudent nécessaire : une heure de début inappropriée peut fausser le backtest et ne pas refléter la réalité.
-
Augmentation du risque de surapprentissage : il est facile d’ajuster l’heure de début pour correspondre aux données historiques, ce qui accroît le risque de surajustement.
-
Comparabilité réduite : les résultats de cette stratégie sont moins comparables à ceux d’un backtest avec une heure de début fixe.
Solutions correspondantes :
-
Effectuer plusieurs backtests et évaluer l’impact des variations de l’heure de début sur les résultats.
-
Choisir le moment d’un événement majeur comme heure de début pour réduire les distorsions.
-
Ajuster l’heure de début avec précaution pour éviter de surajuster les données historiques.
-
Conserver un backtest avec heure de début fixe comme référence et le comparer avec le backtest personnalisé.
Pistes d’optimisation
Cette stratégie de démarrage personnalisé peut encore être optimisée dans les directions suivantes :
-
Personnalisation de l’heure de début et de fin : permettre de configurer entièrement la fenêtre temporelle du backtest.
-
Plusieurs modes temporels : date spécifique, date relative, événementiel, etc., pour une configuration plus intelligente et pratique.
-
Interface graphique de configuration : rendre le réglage des paramètres temporels plus intuitif.
-
Granularité temporelle différente : année, mois, jour, heure, minute, seconde, etc.
-
Enregistrement de la configuration temporelle : pour garantir la reproductibilité, la traçabilité et la comparabilité des résultats.
-
Validation des configurations aberrantes : éviter qu’une configuration temporelle inappropriée n’affecte la qualité du backtest.
-
Fonction de liaison de l’heure de début : synchroniser et copier l’heure de début d’une stratégie à plusieurs autres en un clic.
Conclusion
Cette stratégie implémente une configuration personnalisée et flexible de l’heure de début du backtest, réduisant les limites du backtest et le rapprochant des conditions réelles. Cependant, il faut rester vigilant quant à la dépendance des résultats vis-à-vis de l’heure de début, et prendre des mesures telles que des backtests multiples et une approche événementielle pour réduire les distorsions. Cette stratégie offre encore de nombreuses pistes d’optimisation pour aboutir à une configuration temporelle des backtests plus intelligente et pratique à l’avenir.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time- 1
