Stratégie quantitative : système de trading heuristique POMDP à fusion multi-indicateurs

RSI STOCH MFI MACD BB POMDP TA
Date de création: 2025-07-22 09:11:25 Dernière modification: 2025-07-22 09:11:25
Copier: 0 Nombre de clics: 213
2
Suivre
319
Abonnés

Stratégie quantitative : système de trading heuristique POMDP à fusion multi-indicateurs Stratégie quantitative : système de trading heuristique POMDP à fusion multi-indicateurs

Aperçu

La stratégie quantitative “Multi Indicators Fusion POMDP Inspired Trading System” est une méthode de trading basée sur l’analyse technique et le processus de décision partiellement observable de Markov (POMDP). La stratégie combine habilement des indicateurs aléatoires relativement faibles (RSI stochastique), des indicateurs de flux de capitaux (MFI), des bandes de Bollinger (Bollinger Bands) et des indicateurs de dispersion des moyennes mobiles (MACD) pour générer des signaux d’achat et de vente. Le concept de la stratégie est de construire un cadre de décision de type POMDP en réponse à l’incertitude et à la partielle d’observabilité des marchés financiers à travers une observation multidimensionnelle de l’état du marché.

Principe de stratégie

Le principe central de cette stratégie est basé sur l’idée du processus de décision de Markov partiellement observable (POMDP), qui considère le marché comme un système dont l’état est partiellement visible. L’état du marché est observé à l’aide des indicateurs techniques clés suivants:

  1. Les bandes de Bollinger: Utilise une moyenne mobile simple de 20 cycles comme trajectoire centrale, avec un écart-type de 2,0, formant une trajectoire ascendante et descendante, utilisée pour identifier les intervalles de fluctuation des prix.

  2. Le RSI est un indicateur aléatoire de force et de faiblesse (Stochastic RSI): Combine les avantages de l’indicateur RSI et de l’indicateur aléatoire, définissant une longueur de 14 cycles et un paramètre de lissage de 3 cycles pour identifier un état de survente. Lorsque la valeur K est inférieure à 30, elle est considérée comme une survente, et supérieure à 70, elle est considérée comme une survente.

  3. Indicateur des flux de capitaux (IFM)Le MFI inférieur à 40 est considéré comme un signal de survente et supérieur à 60 comme un signal de survente.

  4. Indicateur MACD: la relation entre la ligne MACD et la ligne de signal est utilisée pour confirmer la direction de la tendance en utilisant le paramètre 12/26/9.

Les règles de décision de la stratégie sont les suivantes:

  • Il y a un écart de débit.: lorsque la valeur de K est inférieure à 30 (survente) ou MFI inférieure à 40 (survente), et que la ligne MACD est située au-dessus de la ligne de signal, le signal de multiplication est déclenché.
  • Le spread de débit de mise: lorsque la valeur de K est supérieure à 70 (overbought) ou MFI supérieure à 60 (overbought), et que la ligne MACD est située en dessous de la ligne de signal, le signal de couverture est déclenché.

La stratégie implique également un mécanisme de sortie automatique basé sur le temps, avec un dépôt automatique après 5 cycles de détention, ce qui permet de contrôler efficacement le risque de détention.

Avantages stratégiques

  1. Confirmation du signal multidimensionnelEn combinant plusieurs indicateurs techniques (RSI stochastique, MFI, MACD), la stratégie permet d’observer l’état du marché sous différents angles, ce qui réduit le risque de signaux trompeurs qu’un seul indicateur peut générer.

  2. Adaptation du cadre du POMDPL’introduction de l’idée du POMDP permet à la stratégie de prendre des décisions relativement optimisées dans des conditions d’incertitude et de partielle observabilité, plus conformes aux conditions réelles du marché.

  3. Une maîtrise claire des risquesEn définissant un cycle de sortie fixe (environ 5 cycles), la stratégie permet de contrôler le risque dans une dimension temporelle, évitant ainsi l’expansion des pertes causées par des tendances défavorables à long terme.

  4. Complementarité des indicateurs techniquesLe RSI stochastique reflète principalement la dynamique des prix, le MFI combine des informations sur les prix et le volume des transactions, le MACD capte les changements de tendance et les bandes de Brin définissent les bandes de fluctuation. Ces indicateurs se complètent mutuellement et améliorent la fiabilité du signal.

  5. La robustesse de la mise en œuvre du code: la stratégie utilise math.sum au lieu de ta.sum pour calculer le MFI, corrigeant les erreurs de calcul possibles et renforçant la stabilité de la stratégie.

  6. Automatisation de la capacité d’exécution: La mise en œuvre de Pine Script basée sur TradingView permet à la stratégie de générer automatiquement des signaux de trading et de les exécuter, réduisant ainsi l’intervention humaine et l’influence émotionnelle.

