Outil d'analyse et d'optimisation de stratégie de backtesting d'investissement à durée déterminée multifréquence

DCA ROI BACKTEST Overlay
Date de création: 2025-04-30 13:39:48 Dernière modification: 2025-04-30 13:39:48
Copier: 0 Nombre de clics: 566
2
Suivre
319
Abonnés

Outil d’analyse et d’optimisation de stratégie de backtesting d’investissement à durée déterminée multifréquence Outil d’analyse et d’optimisation de stratégie de backtesting d’investissement à durée déterminée multifréquence

Aperçu

L’outil d’analyse et d’optimisation de la stratégie de rétrogradation multiphasée est un puissant outil de test de stratégie conçu spécialement pour les traders quantifiés. Il est principalement utilisé pour tester et optimiser l’efficacité de la stratégie de rétrogradation sous différentes fréquences de placement, différents montants d’investissement. La stratégie permet à l’utilisateur de choisir de manière flexible la fréquence de placement (quotidienne, hebdomadaire ou mensuelle), le montant d’investissement et la période.

Principe de stratégie

Le principe de base de la stratégie de projection de rétroaction multiphase est un mécanisme de projection automatisé basé sur le temps. La stratégie est principalement réalisée par les étapes clés suivantes:

  1. Réglage de la fréquence: la stratégie offre trois options de fréquence de fixation ((journalière, hebdomadaire, mensuelle) et détermine si le point de temps actuel est conforme aux conditions de fixation par la fonction should_dca ((). La fréquence quotidienne est exécutée chaque jour de négociation; La fréquence hebdomadaire est exécutée le lundi de chaque semaine; La fréquence mensuelle est exécutée à la date mensuelle spécifiée par l’utilisateur.

  2. Filtrage temporel: la stratégie effectue des projections seulement dans la plage de temps définie par l’utilisateur ((start_date à end_date) pour assurer un contrôle précis de la période de rétroaction.

  3. Gestion des positions: à chaque investissement, le système calcule le nombre d’achats en fonction du prix actuel et du montant fixe de l’investissement (shares_bought = investment_amount / close), en utilisant une méthode d’investissement selon le nombre de variations du montant fixe.

  4. Suivi des données: la stratégie permet de suivre en temps réel le montant total des investissements, le montant total des participations et le coût moyen en maintenant trois variables clés (total_invested, total_shares et avg_price) afin de fournir un support de données pour les décisions d’investissement.

  5. Calcul des bénéfices: la stratégie permet de calculer en temps réel la valeur marchande actuelle (current_value = total_shares * close), le bénéfice non réalisé (unrealized_profit = current_value - total_invested) et le taux de rendement de l’investissement (roi_percent = unrealized_profit / total_invested * 100), et d’afficher visuellement l’efficacité de l’investissement.

  6. Visualisation: La stratégie consiste à tracer une ligne de prix moyenne à l’aide de la fonction plot et à utiliser des tableaux pour afficher les indicateurs clés de l’investissement, y compris le montant total de l’investissement, le nombre de positions, le prix moyen, la valeur marchande actuelle et les pertes et pertes.

Avantages stratégiques

Les stratégies de rétro-analyse de projection fixe à fréquence multiple présentent les avantages notables suivants:

  1. Haute flexibilité: la stratégie permet aux utilisateurs de personnaliser la fréquence de placement (quotidienne / hebdomadaire / mensuelle), le montant et la durée de l’investissement, pour répondre aux besoins personnalisés de différents investisseurs et s’adapter à divers environnements de marché et objectifs d’investissement.

  2. Automatisation de l’exécution: la stratégie juge automatiquement les conditions d’exécution via la fonction should_dca (), sans intervention humaine, réduit l’influence des facteurs émotionnels sur les décisions d’investissement et garantit la cohérence de l’exécution de la stratégie.

  3. Gestion précise des fonds: la stratégie consiste à investir des montants fixes, en contrôlant précisément le montant de chaque investissement, ce qui permet aux investisseurs de planifier rigoureusement leurs fonds et de contrôler leurs risques.

  4. Le suivi complet des données: la stratégie maintient et met à jour en temps réel les indicateurs clés de l’investissement, y compris le montant total de l’investissement, la part détenue, le coût moyen, la valeur marchande actuelle et le taux de rendement, afin de fournir aux investisseurs une évaluation complète de la situation de leur investissement.

  5. Retour visuel intuitif: grâce à la représentation d’une ligne de prix moyenne et à des tableaux de données mis à jour en temps réel, les investisseurs peuvent visualiser l’effet de la mise en œuvre d’une stratégie d’investissement, en particulier le rapport entre le coût moyen et le prix actuel, ce qui contribue à la compréhension de l’effet de l’équilibrage des valeurs.

  6. Compatibilité élevée: la stratégie est conçue en tenant compte des différentes périodes de temps et de l’applicabilité des différentes catégories d’actifs. Les produits financiers tels que les actions, les ETF et les crypto-monnaies peuvent être analysés par la stratégie.

Risque stratégique

Malgré les avantages de la stratégie de retransmission à intervalles multiples, les risques potentiels sont les suivants:

  1. La déviance des données historiques: la réévaluation stratégique est basée sur des données historiques, et il existe un risque de “ déviance des survivants “, c’est-à-dire que les résultats de la réévaluation peuvent être trop optimistes et ne reflètent pas pleinement la performance future du marché. La solution consiste à effectuer des réévaluations dans des environnements multi-périodes et multi-marchés, pour améliorer la diversité de l’échantillon.

  2. Sensitivité des paramètres: la fréquence et le montant des placements peuvent produire des résultats très différents. Il existe un risque de suradaptation. Une analyse de la sensibilité des paramètres est recommandée pour tester l’impact des variations des paramètres sur la performance de la stratégie.

  3. Insuffisante prise en compte de la liquidité: les stratégies actuelles ne tiennent pas compte de la liquidité du marché et peuvent ne pas être en mesure d’exécuter les transactions au prix attendu sur les actifs à faible liquidité. Le filtrage des conditions de liquidité doit être augmenté ou la simulation des points de glissement doit être configurée pour les marchés à faible liquidité.

  4. Le coût de transaction est négligé: la stratégie ne tient pas compte des facteurs de coût tels que les frais de transaction, les taxes, etc., ce qui peut entraîner un écart entre les résultats de la rétroanalyse et la situation réelle. Il est recommandé d’ajouter un module de calcul du coût de transaction pour simuler plus réellement l’environnement d’investissement.

  5. Risque de stratégie unique: les stratégies de placement purement fixe manquent d’adaptation au marché et peuvent faire face à des retraits plus importants dans un marché baissier à long terme. Considérez la combinaison d’indicateurs techniques ou fondamentaux pour augmenter l’adaptation au marché de la stratégie.

  6. Problème d’efficacité des fonds: le placement à fréquence fixe peut ne pas tirer pleinement parti des faiblesses du marché, ce qui entraîne une inefficacité de l’utilisation des fonds. Il peut être envisagé d’augmenter le déclencheur de conditions de prix et d’augmenter le montant de l’investissement en cas de chute importante des prix.

Orientation de l’optimisation de la stratégie

Sur la base d’une analyse approfondie de la stratégie actuelle, voici quelques pistes d’amélioration potentielles:

  1. Le montant de l’investissement dynamique: les stratégies actuelles utilisent un montant fixe d’investissement, qui peut être optimisé pour des stratégies d’investissement dynamiques basées sur la volatilité du marché, telles que l’augmentation du montant de l’investissement lorsque le marché baisse fortement et la réduction du montant de l’investissement lorsque le marché augmente, afin de mieux exploiter les fluctuations du marché. Cette approche permet d’améliorer l’efficacité de l’utilisation des fonds et de capturer plus d’opportunités de vente à bas prix.

  2. Trigger composé multi-indicateurs: ajouter des conditions de déclenchement d’indicateurs techniques sur la base d’un déclenchement temporel, par exemple en combinaison avec des indicateurs tels que l’indice de force relative (RSI) et les moyennes mobiles, pour augmenter l’effort d’investissement lorsque les indicateurs techniques montrent des surventes. Cela améliore l’adaptabilité du marché à la stratégie et évite de continuer à acheter dans des zones clairement surévaluées.

  3. L’intégration des mécanismes de coupe des pertes: les stratégies actuelles manquent de mécanismes de contrôle des risques et peuvent ajouter des fonctionnalités de coupe des pertes basées sur la marge de rétractation ou le montant des pertes absolues, afin de prévenir les pertes persistantes dans des environnements de marché extrêmes.

  4. Fonctionnalités de diversification: stratégie de diversification pour soutenir le placement simultané de plusieurs actifs, permettant un rééquilibrage automatique du portefeuille. Cette approche peut réduire le risque d’un seul actif et améliorer la stabilité du portefeuille global.

  5. Conception de la stratégie de sortie: les stratégies actuelles se concentrent sur les décisions d’achat et manquent de mécanismes de sortie clairs. Les conditions de sortie peuvent être augmentées en fonction du taux de rendement cible, de la durée de détention ou des changements fondamentaux, ce qui améliore la gestion du cycle de vie de la stratégie.

  6. Simulation des coûts de transaction: ajouter des frais de transaction, des calculs de points de glissement et des frais de taxes pour rendre les résultats de la rétroanalyse plus proches de l’environnement de transaction réel. Ceci est essentiel pour évaluer la performance de la stratégie sur le marché réel.

  7. Augmentation de la visualisation des données: l’ajout de plus de graphiques et d’indicateurs, tels que la courbe de retour sur investissement avec le temps, l’analyse comparative des différentes fréquences, aide les utilisateurs à mieux comprendre la performance de la stratégie. Cela améliore non seulement la disponibilité de la stratégie, mais aide également les utilisateurs à prendre des décisions d’investissement plus éclairées.

Résumer

Les outils d’analyse et d’optimisation des stratégies de fiducie multiphasée fournissent un cadre complet et flexible pour tester et évaluer la performance de différentes stratégies de fiducie dans divers environnements de marché. En permettant aux utilisateurs de personnaliser la fréquence, le montant et la durée de leurs investissements, la stratégie peut s’adapter à divers styles et objectifs d’investissement.

Les principaux avantages de cette stratégie résident dans sa logique d’exécution simple et puissante, son mécanisme d’évaluation automatisé et sa fonctionnalité complète de suivi et de visualisation des données. Malgré les risques potentiels tels que les variations historiques des données et la sensibilité des paramètres, ces risques peuvent être efficacement atténués par la direction d’optimisation recommandée.

L’introduction de montants d’investissement dynamiques, d’optimisations telles que des mécanismes de déclenchement et d’arrêt complexes multi-indicateurs peut améliorer encore son adaptabilité et son efficacité. En particulier, la fonctionnalité d’investissement décentralisé et la conception d’une stratégie de sortie améliorée en feront un outil d’aide aux décisions d’investissement plus complet.

Pour les investisseurs à long terme, cette stratégie offre non seulement une approche d’investissement systématisée, mais aussi une philosophie d’investissement qui aide les investisseurs à comprendre et à adhérer à l’équilibrage des valeurs grâce à une présentation intuitive des données. Que ce soit pour les traders quantifiés expérimentés ou pour les débutants dans leur parcours d’investissement, cet outil stratégique peut fournir des informations précieuses et un soutien pratique à la décision.

Code source de la stratégie
/*backtest
start: 2024-04-30 00:00:00
end: 2025-04-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("DCA Strategy Tester", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding = 999999)

// Strategy Parameters
dca_interval = input.string("Monthly", "DCA Frequency", options=["Daily", "Weekly", "Monthly"])
investment_amount = input.float(1000, "Investment Amount", minval=1)
monthly_dca_day = input.int(4, "Monthly DCA Day", minval=1, maxval=31, tooltip="Day of the month to perform DCA when using Monthly frequency")

// Function to determine if we should execute DCA today
should_dca() =>
    result = false
    
    if dca_interval == "Daily"
        result := true
    else if dca_interval == "Weekly" and dayofweek == 1  // Monday
        result := true
    else if dca_interval == "Monthly" and dayofmonth == monthly_dca_day
        result := true
    
    result

// Variables to track investment
var float total_invested = 0.0
var float total_shares = 0.0
var float avg_price = 0.0

// Execute DCA if conditions are met
if should_dca()
    shares_bought = investment_amount / close
    
    strategy.entry("DCA Buy", strategy.long, qty=shares_bought)
    
    // Update our tracking variables
    total_invested := total_invested + investment_amount
    total_shares := total_shares + shares_bought
    avg_price := total_invested / total_shares

// Display current stats
current_value = total_shares * close
unrealized_profit = current_value - total_invested
roi_percent = unrealized_profit / total_invested * 100

// Plot average price line
plot(avg_price > 0 ? avg_price : na, "Average Price", color=color.blue, linewidth=2, style=plot.style_line)

// Also add a table that will always be visible
var table stats_table = table.new(position.top_right, 1, 6, bgcolor=color.new(color.black, 70), border_width=1)

table.cell(stats_table, 0, 0, "DCA Strategy Results", bgcolor=color.new(color.blue, 90), text_color=color.white)
table.cell(stats_table, 0, 1, "Total Invested: $" + str.tostring(total_invested, "#.##"), text_color=color.white)
table.cell(stats_table, 0, 2, "Shares Owned: " + str.tostring(total_shares, "#.####"), text_color=color.white)
table.cell(stats_table, 0, 3, "Average Price: $" + str.tostring(avg_price, "#.##"), text_color=color.white)
table.cell(stats_table, 0, 4, "Current Value: $" + str.tostring(current_value, "#.##"), text_color=color.white)

profit_color = unrealized_profit >= 0 ? color.green : color.red
table.cell(stats_table, 0, 5, "Profit/Loss: $" + str.tostring(unrealized_profit, "#.##") + " (" + str.tostring(roi_percent, "#.##") + "%)", text_color=profit_color)