Stratégie de suivi de l'inversion quantitative à deux volets


Date de création: 2024-02-18 10:03:14 Dernière modification: 2024-02-18 10:03:14
Copier: 0 Nombre de clics: 533
1
Suivre
1617
Abonnés

Stratégie de suivi de l’inversion quantitative à deux volets

Aperçu

La stratégie de suivi des retournements quantifiée en deux canaux permet d’obtenir une stratégie de négociation de courte ligne efficace et stable qui permet de capturer les retournements rapides du marché tout en réduisant les coûts d’opportunité liés aux signaux manqués en combinant l’utilisation d’indicateurs simples de moyenne mobile et d’indicateurs aléatoires.

Principe de stratégie

La stratégie est composée de deux parties: la partie 123 de la forme inverse et la partie 123 de la forme inverse qui se prépare à un revirement en calculant la relation entre les prix de clôture des deux premiers jours de négociation. Si la clôture du jour précédent est inférieure à celle des deux jours précédents et que la clôture du jour de négociation est supérieure à celle du jour précédent, et que la ligne lente aléatoire est inférieure à 50, un signal d’achat est généré.

Avantages stratégiques

Le plus grand avantage d’une stratégie de suivi de revers quantifiée en deux canaux est la combinaison de l’utilisation de formes de revers et de filtrage de tendance, ce qui lui permet à la fois de capturer des revers rapides et d’éviter d’être pris au piège dans un marché en mouvement. Les sources de revenus sont principalement deux: premièrement, l’identification des formes 123 permet de suivre en temps opportun l’opportunité d’un ajustement rapide des prix, ce que de nombreuses stratégies de pondération ne peuvent pas faire.

Risque stratégique

Le risque principal de cette stratégie réside dans le fait qu’une mauvaise configuration des paramètres peut entraîner une fréquence de négociation trop élevée ou une capacité insuffisante de reconnaissance des signaux. Si les paramètres de la forme 123 sont trop sensibles, ils peuvent entraîner des transactions fréquentes dans des conditions de choc, ce qui entraîne une perte de position plus importante.

Optimisation de la stratégie

La stratégie peut être optimisée de plusieurs façons: premièrement, en ajustant les paramètres de la forme 123 de manière à ce qu’ils soient à la fois capables de reconnaître un renversement clair et à ne pas être trop sensibles pour générer des signaux erronés. Deuxièmement, en optimisant les paramètres de la moyenne mobile qui s’adapte pour trouver l’équilibre optimal entre le stable et le sensible. Troisièmement, des stratégies de stop-loss peuvent être introduites pour contrôler les pertes individuelles. Quatrièmement, la qualité des décisions peut être améliorée en combinaison avec des indicateurs d’émotions du marché.

Résumer

La stratégie de suivi inversé quantifié en deux canaux intègre avec succès les deux parties indispensables du trading inversé et du filtrage des tendances. L’avantage de la combinaison est significatif. Grâce à l’optimisation continue des paramètres définis et à l’amélioration continue des mécanismes de contrôle des pertes et des risques, la stratégie est susceptible de devenir une stratégie de trading quantifiée et efficace, facile à réaliser des gains et à contrôler les risques.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/12/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Everyone wants a short-term, fast trading trend that works without large
// losses. That combination does not exist. But it is possible to have fast
// trading trends in which one must get in or out of the market quickly, but
// these have the distinct disadvantage of being whipsawed by market noise
// when the market is volatile in a sideways trending market. During these
// periods, the trader is jumping in and out of positions with no profit-making
// trend in sight. In an attempt to overcome the problem of noise and still be
// able to get closer to the actual change of the trend, Kaufman developed an
// indicator that adapts to market movement. This indicator, an adaptive moving
// average (AMA), moves very slowly when markets are moving sideways but moves
// swiftly when the markets also move swiftly, change directions or break out of
// a trading range.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

KAMA(Length) =>
    pos = 0.0
    nAMA = 0.0
    xPrice = close
    xvnoise = abs(xPrice - xPrice[1])
    nfastend = 0.666
    nslowend = 0.0645
    reverse = input(false, title="Trade reverse")
    nsignal = abs(xPrice - xPrice[Length])
    nnoise = sum(xvnoise, Length)
    nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
    nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
    nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
    pos := iff(close[1] > nAMA, 1,
    	     iff(close[1] < nAMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Kaufman Moving Average Adaptive", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthKAMA = input(21, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKAMA = KAMA(LengthKAMA)
pos = iff(posReversal123 == 1 and posKAMA == 1 , 1,
	   iff(posReversal123 == -1 and posKAMA == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )