Résultats de l'analyse de la volatilité

Auteur:ChaoZhang est là., Date: 2023-10-08 14:16:57 La date est fixée à
Les étiquettes:

Résumé

La stratégie de rupture de l'inversion du RSI est une stratégie qui identifie les situations de surachat et de survente à l'aide de l'indicateur RSI et prend des transactions contre-tendance lorsque les prix brisent la moyenne mobile.

La logique de la stratégie

La stratégie repose essentiellement sur la logique suivante:

  1. Utilisez le RSI (2) pour juger si les prix sont surachetés ou survendus.

  2. Utilisez l'EMA de 200 jours pour déterminer la direction générale de la tendance.

  3. Lorsque le RSI montre un signal de survente et que les prix dépassent la EMA, passez long pour une tendance haussière.

  4. Lorsque le RSI montre un signal de surachat et que les prix dépassent l'EMA, passez à la tendance à la baisse.

  5. En négociant des renversements, nous espérons attraper le début d'une nouvelle tendance avant qu'elle ne commence.

Plus précisément, la règle d'entrée est d'aller long lorsque le RSI est inférieur à 25 et que le prix dépasse la bande supérieure; de passer court lorsque le RSI est supérieur à 80 et que le prix dépasse la bande inférieure.

Les avantages

La stratégie de rupture de l'indice de rebond a les avantages suivants:

  1. Identification des chances de renversement: l'identification des surachats/survente avec le RSI permet de détecter les renversements de prix, ce qui est essentiel pour générer de l'alpha.

  2. Le trading selon les tendances: l'intégration de l'EMA garantit que les transactions sont alignées sur les tendances majeures.

  3. Contrôle des risques: les opérations de renversement limitent la durée de détention de la position et contrôlent les risques.

  4. Paramètres flexibles: la période RSI et la période EMA peuvent être ajustées en fonction des changements du régime du marché, ce qui améliore l'adaptabilité.

  5. Fréquence de négociation appropriée: les signaux de renversement se produisent à des fréquences modérées, évitant ainsi une survente tout en restant actifs.

  6. Simplicité: les règles sont simples et faciles à mettre en œuvre dans le commerce en direct.

Risques et gestion

La stratégie comporte également les risques suivants:

  1. Risque d'échec de l'inversion: les prix peuvent reprendre la tendance initiale après un signal d'inversion, conduisant à des pertes.

  2. Risque de tendance peu claire: l'EMA ne fonctionne pas bien lorsqu'il n'y a pas de tendance claire.

  3. Risque d'optimisation: les paramètres RSI et EMA ont un impact important sur la performance.

  4. Risque de surajustement: la poursuite des performances pendant l'optimisation peut entraîner un surajustement.

  5. Risque de surtrading: les signaux d'inversion trop fréquents conduisent à un trading excessif.

Améliorations

La stratégie peut être encore améliorée dans les domaines suivants:

  1. Évaluer la qualité des stocks: appliquer la stratégie uniquement aux stocks de haute qualité basés sur les fondamentaux.

  2. Incorporer d'autres indicateurs: ajouter MACD, KD, etc. pour confirmer les signaux de renversement et améliorer la fiabilité.

  3. Ajustement dynamique des paramètres: Adapter dynamiquement les paramètres RSI et EMA en fonction de l'évolution des conditions du marché.

  4. Optimiser le calendrier d'entrée: régler les règles d'entrée afin d'attendre la confirmation de l'inversion.

  5. Stratégie de prise de bénéfices: définissez des niveaux de prise de bénéfices appropriés pour éviter de rendre des gains.

  6. Considérez les coûts de transaction: Évaluez l'impact des glissades et des commissions.

  7. Considérez la volatilité: concentrez-vous uniquement sur les actions à forte volatilité pour rendre la stratégie plus robuste.

Conclusion

La stratégie de rupture d'inversion du RSI combine les signaux de tendance et d'inversion pour capturer les inversions précoces et les opportunités majeures. La fréquence de trading modérée aide à contrôler les risques. Des optimisations appropriées sur le timing d'entrée, la prise de profit et les sélections de paramètres peuvent améliorer encore les performances. Avec des optimisations saines, cette stratégie peut être une approche commerciale quantitative efficace.


/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jocker.soad

//@version=4
// strategy("My Script", overlay=true, initial_capital=10000, default_qty_value=100)
min = input(title="Valor minimo de entrada", defval=25)
qtdAtivos = input(title="Quantidade de ações", defval=1)

// overBuyLine = hline(80)
// overSellLine = hline(min)

var comprado = false
var valorComprado = 0.0
var qtdDiasComprado = 0
var valorLucro = 0.0

valueRsi = rsi(close, 2)
valueSma = sma(close, 200)
valueEma = ema(close, 200)
lastHighPrice = high[2]

buyValidation = valueRsi <= min
sellValidation = close >= lastHighPrice



// plot(lastHighPrice, trackprice=true, offset=-99999, color=color.olive, linewidth=3, style=plot.style_area)
// plot(valueRsi)
// plot(valueSma)
// plot(valueEma)
// plotshape(sellValidation, style=shape.triangledown, color=color.blue)
// plotshape(comprado, style=shape.triangledown, color=color.blue)

startDate = input(title="Inicio Dia", type=input.integer, defval=1, minval=1, maxval=31)
startMonth = input(title="Inicio Mes", type=input.integer, defval=1, minval=1, maxval=12)
startYear = input(title="Inicio Ano", type=input.integer, defval=2018, minval=1800, maxval=2100)

endDate = input(title="Final Dia", type=input.integer, defval=1, minval=1, maxval=31)
endMonth = input(title="Final Mes", type=input.integer, defval=12, minval=1, maxval=12)
endYear = input(title="Final Ano", type=input.integer,  defval=2020, minval=1800, maxval=2100)

inDateRange = true

if inDateRange

    if close >= valueEma
    
        if comprado == false and buyValidation
            qtdDiasComprado := 0
            comprado := true
            valorComprado := close
            strategy.order("buy", true, qtdAtivos, when=buyValidation)
        
        if sellValidation and comprado == true
            comprado := false
            valorLucro := valorLucro + (close - valorComprado)
            valorComprado := 0
            strategy.order("sell", false, qtdAtivos, when=sellValidation)
        
        if comprado == true and sellValidation == false
            qtdDiasComprado := qtdDiasComprado + 1

// plot(valorLucro, color=color.lime)




Plus de