Stratégie de trading quantitative à signal linéaire basée sur la normalisation du score Z

RSI SMA Z-SCORE LSB TP SL
Date de création: 2025-01-06 16:14:07 Dernière modification: 2025-01-06 16:14:07
Copier: 6 Nombre de clics: 437
1
Suivre
1617
Abonnés

Stratégie de trading quantitative à signal linéaire basée sur la normalisation du score Z

Aperçu

Cette stratégie est un système de trading quantitatif basé sur des signaux linéaires et une normalisation du score Z. Il construit des signaux de trading standardisés en combinant des variables exogènes telles que le RSI avec des données de prix et utilise des seuils pour déclencher des transactions. Cette stratégie convient aux scénarios de trading intraday et à haute fréquence et présente une forte adaptabilité et configurabilité.

Principe de stratégie

Les principes fondamentaux de la stratégie comprennent les étapes clés suivantes :

  1. Construction du signal linéaire : l’indicateur RSI est combiné linéairement avec les données de prix à l’aide d’un poids configurable (signal_alpha) pour former le signal initial.
  2. Normalisation du score Z : en fonction de la période de rétrospection définie (lookback_period), la moyenne et l’écart type du signal linéaire sont calculés et le signal est normalisé sous forme de score Z.
  3. Mécanisme de déclenchement du seuil : lorsque le score Z est inférieur au seuil négatif, une position longue est ouverte ; lorsqu’il est supérieur au seuil positif, une position courte est ouverte. Le seuil est contrôlé par le facteur d’ajustement du risque (risk_adjustment_factor).
  4. Gestion des risques : définissez le take-profit et le stop-loss pour chaque transaction et ajustez de manière flexible le rapport risque-rendement via des paramètres de pourcentage.

Avantages stratégiques

  1. Normalisation du signal : la transformation du score Z confère au signal de bonnes propriétés statistiques, ce qui facilite la définition d’un seuil universel.
  2. Forte flexibilité : l’influence des variables exogènes et des prix peut être équilibrée en ajustant signal_alpha.
  3. Risques contrôlables : Mécanisme complet de stop-profit et de stop-loss, configurable de manière flexible en fonction des caractéristiques du marché.
  4. Bonne adaptabilité : applicable à plusieurs périodes et peut être étendu à d’autres produits de trading à forte liquidité.

Risque stratégique

  1. Sensibilité des paramètres : les performances de la stratégie sont sensibles à la sélection des paramètres et nécessitent des tests rétrospectifs et une vérification suffisants.
  2. Dépendance à l’environnement du marché : des transactions fréquentes peuvent se produire sur un marché volatil avec une tendance faible.
  3. Décalage du signal : le décalage causé par le calcul de la moyenne mobile peut affecter le moment de l’entrée.
  4. Risque de liquidité : le trading à haute fréquence peut être confronté à des pertes de glissement lorsque la liquidité est insuffisante.

Orientation de l’optimisation de la stratégie

  1. Ajustement dynamique des paramètres : introduisez un mécanisme adaptatif pour ajuster dynamiquement les seuils et les positions stop-loss en fonction de la volatilité du marché.
  2. Confirmation de signaux multiples : ajoutez d’autres indicateurs techniques comme conditions de filtrage pour améliorer la fiabilité du signal.
  3. Optimisation de la gestion des positions : Concevez un système de gestion de position dynamique basé sur la volatilité et la force du signal.
  4. Contrôle des coûts de transaction : optimiser la logique d’ouverture et de fermeture des positions pour réduire les pertes de coûts causées par les transactions fréquentes.

Résumer

Il s’agit d’une stratégie de trading quantitative avec une structure claire et une logique rigoureuse. Un système de signaux de trading robuste est construit grâce à une combinaison linéaire et à un traitement de standardisation. La stratégie est hautement configurable et offre une gestion parfaite des risques, mais une attention particulière doit être accordée à l’optimisation des paramètres et à l’adaptabilité du marché. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées grâce aux orientations d’optimisation recommandées.

Code source de la stratégie
/*backtest
start: 2024-12-29 00:00:00
end: 2025-01-05 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Linear Signal-Based Strategy", shorttitle = "LSB_V1", overlay=true)

// Inputs
lookback_period = input.int(14, title="Lookback Period for Moving Averages")
signal_alpha = input.float(0.5, title="Signal Weight Alpha (Exogenous Variable)")
take_profit_percent = input.float(0.02, title="Take Profit (%)")
stop_loss_percent = input.float(0.01, title="Stop Loss (%)")
risk_adjustment_factor = input.float(1.5, title="Risk Adjustment Factor")

// Fetch Exogenous Variable (Example: RSI as a Proxy)
rsi_value = ta.rsi(close, lookback_period)

// Linear Signal Calculation
linear_signal = signal_alpha * rsi_value + (1 - signal_alpha) * close

// Z-Score Normalization for Signal
mean_signal = ta.sma(linear_signal, lookback_period)
stddev_signal = ta.stdev(linear_signal, lookback_period)
z_score_signal = (linear_signal - mean_signal) / stddev_signal

// Entry Conditions
long_condition = z_score_signal < -risk_adjustment_factor
short_condition = z_score_signal > risk_adjustment_factor

// Risk Management
long_take_profit = close * (1 + take_profit_percent)
long_stop_loss = close * (1 - stop_loss_percent)
short_take_profit = close * (1 - take_profit_percent)
short_stop_loss = close * (1 + stop_loss_percent)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long, qty=1)
    strategy.exit("Exit Long", "Long", stop=long_stop_loss, limit=long_take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=1)
    strategy.exit("Exit Short", "Short", stop=short_stop_loss, limit=short_take_profit)