Analyse de backtesting de la stratégie d'arbitrage de momentum


Date de création: 2023-10-25 11:10:59 Dernière modification: 2023-10-25 11:10:59
Copier: 0 Nombre de clics: 728
1
Suivre
1617
Abonnés

Analyse de backtesting de la stratégie d’arbitrage de momentum

Nom de la stratégie

Je l’appellerai la stratégie de l’arbitrage dynamique en fonction de ses principales caractéristiques.

Deuxième vue d’ensemble de la stratégie

La stratégie consiste à construire des signaux de plus-value en calculant l’indicateur de choc dynamique de Chande et en définissant des seuils supérieurs et inférieurs pour créer des opportunités d’arbitrage et réaliser des profits.

Troisièmement, le principe de stratégie

Le code commence par définir les paramètres Longueur, TopBand et LowBand, Longueur représentant le nombre de jours de calcul de la dynamique, TopBand et LowBand représentant les seuils de réglage.

On calcule ensuite le mouvement absolu xMom du jour le plus récent de Longitude, puis on calcule la moyenne mobile simple du jour de Longitude xSMA_mom.

On calcule ensuite le mouvement cumulé de Length par jour xMomLength。

On calcule ensuite l’indicateur d’oscillation de la dynamique nRes, qui est égal à xMomLength divisé par xSMA_mom multiplié par Length et magnifié 100 fois.

La direction de la polyvalence est déterminée par la relation entre la taille de nRes et la taille des seuils supérieurs et inférieurs.

Enfin, en fonction de l’activation ou non de la correction de la transaction inversée pos, un signal de transaction possig est généré, générant des entrées multichampions.

Quatrièmement, les avantages stratégiques

  1. L’utilisation d’indicateurs de dynamique pour identifier les points de basculement potentiels de la tendance, afin de mieux capturer la tendance
  2. Le filtrage des seuils est combiné à un signal clair de pluri-voie pour éviter les transactions erronées
  3. L’application de la théorie de la transaction inversée pour obtenir des opportunités de reprise
  4. Les paramètres sont réglables et peuvent être optimisés pour différentes variétés et périodes
  5. Les paramètres de visualisation sont intuitifs et facilitent la compréhension de la logique des transactions

Cinquièmement, le risque stratégique.

  1. Si vous ne considérez que le facteur dynamique, vous risquez de manquer les opportunités de trading créées par d’autres indicateurs techniques.
  2. La rupture de la dynamique ne signifie pas nécessairement un renversement de tendance, il y a un risque d’erreur
  3. Les contrats inversés, bien que rentables, pourraient accroître les pertes
  4. Une mauvaise optimisation des paramètres peut conduire à des transactions trop fréquentes ou à des points optimaux manqués
  5. Dégénérescence de la dynamique à court terme due à un événement soudain nécessitant un filtrage approprié

Il est possible de contrôler le risque en combinant des indicateurs techniques tels que la tendance et la volatilité pour déterminer la fiabilité des signaux de dynamique, en ajustant les paramètres pour réduire la fréquence des transactions et en assouplissant le point de rupture de manière appropriée.

Sixièmement, améliorer la stratégie

  1. Ajout de filtres sur d’autres indicateurs techniques pour améliorer la précision des signaux de trading

Avant le déclenchement du signal de dynamique, il est possible de déterminer si le prix de clôture est au-dessus du système de ligne moyenne ou si la volatilité est dans la plage normale, afin d’éviter d’être induit en erreur.

  1. Paramètres d’optimisation en fonction des caractéristiques de la variété

Pour les variétés à forte volatilité, il est possible d’élargir de manière appropriée la plage de seuils normaux de volatilité pour réduire la fréquence des transactions.

  1. Optimisation de plusieurs périodes de temps en fonction de différentes périodes de temps

Pendant la journée, il est possible d’utiliser des périodes plus courtes de longueur pour effectuer des transactions sur des lignes ultra courtes; ajustez les paramètres en fonction de la ligne de la semaine ou de la ligne de la lune, en mettant l’accent sur les tendances sur les lignes longues moyennes.

  1. Définition des conditions de déviation

Lors du déclenchement d’un signal bullish, il est nécessaire d’ajouter des conditions de prix supérieures à la vallée de la vague précédente pour éviter un faux signal de renversement de tendance.

VII. Conclusion

La stratégie est principalement utilisée pour identifier les opportunités de renversement de tendance à court terme grâce à des indicateurs dynamiques. La combinaison de paramètres de filtrage génère des signaux de négociation.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/02/2017
//    This indicator plots Chande Momentum Oscillator. This indicator was 
//    developed by Tushar Chande. A scientist, an inventor, and a respected 
//    trading system developer, Mr. Chande developed the CMO to capture what 
//    he calls "pure momentum". For more definitive information on the CMO and 
//    other indicators we recommend the book The New Technical Trader by Tushar 
//    Chande and Stanley Kroll.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder`s RSI, yet it differs 
//    in several ways:
//        - It uses data for both up days and down days in the numerator, thereby 
//          directly measuring momentum;
//        - The calculations are applied on unsmoothed data. Therefore, short-term 
//          extreme movements in price are not hidden. Once calculated, smoothing 
//          can be applied to the CMO, if desired;
//        - The scale is bounded between +100 and -100, thereby allowing you to 
//          clearly see changes in net momentum using the 0 level. The bounded scale 
//          also allows you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO (Chande Momentum Oscillator)", shorttitle="CMO")
Length = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
pos = iff(nRes > TopBand, 1,
	   iff(nRes <= LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
         iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue)
plot(nRes, color=blue, title="CMO")