RSI-VWAP Stratégie quantitative à court terme

Auteur:ChaoZhang est là., Date: 19 janvier 2024 à 14h21h15
Les étiquettes:

img

Résumé

Cette stratégie s'appelle RSI-VWAP Short-term Strategy. Elle utilise l'indicateur RSI et le prix moyen pondéré par volume (VWAP) comme indicateurs techniques pour générer des signaux longs et courts et ainsi prendre des décisions d'achat et de vente.

Principe de stratégie

  1. Utilisez l'indicateur RSI pour déterminer si le marché est suracheté ou survendu.
  2. L'indicateur RSI utilise le VWAP au lieu du prix de clôture comme données sources.
  3. Un signal d'achat est généré lorsque le RSI franchit 20 à partir de la zone de survente. Un signal de vente est généré lorsque le RSI franchit 80 à partir de la zone de surachat.
  4. Cette stratégie ne va que sur le long terme et ne va pas sur le court terme, c'est-à-dire que l'on achète en survente et vend en survente.

Analyse des avantages

  1. L'utilisation du VWAP comme source de données pour l'indicateur RSI permet à l'indicateur de juger le marché plus précisément, en évitant d'être induit en erreur par de fausses ruptures.
  2. Seul le long terme réduit la fréquence des transactions et permet d'obtenir des rendements stables à long terme.
  3. Le paramètre RSI est de 17, ce qui convient aux opérations à court terme.
  4. La méthode de négociation à basse fréquence prévoit moins de transactions, réduisant les coûts de transaction et contribuant à obtenir des taux de rendement plus élevés.

Analyse des risques

  1. Il existe un risque de suradaptation dans le backtesting de la stratégie quantitative et les résultats réels peuvent différer du backtest.
  2. Incapable de saisir les opportunités dans les tendances à la baisse en allant seulement long.
  3. Les critères de surachat et de survente peuvent ne pas convenir à tous les produits; les paramètres doivent être ajustés pour différents produits.
  4. Tout indicateur technique peut générer de faux signaux et les pertes ne peuvent pas être complètement évitées.

Les risques peuvent être réduits en assouplissant de manière appropriée les critères de surachat et de survente, en combinant d'autres indicateurs pour confirmer les signaux, en ajustant les plages de paramètres, etc.

Directions d'optimisation

  1. Tester les effets de différents paramètres sur les performances de la stratégie et optimiser la longueur du RSI et les seuils de surachat/survente.
  2. Ajoutez des stratégies de stop loss pour verrouiller certains bénéfices grâce à un stop loss mobile, un stop loss temporel, etc., réduisant les retraits.
  3. Filtrer les signaux en combinant d'autres indicateurs pour améliorer la précision du signal.
  4. Définir des plages de paramètres indépendantes en fonction des caractéristiques des différents produits afin que la stratégie puisse mieux s'adapter aux différents produits.

Conclusion

Dans l'ensemble, il s'agit d'une stratégie à court terme simple et pratique. L'utilisation de VWAP rend le jugement du RSI plus précis, seuls les longs réduisent la fréquence des transactions. L'idée de stratégie est claire et facile à comprendre et à mettre en œuvre, adaptée aux débutants du trading quantitatif. Mais aucune stratégie d'indicateur unique ne peut être parfaite et nécessite une optimisation constante pour une meilleure performance en direct.


