Stratégie quantitative combinée basée sur le renversement et la force relative


Date de création: 2023-12-13 17:17:10 Dernière modification: 2023-12-13 17:17:10
Copier: 0 Nombre de clics: 374
1
Suivre
1212
Abonnés

Stratégie quantitative combinée basée sur le renversement et la force relative

Aperçu

Cette stratégie a été introduite par Ulf Jensen dans son livre Comment je peux tripler mon capital sur le marché à terme, page 183. La stratégie d’inversion est combinée avec des indicateurs de force relative pour obtenir un signal plus fort. La stratégie d’association est appelée stratégie de quantification basée sur l’inversion et la force relative.

L’idée principale de cette stratégie est d’utiliser plusieurs facteurs pour juger simultanément, en combinant les deux signaux, le facteur d’inversion et la force relative de la comparaison, pour acheter ou vendre lorsque les deux signaux sont émis simultanément, afin d’améliorer la stabilité de la stratégie.

Principe de stratégie

La première partie est la stratégie d’inversion. Cette stratégie est effectuée dans les conditions suivantes: les prix de clôture des deux derniers jours ont continuellement augmenté et la ligne stochastique lente du 9 est inférieure à 50. La condition de placement est la suivante: les prix de clôture des deux derniers jours ont continuellement diminué et la ligne stochastique rapide du 9 est supérieure à 50.

La deuxième partie est l’indicateur de force relative. L’indicateur calcule la moyenne mobile du taux de variation du cours de clôture de N jours de l’action cible par rapport à l’indice de référence et la compare à une bande d’achat, de vente et de placement prédéfinie.

Cette stratégie combinée juge les signaux des deux parties en même temps et ne procède à l’opération d’achat ou de vente correspondante que si les deux parties émettent le même signal (double achat ou double vente).

Analyse des avantages

Cette stratégie combine le facteur de réversion et le facteur d’intensité relative pour tirer parti des deux. La stratégie de réversion permet de capturer les extrêmes à court terme; la stratégie d’intensité relative permet de saisir les principales tendances de la métropole.

En outre, l’indicateur stochastique, en tant qu’indicateur de différenciation entre les ventes et les ventes, permet de mieux juger du point de basculement. La combinaison d’indicateurs de tendance tels que les moyennes mobiles peut également constituer une stratégie de combinaison plus mature.

Analyse des risques

Le plus grand risque de la stratégie de revers réside dans l’incapacité de déterminer le moment de la reprise du marché, qui peut se poursuivre après une perte. Dans ce cas, les indicateurs de force relative peuvent jouer un rôle pour déterminer si une tendance majeure est en train de changer.

Le risque de la stratégie d’intensité relative réside dans le fait que les paramètres de l’indicateur sont mal configurés, ce qui entraîne trop de signaux erronés. Dans ce cas, la stratégie de retour peut jouer un rôle de filtre et réduire les transactions inutiles.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Tester plus de facteurs de retournement pour trouver des stratégies de retournement plus efficaces. Actuellement, seules les stratégies statistiques de nouveaux hauts/nouveaux bas de N jours sont utilisées.

  2. Les paramètres de l’indicateur de force relative sont testés et optimisés pour trouver la meilleure combinaison de paramètres. Le paramètre actuel est subjectif et peut ne pas être optimal.

  3. Augmentation de la stratégie de stop loss. La stratégie n’a pas de stop loss actuellement, l’augmentation de stop loss raisonnable permet de contrôler le risque de perte.

  4. On peut tester différents indices et calculer leur force par rapport aux actions cibles pour trouver les indices qui correspondent le mieux.

Résumer

Cette stratégie combinant le facteur de renversement et le facteur de force relative pour améliorer la qualité du signal, est une stratégie de combinaison relativement mature. L’espace d’optimisation de la stratégie est grand et des résultats meilleurs peuvent être obtenus en optimisant les paramètres, en arrêtant les stratégies de perte et en ajustant la combinaison des stratégies.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/10/2019
// 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
// Comparative Relative Strength Strategy for ES
//
// 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

CRS(a, b, len, BuyBand, SellBand, CloseBand) =>
    pos = 0.0
    as = security(a, timeframe.period, close) 
    bs = security(b, timeframe.period, close) 
    nRes = sma(as/bs, len)
    pos := iff(nRes > BuyBand, 1,
	         iff(nRes < SellBand, -1,
	          iff(pos[1] == 1 and nRes < CloseBand, 0,
    	       iff(pos[1] == -1 and nRes > CloseBand, 0, nz(pos[1], 0)))))
    pos

strategy(title="Combo Backtest 123 Reversal & Comparative Relative Strength", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
a = syminfo.tickerid 
b = input("BTC_USDT:swap", type=input.symbol) 
LengthCRS = input(10) 
BuyBand = input(0.9988, step = 0.0001)
SellBand = input(0.9960, step = 0.0001)
CloseBand = input(0.9975, step = 0.0001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCRS = CRS(a, b, LengthCRS, BuyBand, SellBand, CloseBand)
pos = iff(posReversal123 == 1 and posCRS == 1 , 1,
	   iff(posReversal123 == -1 and posCRS == -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 )