Risque stratégique

  1. Les limites de la surventeStratégie utilisant des seuils fixes de survente et de survente (3070 pour le RSI stochastique et 4060 pour le MFI), qui peuvent ne pas toujours être optimaux dans différents environnements de marché et différents produits, ce qui peut entraîner une baisse de la qualité du signal.

  2. L’épée à double tranchant du mécanisme de sortie du temps: Le mécanisme de sortie à 5 cycles fixe maîtrise les risques, mais peut aussi entraîner une sortie prématurée d’une tendance favorable, limitant les gains potentiels.

  3. Risque de redondance dans plusieurs indicateurs: Bien que plusieurs indicateurs fournissent une confirmation multidimensionnelle, il peut y avoir une certaine corrélation et redondance entre les indicateurs, ce qui peut entraîner un écart d’intensité du signal dans certaines conditions de marché.

  4. La tendance est l’insuffisance d’adaptation du marché.La stratégie est basée sur des signaux de survente et de revers, qui peuvent générer trop de signaux erronés dans un marché en forte tendance, entraînant des transactions fréquentes et des coûts inutiles.

  5. Paramètres d’optimisation des dépendancesL’efficacité d’une stratégie dépend en grande partie de la configuration des paramètres de chaque indicateur. Les différentes conditions du marché peuvent nécessiter différentes combinaisons de paramètres, ce qui augmente la complexité de la maintenance et de l’ajustement de la stratégie.

  6. Manque de mécanisme d’adaptation à la volatilitéLa stratégie n’a pas de mécanisme d’adaptation aux variations de la volatilité du marché, ce qui peut générer plus de faux signaux dans un environnement de forte volatilité.

Orientation de l’optimisation de la stratégie

  1. Mécanisme d’ajustement des paramètres dynamiquesIntroduction de mécanismes d’adaptation paramétrique basés sur l’état du marché, tels que l’ajustement du décalage standard des bandes de Brent en fonction de la volatilité, ou l’ajustement des seuils de sur-achat et de sur-vente en fonction de l’intensité des tendances du marché, afin d’améliorer l’adaptabilité de la stratégie dans différents environnements de marché.

  2. Mécanisme de stop loss parfaitEn plus du mécanisme d’exit à dimension temporelle, ajouter un mécanisme de stop-loss basé sur les variations de prix, par exemple en définissant un point de stop-loss basé sur l’ATR, pour améliorer la globalité de la gestion des risques.

  3. Filtres de marché: ajouter des modules d’identification des conditions du marché, tels que des indicateurs de force de tendance ou des indicateurs de volatilité, réduire ou suspendre les transactions dans des conditions de marché qui ne conviennent pas à la stratégie et éviter les transactions excessives dans des conditions défavorables.

  4. Système de notation de la qualité du signal: Développer un système de notation de la qualité du signal, évaluer les signaux en fonction de plusieurs facteurs tels que le degré de cohérence des indicateurs, l’environnement du marché, le succès du signal historique, exécuter uniquement des signaux de haute qualité, améliorer l’efficacité de la stratégie.

  5. Le renforcement de l’apprentissage automatique: Combiner le cadre POMDP avec des méthodes d’apprentissage automatique pour optimiser les stratégies décisionnelles grâce à la formation des données historiques, permettant ainsi au système d’apprendre et d’améliorer les transactions passées.

  6. Optimisation des stratégies de gestion des fonds: l’introduction d’un mécanisme de gestion dynamique des positions, permettant d’ajuster la taille des transactions en fonction de l’intensité des signaux, de l’état du marché et du risque du compte, pour une gestion plus scientifique des fonds.

Résumer

Le “système de trading inspiré par le POMDP intégré à plusieurs indicateurs” est une stratégie de trading quantitatif qui combine plusieurs indicateurs techniques avec le cadre de décision du POMDP. La stratégie, qui fonctionne en synergie avec des indicateurs tels que le RSI stochastique, le MFI, le MACD et les bandes de Brin, résout dans une certaine mesure le problème de l’observabilité partielle du marché et fournit une confirmation de signal multidimensionnelle pour les décisions de trading.