/*backtest
start: 2023-12-19 00:00:00
end: 2024-01-18 00:00:00
period: 1h
basePeriod: 15m
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/
// © Xaviz

//#####©ÉÉÉɶN###############################################
//####*..´´´´´´,,,»ëN########################################
//###ë..´´´´´´,,,,,,''%©#####################################
//###'´´´´´´,,,,,,,'''''?¶###################################
//##o´´´´´´,,,,,,,''''''''*©#################################
//##'´´´´´,,,,,,,'''''''^^^~±################################
//#±´´´´´,,,,,,,''''''''^í/;~*©####æ%;í»~~~~;==I±N###########
//#»´´´´,,,,,,'''''''''^;////;»¶X/í~~/~~~;=~~~~~~~~*¶########
//#'´´´,,,,,,''''''''^^;////;%I^~/~~/~~~=~~~;=?;~~~~;?ë######
//©´´,,,,,,,''''''''^^~/////X~/~~/~~/~~»í~~=~~~~~~~~~~^;É####
//¶´,,,,,,,''''''''^^^;///;%;~/~~;í~~»~í?~?~~~?I/~~~~?*=íÑ###
//N,,,,,,,'''''''^^^^^///;;o/~~;;~~;£=»í»;IX/=~~~~~~^^^^'*æ##
//#í,,,,,''''''''^^^^^;;;;;o~»~~~~íX//~/»~;í?IíI»~~^/*?'''=N#
//#%,,,'''''''''^^^^^^í;;;;£;~~~//»I»/£X/X/»í*&~~~^^^^'^*~'É#
//#©,,''''''''^^^^^^^^~;;;;&/~/////*X;í;o*í»~=*?*===^'''''*£#
//##&''''''''^^^^^^^^^^~;;;;X=í~~~»;;;/~;í»~»±;^^^^^';=''''É#
//##N^''''''^^^^^^^^^^~~~;;;;/£;~~/»~~»~~///o~~^^^^''''?^',æ#
//###Ñ''''^^^^^^^^^^^~~~~~;;;;;í*X*í»;~~IX?~~^^^^/?'''''=,=##
//####X'''^^^^^^^^^^~~~~~~~~;;íííííí~~í*=~~~~Ií^'''=''''^»©##
//#####£^^^^^^^^^^^~~~~~~~~~~~íííííí~~~~~*~^^^;/''''='',,N###
//######æ~^^^^^^^^~~~~~~~~~~~~~~íííí~~~~~^*^^^'=''''?',,§####
//########&^^^^^^~~~~~~~~~~~~~~~~~~~~~~~^^=^^''=''''?,íN#####
//#########N?^^~~~~~~~~~~~~~~~~~~~~~~~~^^^=^''^?''';í@#######
//###########N*~~~~~~~~~~~~~~~~~~~~~~~^^^*'''^='''/É#########
//##############@;~~~~~~~~~~~~~~~~~~~^^~='''~?'';É###########
//#################É=~~~~~~~~~~~~~~^^^*~'''*~?§##############
//#####################N§£I/~~~~~~»*?~»o§æN##################

//@version=4
strategy("RSI-VWAP INDICATOR", overlay=false)

// ================================================================================================================================================================================
// RSI VWAP INDICATOR
// ================================================================================================================================================================================

// Initial inputs
Act_RSI_VWAP = input(true, "RSI VOLUME WEIGHTED AVERAGE PRICE")
RSI_VWAP_length = input(17, "RSI-VWAP LENGTH")
RSI_VWAP_overSold = input(19, "RSI-VWAP OVERSOLD", type=input.float)
RSI_VWAP_overBought = input(80, "RSI-VWAP OVERBOUGHT", type=input.float)

// RSI with VWAP as source
RSI_VWAP = rsi(vwap(close), RSI_VWAP_length)

// Plotting, overlay=false
r=plot(RSI_VWAP, color = RSI_VWAP > RSI_VWAP_overBought ? color.red : RSI_VWAP < RSI_VWAP_overSold ? color.lime : color.blue, title="rsi", linewidth=2, style=plot.style_line)
h1=plot(RSI_VWAP_overBought, color = color.gray, style=plot.style_stepline)
h2=plot(RSI_VWAP_overSold, color = color.gray, style=plot.style_stepline)
fill(r,h1, color = RSI_VWAP > RSI_VWAP_overBought ? color.red : na, transp = 60)
fill(r,h2, color = RSI_VWAP < RSI_VWAP_overSold ? color.lime : na, transp = 60)

// Long only Backtest
strategy.entry("Long", strategy.long, when = (crossover(RSI_VWAP, RSI_VWAP_overSold)))
strategy.close("Long", when = (crossunder(RSI_VWAP, RSI_VWAP_overBought)))

Plus de