Stratégie de négociation quantitative à plusieurs délais basée sur des indicateurs SAR, actions et valeurs mobilières paraboliques

Auteur:ChaoZhang est là., Date: 2024-01-18 11h40 et 38 min
Les étiquettes:

img

Résumé

Cette stratégie est appelée Triple Insurance stratégie de trading quantitative. Elle combine les signaux des indicateurs Parabolic SAR, Stock et Securities pour capturer les tendances de rupture. L'analyse multi-temporelle réalise des décisions de trading plus stables et fiables grâce à la combinaison de différents indicateurs périodiques.

La logique de la stratégie

Cette stratégie utilise l'indicateur SAR parabolique pour déterminer la direction de la tendance et le moment de l'inversion. L'indicateur Stoch juge s'il est suracheté ou survendu. La fonction de sécurité extrait la direction des moyennes mobiles de cycle plus long pour déterminer la tendance globale. Les trois sont combinés pour former des décisions de trading:

  1. Lorsque les points SAR paraboliques se convertissent à la baisse, cela est considéré comme un signal haussier; lorsque les points se tournent vers le haut, cela indique une baisse.

  2. Les valeurs de stock K inférieures à 20 sont considérées comme survendues et supérieures à 80 sont considérées comme surachetées.

  3. La fonction Sécurité appelle les moyennes mobiles à cycle plus long pour déterminer la direction générale de la tendance, ce qui permet une analyse combinée entre différents cycles de temps.

Lorsque les trois indicateurs ci-dessus donnent des signaux haussiers, allez long. Lorsque vous donnez des signaux baissiers, allez court. Suivez strictement le principe du filtrage de multiples indicateurs pour filtrer efficacement les fausses ruptures et localiser les vraies tendances.

Les avantages

Le plus grand avantage de cette stratégie réside dans son analyse multi-temporelle. Les trois indicateurs jugent respectivement le comportement des prix à court terme, à moyen terme et à long terme. Parabolique SAR capture le timing de l'inversion et les tendances à court terme.

Dans le même temps, cette stratégie adopte plusieurs indicateurs de jugement et de filtrage pour minimiser la probabilité d'un mauvais jugement d'un seul.

Les risques

Les principaux risques de cette stratégie résident dans l'adéquation des paramètres d'indicateur. La taille des étapes et la taille maximale des étapes de Parabolic SAR affectent directement la vitesse de capture des inversions. Les cycles de lissage de la valeur K et de la valeur D de Stoch doivent correspondre aux caractéristiques du marché. Le cycle de sélection de la fonction Sécurité affecte également le jugement. Des réglages incorrects de ces paramètres clés peuvent tous conduire à de mauvaises décisions de trading de la stratégie.

En outre, le principe de l'analyse multi-temporelle met l'accent sur la combinaison d'indicateurs à travers les périodes. Cependant, la façon de gérer les divergences entre les indicateurs de cycle long et court est également un problème qui mérite d'être pris en compte. Une solution possible consiste à déterminer la direction globale avec des indicateurs de tendance et à déterminer le moment de sortie spécifique à l'aide des indicateurs BREAKOUT.

Directions d'optimisation

Les principaux axes d'optimisation de cette stratégie sont les suivants:

  1. Augmenter le mécanisme de taille d'étape adaptatif. Permettre aux paramètres SAR paraboliques de s'ajuster en fonction du degré de volatilité du marché pour mieux capturer les renversements.

  2. Ajouter un mécanisme de stop loss. Sortir avec un stop loss lorsque le prix franchit un certain niveau vers la direction défavorable. Contrôler la perte d'une seule transaction.

  3. Introduire des techniques d'apprentissage automatique. Utiliser des algorithmes pour former la corrélation entre les comportements des prix à travers différentes périodes. Les paramètres de stratégie combinant différents délais peuvent également être optimisés par des algorithmes.

Conclusion

La stratégie quantitative Triple Insurance utilise pleinement les avantages complémentaires des indicateurs SAR, Stock et Securities Parabolic. Ils jugent la cohérence des comportements du marché à partir des dimensions des tendances à court terme, des niveaux de surachat/survente et des moyennes mobiles à long terme pour construire une stratégie de trading stable et fiable. L'utilisation de plusieurs indicateurs aide à filtrer les faux signaux. L'utilisation de plusieurs délais permet de prendre des décisions en partant du principe que la vérification est obtenue à travers les cycles courts et longs. En général, cette stratégie a une forte intégration et une grande praticité, ce qui la rend utile pour de nouvelles recherches et applications.


/*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)


Plus de