Stratégie de trading quantitative multi-périodes basée sur les indicateurs Parabolic SAR, Stoch et Security


Date de création: 2024-01-18 11:40:38 Dernière modification: 2024-01-18 11:40:38
Copier: 1 Nombre de clics: 645
1
Suivre
1617
Abonnés

Stratégie de trading quantitative multi-périodes basée sur les indicateurs Parabolic SAR, Stoch et Security

Aperçu

Cette stratégie, appelée stratégie de trading quantifiée de triple couverture, utilise un signal combiné de trois indicateurs: Parabolic SAR, Stoch et Security pour capturer les tendances de rupture. La stratégie analyse plusieurs périodes de temps, permettant de prendre des décisions de trading plus stables et plus fiables grâce à une combinaison de différents indicateurs cycliques.

Principe de stratégie

Cette stratégie utilise le paramètre Parabolic SAR pour déterminer la direction de la tendance et le moment de la reprise. Le paramètre Stoch pour déterminer si le cours est trop acheté ou trop vendu. La fonction de sécurité pour déterminer la direction de la tendance globale en tirant une moyenne périodique supérieure.

  1. Une conversion de la valeur du point Parabolic SAR vers le bas est considérée comme un signe positif; une conversion vers le haut est considérée comme un signe négatif.

  2. Un Stoch K inférieur à 20 est considéré comme une survente et un Stoch K supérieur à 80 est considéré comme une survente.

  3. La fonction Security appelle une moyenne plus élevée pour déterminer la direction de la tendance globale et réaliser une analyse combinée entre les différentes périodes de temps.

Les trois indicateurs ci-dessus font plus lorsqu’ils sont positifs et font moins lorsqu’ils sont négatifs. Suivant strictement le principe du filtrage des indicateurs multiples, il est possible de filtrer efficacement les fausses ruptures et de localiser la tendance réelle.

Avantages stratégiques

La plus grande valeur de cette stratégie réside dans l’analyse de plusieurs périodes. Les trois indicateurs permettent de juger de la performance des prix à différents niveaux à court, moyen et long terme. Le SAR parabolique capture les moments de revers et les tendances à court terme.

En outre, la stratégie utilise plusieurs jugements et filtres d’indicateurs pour minimiser la probabilité d’erreur de jugement sur un seul indicateur. Le passage d’un triple jugement consécutif indique que le signal de marché est suffisamment fort pour assurer la bonne décision de négociation.

Risque stratégique

Les principaux risques de cette stratégie résident dans l’adéquation des paramètres de l’indicateur. Les paramètres de longueur d’étape et de longueur d’étape maximale du SAR parabolique ont un impact direct sur la vitesse de rétrogradation de sa capture. Les cycles de lissage des valeurs K et D de Stoch doivent être conformes aux caractéristiques du marché.

En outre, le principe de l’analyse multi-cadres de temps met l’accent sur l’utilisation combinée de différents indicateurs de périodes. Cependant, la façon de traiter les divergences entre les indicateurs de périodes longues et courtes est également une question qui mérite attention. Une solution possible consiste à combiner les indicateurs de tendance pour déterminer la direction globale et les indicateurs de type BREAKOUT pour déterminer le moment de sortie spécifique.

Orientation de l’optimisation de la stratégie

La stratégie vise à optimiser la suite de la stratégie dans les trois domaines suivants:

  1. Ajout d’un mécanisme d’ajustement de la longueur d’avance. Permet aux paramètres du Parabolic SAR de s’ajuster en fonction de la volatilité du marché et de mieux capturer les retournements.

  2. Augmenter le mécanisme de stop loss. Choisir de s’arrêter et de se retirer lorsque le prix atteint un niveau défavorable. Contrôler les pertes individuelles.

  3. L’introduction de la technologie d’apprentissage automatique. La pertinence du comportement des prix sur différentes périodes de temps peut être déterminée par la formation d’algorithmes. Les paramètres de la stratégie de combinaison de différentes périodes peuvent également être obtenus par l’optimisation d’algorithmes.

Résumer

Les stratégies de quantification de triple couverture tirent pleinement parti des avantages complémentaires des indicateurs Parabolic SAR, Stoch et Security. Elles jugent la cohérence du comportement du marché à partir de trois dimensions de tendance à court terme, de survente et de vente excessive et de moyenne à long terme, constituant une stratégie de négociation stable et fiable. L’utilisation combinée de plusieurs indicateurs aide à filtrer les faux signaux, tandis que l’utilisation de plusieurs cadres temporels permet de prendre des décisions dans le cadre d’une validation sur de longues périodes courtes.

Code source de la stratégie
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='kyenji', shorttitle='kyenji90', overlay=true)

// Parabolic SAR
parabolicSARStart=input.float(0.01)
parabolicSARInc=input.float(0.01)
parabolicSARMax=input.float(0.2)
psarDot = ta.sar(parabolicSARStart,parabolicSARInc,parabolicSARMax)
longConditionPSAR = psarDot > close
shortConditionPSAR = psarDot < close

// Stoch
periodK = input.int(14, title="K", minval=1)
periodD = input.int(3, title="D", minval=1)
smoothK = input.int(3, title="Smooth", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
h0 = 80
h1 = 20
longConditionStoch = k < h1
shortConditionStoch = k > h0

// Security
securityPeriod=input('180')
longConditionSecurity = ta.crossover(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open))
shortConditionSecurity = ta.crossunder(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open))

// Generate Signal
longCondition = longConditionSecurity and longConditionPSAR and longConditionStoch
shortCondition = shortConditionSecurity and shortConditionPSAR and shortConditionStoch

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)