Stratégie de trading quantitative basée sur l'indicateur de moment stochastique


Date de création: 2024-03-11 10:46:10 Dernière modification: 2024-03-11 10:46:10
Copier: 3 Nombre de clics: 595
1
Suivre
1617
Abonnés

Stratégie de trading quantitative basée sur l’indicateur de moment stochastique

Aperçu de la stratégie

Cet article présente une stratégie de trading quantitatif basée sur l’indicateur stochastique de moment aléatoire (SMI). Cette stratégie utilise les signaux croisés de l’indicateur SMI et de son indice des moyennes mobiles (EMA) pour identifier les opportunités de vente et d’achat potentielles. Elle déclenche un signal d’achat lorsque le signal SMI traverse son EMA sur la ligne et un signal de vente lorsque le signal SMI traverse son EMA sur la ligne.

Principe de stratégie

Le cœur de la stratégie est l’indicateur de moment de force aléatoire (SMI). L’SMI est un indicateur d’oscillation dynamique utilisé pour mesurer la position du cours de clôture par rapport à la fourchette des hauts et des bas sur une période donnée. Plus précisément, la stratégie calcule d’abord le prix le plus élevé et le prix le plus bas sur une période donnée, puis la différence entre le cours de clôture et le milieu du cours le plus élevé et le prix le plus élevé et le prix le plus bas.

Lorsque le signal du SMI traverse sa ligne EMA, il indique une augmentation de la dynamique ascendante, déclenchant un signal d’achat; lorsque le signal du SMI traverse sa ligne EMA, il indique une augmentation de la dynamique descendante, déclenchant un signal de vente. En outre, la stratégie marque également l’état extrême du SMI par des niveaux de surachat et de survente.

Avantages stratégiques

  1. La stratégie est basée sur un fort indicateur de dynamique, le SMI, qui permet de capturer efficacement les tendances du marché et les changements de dynamique.

  2. La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre.

  3. En utilisant les moyennes mobiles indicielles comme lignes de signal, les stratégies permettent d’atténuer le bruit des prix et d’améliorer la fiabilité du signal.

  4. Les marqueurs des niveaux de surachat et de survente fournissent des outils de gestion des risques supplémentaires à la stratégie.

Risque stratégique

  1. La stratégie repose sur un seul indicateur SMI et peut être exposée au risque de défaillance de l’indicateur. Afin d’atténuer ce risque, il peut être envisagé de confirmer le signal de négociation en combinaison avec d’autres indicateurs techniques ou fondamentaux.

  2. Les stratégies peuvent générer des signaux de trading fréquents dans un marché en turbulence, ce qui entraîne des coûts de trading élevés. Pour résoudre ce problème, la fréquence des transactions peut être réduite en optimisant les paramètres ou en introduisant un mécanisme de filtrage.

  3. La stratégie n’a pas de mécanisme de stop-loss explicite et peut être confrontée à un risque trop élevé pour une seule transaction. Le risque peut être contrôlé en définissant un niveau de stop-loss approprié.

Orientation de l’optimisation de la stratégie

  1. Optimisation des paramètres: la performance de la stratégie dépend en grande partie des paramètres utilisés dans le calcul du SMI, tels que la longueur %K, la longueur %D, etc. En optimisant ces paramètres, la performance de la stratégie peut être améliorée.

  2. Filtrage des signaux: Pour réduire la fréquence des transactions et améliorer la qualité des signaux, il est possible d’envisager l’introduction de mécanismes de filtrage supplémentaires, tels que la confirmation de tendances, la confirmation de volumes de transactions, etc.

  3. Gestion des risques: l’inclusion de règles claires de gestion des stop-loss et des positions dans la stratégie permet de mieux contrôler les risques et d’améliorer la solidité de la stratégie.

  4. Combinaison multifactorielle: la combinaison des signaux SMI avec d’autres indicateurs techniques ou fondamentaux pour former un mécanisme de décision de transaction plus complet et plus fiable.

Résumer

Cette article présente une stratégie de trading quantifié basée sur l’indicateur de moment aléatoire ((SMI)). Cette stratégie utilise l’indicateur SMI et le signal croisé de sa moyenne mobile indicielle pour identifier les opportunités de vente potentielles. L’avantage de la stratégie réside dans la fiabilité et la gestion des risques du signal, en utilisant des indices dynamiques puissants, une clarté logique et une facilité de mise en œuvre, tout en utilisant des moyennes mobiles et des niveaux de survente et de survente.

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

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="SMI_BackTest", overlay=false)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal)
if (shortCondition)
    strategy.entry("Sell", strategy.short)