L'idée de base de cette stratégie est de maintenir le pourcentage d'investissement d'un actif dans le portefeuille fixe. Lorsque la valeur de l'actif augmente, l'investisseur en vend une partie pour maintenir le pourcentage. Quand il tombe, l'investisseur en achète plus pour reconstituer le pourcentage. La stratégie convient aux actifs relativement stables.
La stratégie définit d'abord le paramètre pourcentage d'investissement pourcentage_investis, c'est-à-dire le pourcentage de l'actif du portefeuille.
Lorsque la position est égale à 0, calculer les contrats d'achat en fonction du pourcentage_investis et du capital initial.
Lorsque vous détentez, comparez le pourcentage du montant investi avec le pourcentage des capitaux propres. Si c'est trop bas, achetez plus de contrats. Si c'est trop élevé, vendez des contrats.
Répétez l'étape 2 pour maintenir le pourcentage d'investissement fixe.
Permet la détention à long terme d'actifs stables sans négociation fréquente.
Les bénéfices de rééquilibrage périodique des fluctuations des actifs.
La diversification des investissements entre actifs non corrélés réduit le risque de portefeuille.
Prévient les pertes totales en évitant tout investissement avant l'éclatement de la bulle.
Risque de perte plus élevé pour les actifs volatils.
Des échanges fréquents signifient plus de frais.
Le rééquilibrage peut être retardé, manquant les meilleurs points d'entrée/sortie.
Des paramètres de pourcentage incorrects peuvent entraîner une survente.
Les risques peuvent être réduits par:
Sélection des actifs avec soin pour éviter une forte volatilité.
Optimisation de la logique de rééquilibrage pour réduire la fréquence des échanges.
Définition des unités minimales de changement de position pour éviter les surtrades.
Optimisation des paramètres de pourcentage pour éviter une concentration excessive.
La stratégie peut être améliorée par:
Ajouter une logique de stop-loss pour réduire les pertes à un certain seuil.
Ajout de la validation du signal avant le rééquilibrage pour éviter les points non tendance.
Personnalisation des pourcentages, taux de stop-loss par actif.
Ajout de module d'optimisation des paramètres pour trouver les paramètres optimaux.
Soutenir la clôture des positions afin de les réinvestir dans d'autres actifs pour une allocation dynamique.
La stratégie de pourcentage fixe offre une diversification et un contrôle des risques. Mais elle comporte des risques tels que le rééquilibrage retardé et les pertes d'actifs volatils.
/*backtest start: 2022-09-21 00:00:00 end: 2022-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("Fixed Fractioning", overlay=true, initial_capital=100000.0) percent_invested=input(50.0,title="Percent Invested",maxval=100.0,minval=0.0) fraction_invested=percent_invested/100 from_day=input(1,title="From Day",maxval=31,minval=1) from_month=input(1,title="From Month",maxval=12,minval=1) from_year=input(2017,title="From Year",maxval=2018,minval=1900) to_day=input(1,title="To Day",maxval=31,minval=1) to_month=input(1,title="To Month",maxval=12,minval=1) to_year=input(2018,title="To Year",maxval=2018,minval=1900) // === FUNCTION EXAMPLE === from: https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/ start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window window() => true // create function "within window of time" strategy.initial_capital = 50000 if strategy.position_size==0 and window() contracts_to_buy=(fraction_invested*strategy.initial_capital)/close strategy.entry("long",long=true,qty=contracts_to_buy,limit=close,when=contracts_to_buy>1) invested=(strategy.position_size*close)/strategy.equity if invested<fraction_invested and window() contracts_to_buy=((fraction_invested-invested)*strategy.equity)/close strategy.order("long",long=true,qty=contracts_to_buy,limit=close,when=contracts_to_buy>1) else if invested>fraction_invested and window() contracts_to_sell=((invested-fraction_invested)*strategy.equity)/close strategy.order("sell",long=false,qty=contracts_to_sell,limit=close,when=contracts_to_sell>1)