Les principaux avantages de la stratégie résident dans sa capacité à observer le marché sous plusieurs angles et son mécanisme de contrôle des risques bien défini, mais elle est également confrontée à des défis liés à la dépendance à l’optimisation des paramètres et à l’insuffisance d’adaptation à certains environnements de marché. La stratégie a le potentiel d’améliorer encore sa robustesse et son adaptabilité en introduisant des orientations d’optimisation telles que l’ajustement des paramètres dynamiques, l’amélioration des mécanismes de freinage et l’ajout de filtres d’environnement de marché.

Dans l’ensemble, il s’agit d’un système de trading quantifié conçu de manière rationnelle et logique, particulièrement adapté aux traders qui ont une certaine capacité de prévision du marché mais qui souhaitent maîtriser les risques. En optimisant continuellement et en s’adaptant aux différents environnements de marché, la stratégie peut devenir un outil efficace dans la boîte à outils du trader.

Code source de la stratégie
/*backtest
start: 2024-07-22 00:00:00
end: 2025-07-20 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":2000000}]
*/

//@version=6
strategy("Debit Spread POMDP‑Inspired Strategy", overlay=true, margin_long=100, margin_short=100)

// ——— Constants
const int K_OVERSOLD      = 30
const int K_OVERBOUGHT    = 70
const int MFI_OVERSOLD    = 40
const int MFI_OVERBOUGHT  = 60
const int EXIT_BARS       = 5

// ——— User inputs
stochLength  = input.int(14,  "Stochastic RSI length")
stochSmooth  = input.int(3,   "Stochastic smoothing")
mfiLength    = input.int(14,  "MFI length")
bbLength     = input.int(20,  "Bollinger length")
bbStdDev     = input.float(2.0, "Bollinger std dev")
macdFast     = input.int(12,  "MACD fast length")
macdSlow     = input.int(26,  "MACD slow length")
macdSignal   = input.int(9,   "MACD signal length")

// ——— Bar index tracking for exits
var int callEntryBar = na
var int putEntryBar = na

// ——— Bollinger Bands
basis   = ta.sma(close, bbLength)
upper   = basis + bbStdDev * ta.stdev(close, bbLength)
lower   = basis - bbStdDev * ta.stdev(close, bbLength)

// ——— Stochastic RSI
rsi      = ta.rsi(close, stochLength)
k        = ta.sma(ta.stoch(rsi, rsi, rsi, stochLength), stochSmooth)
d        = ta.sma(k, stochSmooth)

// ——— Manual MFI calculation (FIXED: using math.sum)
tp        = (high + low + close) / 3.0
rawMF     = tp * volume
posFlow   = (tp > tp[1] ? rawMF : 0.0)
negFlow   = (tp < tp[1] ? rawMF : 0.0)
posMF     = math.sum(posFlow, mfiLength)  // FIXED: math.sum instead of ta.sum
negMF     = math.sum(negFlow, mfiLength)  // FIXED: math.sum instead of ta.sum
moneyRatio = negMF != 0 ? posMF / negMF : 0.0
mfi       = negMF != 0 ? 100 - 100 / (1 + moneyRatio) : 0.0

// ——— Manual MACD calculation
fastMA     = ta.ema(close, macdFast)
slowMA     = ta.ema(close, macdSlow)
macdLine   = fastMA - slowMA
signalLine = ta.ema(macdLine, macdSignal)

// ——— POMDP‑inspired decision rules
bullCondition = ((k < K_OVERSOLD) or (mfi < MFI_OVERSOLD)) and (macdLine > signalLine)
bearCondition = ((k > K_OVERBOUGHT) or (mfi > MFI_OVERBOUGHT)) and (macdLine < signalLine)

if bullCondition
    strategy.entry("CallDebit", strategy.long)
    callEntryBar := bar_index  // Track entry bar

if bearCondition
    strategy.entry("PutDebit", strategy.short)
    putEntryBar := bar_index   // Track entry bar

// FIXED: Manual time-based exits using bar_index
if not na(callEntryBar) and bar_index >= callEntryBar + EXIT_BARS
    strategy.close("CallDebit")
    callEntryBar := na

if not na(putEntryBar) and bar_index >= putEntryBar + EXIT_BARS
    strategy.close("PutDebit")
    putEntryBar := na

// ——— Plots
plot(basis, color=color.gray, linewidth=1, title="BB Basis")
plot(upper, color=color.orange, linewidth=1, title="BB Upper")
plot(lower, color=color.orange, linewidth=1, title="BB Lower")
plot(k, title="%K", color=color.blue)
plot(d, title="%D", color=color.purple)
plot(mfi, title="MFI", color=color.green)
plot(macdLine - signalLine, title="MACD Histogram", color=color.red, style=plot.style_columns)