Stratégie de négociation de l'indice RSI de la condition bayésienne

Auteur:ChaoZhang est là., Date: 2023-12-18 à 17h09
Les étiquettes:

img

Résumé

Cet article analyse principalement une stratégie de trading quantitative appelée Bayésienne Condition RSI Trading Strategy. Cette stratégie calcule la distribution de probabilité de l'indicateur RSI et applique la règle Bayésienne pour déduire la probabilité de l'indicateur RSI continuant à augmenter ou à baisser pour juger des tendances futures des prix et faire des profits.

Principe de stratégie

La logique de base de cette stratégie est la suivante:

  1. Calculer la distribution de probabilité A de la hausse du prix de clôture au cours d'un certain cycle
  2. Calculer la distribution de probabilité B de la poursuite de la hausse de l'indicateur RSI au cours du cycle correspondant
  3. Appliquer la règle bayésienne pour calculer la probabilité de A et B se produisant simultanément
  4. Lorsque cette probabilité est supérieure au seuil, juger que la tendance se poursuivra et prendre des signaux de trading

Plus précisément, la stratégie définit d'abord le paramètre p comme paramètre du cycle pour calculer l'indicateur RSI, et r comme la plage de temps pour prédire les changements de prix futurs. Ensuite, dans le cycle p, comptez le nombre de fois que le prix de clôture augmente pour calculer la distribution de probabilité A. Dans le même temps, dans le cycle p, comptez le nombre de fois que le RSI continue à augmenter dans le cycle r après la fin de ce cycle, et calculez la distribution de probabilité B.

Ensuite, appliquez la formule bayésienne pour calculer la probabilité que les deux conditions de augmentation du prix de clôture et RSI continuent à augmenter soient satisfaites en même temps, comme indicateur final de jugement de probabilité. Lorsque cette probabilité est supérieure à un seuil donné, jugez que la tendance haussière se poursuivra et prenez des positions longues; lorsque la probabilité est inférieure au seuil, jugez que la tendance est inversée et fermez des positions.

De cette façon, la stratégie prend en considération de manière exhaustive les informations sur les prix et les indicateurs techniques, applique des statistiques de probabilité et des règles bayésiennes pour juger des tendances futures et générer des signaux de trading.

Les avantages de la stratégie

Les principaux avantages de cette stratégie sont les suivants:

  1. Combinaison de plusieurs informations: La stratégie prend en considération non seulement les informations sur les prix, mais aussi les informations sur les indicateurs techniques tels que l'indicateur RSI afin d'évaluer de manière globale les tendances futures et d'améliorer la précision des jugements.

  2. Prédiction de la probabilité: Faire des prédictions de probabilité sur la direction des changements de prix et de l'indice RSI grâce à une distribution de probabilité statistique, au lieu d'une simple comparaison numérique, rendant le jugement plus scientifique.

  3. Optimisation bayésienne: Utilisez les règles bayésiennes pour calculer les probabilités pertinentes et optimiser les probabilités statistiques originales pour rendre les jugements plus précis.

  4. Paramètres souples: fournir de multiples paramètres d'ajustement et d'optimisation pour s'adapter à différents marchés et actifs et améliorer l'adaptabilité de la stratégie.

  5. Simple et efficace: L'idée de la stratégie est claire et les opérations statistiques et de probabilité simples sont utilisées pour générer des jugements de signaux de trading, ce qui est facile à comprendre et à optimiser, et l'effet est significatif.

Risques liés à la stratégie

Les principaux risques de cette stratégie comprennent également:

  1. Dépendance des paramètres: La performance dépend fortement des paramètres définis.

  2. Erreur de probabilité: En raison du temps statistique et des échantillons limités, la probabilité calculée peut ne pas correspondre à la tendance réelle, ce qui entraîne un écart de jugement.

  3. Événements spéciaux: Les urgences majeures peuvent affecter la corrélation entre les prix du marché et les indicateurs RSI, provoquant l'échec de la stratégie.

  4. Échec de l'indicateur technique: Dans certaines situations de marché, des indicateurs techniques tels que le RSI peuvent produire des signaux non valides, entraînant un échec du jugement stratégique.

