Cet article analyse principalement une stratégie de trading quantitative appelée
La logique de base de cette stratégie est la suivante:
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
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 principaux avantages de cette stratégie sont les suivants:
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.
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.
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.
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.
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.
Les principaux risques de cette stratégie comprennent également:
Dépendance des paramètres: La performance dépend fortement des paramètres définis.
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.
É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.
É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.
Les principales orientations d'optimisation de cette stratégie sont les suivantes:
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é.
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.
Optimisation du modèle: Utilisation de l'apprentissage automatique, etc. pour optimiser le modèle bayésien pour des calculs plus précis.
Paramètres dynamiques: Ajout de modules d'optimisation dynamique pour les paramètres à ajuster en temps réel aux changements du marché.
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.
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é.
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)