Les solutions comprennent: optimisation du processus de définition des paramètres, ajustement du temps statistique et de la taille de l'échantillon, combinaison de plus d'informations auxiliaires, intervention manuelle dans des situations anormales, etc.

Directions d'optimisation

Les principales orientations d'optimisation de cette stratégie sont les suivantes:

  1. Délais multiples: Mise en œuvre de stratégies sur plusieurs délais (quotidien, hebdomadaire, etc.) pour un jugement intégré afin d'améliorer la stabilité.

  2. Plus d'indicateurs: Ajout d'indicateurs plus techniques tels que les modèles de bougies, les moyennes mobiles, etc. pour enrichir la base de jugement.

  3. Optimisation du modèle: Utilisation de l'apprentissage automatique, etc. pour optimiser le modèle bayésien pour des calculs plus précis.

  4. Paramètres dynamiques: Ajout de modules d'optimisation dynamique pour les paramètres à ajuster en temps réel aux changements du marché.

  5. Mécanisme de contrôle des risquesDéfinir des indicateurs de risque tels que le tirage maximum et la fréquence des transactions pour éviter d'énormes pertes sur les marchés extrêmes.

  6. Ensemble des améliorations: Conjointement avec d'autres types ou modèles de stratégies pour former des mécanismes de vote et améliorer la stabilité.

Conclusion

Cette stratégie calcule d'abord statistiquement les distributions de probabilité du prix et du RSI, puis utilise les règles bayésiennes pour calculer les probabilités combinées, générant des signaux de trading lorsque les probabilités dépassent les seuils fixés, générant ainsi des profits. Cette stratégie combine des informations de plusieurs sources, tire parti de la prédiction des probabilités et de l'optimisation bayésienne pour une performance de jugement décente. Les principales directions d'optimisation comprennent l'expansion du délai, plus d'indicateurs, de paramètres dynamiques, etc. En conclusion, cette stratégie a une idée unique et un effet remarquable qui mérite d'être exploré et appliqué.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit.
// If you like this script, check out my bots at cryptotrader.org/?r=51
// Let me know if you find any improvements to this script. It is beta. 
// Please subscribe.
strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true)
p = input(title="Period",  defval=30, minval=5, maxval=500)
t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001)
r = input(title="Look Range",  defval=7, minval=1,maxval=500, step=1)
RSIT = input(title="Jump",  defval=8, minval=1,maxval=99, step=1)
BAYEST = input(title="SM",  defval=3, minval=1,maxval=99, step=1)
RSIP = input(title="RSIP",  defval=14, minval=2,maxval=100, step=1)
countup = 1
countdn = 1
countupS = 1
countdnS = 1
for i = p to 1
    if close[i]/close[i + r] > t
        countup := countup + 1
    else
        countdn := countdn + 1
    if close[i]/close[i + r] < 2 - t
        countupS := countupS + 1
    else
        countdnS := countdnS + 1

rsi = rsi(open,RSIP)

countup2 = 1
countup3 = 1
countup2S = 1
countup3S = 1
for i = p to 1
    if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT
        countup2 := countup2 + 1
    else
        countup3 := countup3 + 1
    if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT
        countup2S := countup2S + 1
    else
        countup3S := countup3S + 1

countup2b = countup2 / p
countup3b = countup3 / p
countupb = countup / p
countdnb = countdn / p

countup2bS = countup2S / p
countup3bS = countup3S / p
countupbS = countupS / p
countdnbS = countdnS / p
bayes = 0
bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100
bayesS = 0
bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100
SN1 = sma(bayes,BAYEST)
SN2 = sma(bayesS,BAYEST)
shortCondition = crossunder(bayesS, SN2) //and rsi < 49
longCondition = crossover(bayes, SN1) //and rsi > 59
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

Plus de