Stratégie d'inversion du suivi du momentum à deux facteurs

Auteur:ChaoZhang est là., Date: 2024-01-18 11h33h40
Les étiquettes:

img

Résumé

Cette stratégie combine le facteur d'inversion des prix et le facteur de dynamique des actions pour construire un modèle à deux facteurs pour saisir les opportunités découlant des inversions à court terme et de la persistance à long terme sur le marché.

Principes de stratégie

La stratégie se compose de deux parties:

  1. 123 Facteur d'inversion du schéma

    Cette partie détecte les signaux d'inversion des prix à court terme en examinant la variation des prix de clôture au cours des deux derniers jours. Plus précisément, si le prix de clôture d'hier est inférieur à celui des deux jours précédents et que le prix de clôture d'aujourd'hui est supérieur à celui d'hier, il peut être déterminé comme un signal d'inversion des prix haussier.

  2. Facteur RSI filtré Laguerre

    Cette partie construit un indicateur RSI plus réactif en utilisant des filtres Laguerre. La sensibilité des indicateurs RSI traditionnels aux changements de prix est relativement faible. En revanche, les filtres Laguerre peuvent construire des indicateurs en utilisant moins de données historiques, améliorant ainsi la sensibilité aux fluctuations de prix. Le nouvel indicateur RSI est utilisé pour déterminer la tendance à moyen et long terme.

En fin de compte, la stratégie combine les signaux provenant des deux facteurs, assurant ainsi que des renversements à court terme se produisent conformément aux tendances globales du marché, afin de capitaliser sur les opportunités de retracement.

Les avantages de la stratégie

Le plus grand avantage de cette stratégie réside dans la combinaison réussie de facteurs d'inversion et de tendance. Le facteur d'inversion capte les opportunités de rebond à court terme après les consolidations de prix, tandis que le facteur de tendance garantit que le biais long/court global ne change pas. Par rapport aux modèles d'inversion ou de dynamique autonomes, ce modèle à double facteur peut améliorer la précision des signaux long/court tout en abaissant les faux signaux.

En outre, l'introduction de l'indice Laguerre RSI accroît la sensibilité du modèle aux variations de prix, ce qui est particulièrement crucial pour les transactions à haute fréquence.

Analyse des risques

Le risque principal de cette stratégie est la possibilité de signaux contradictoires des deux facteurs. En particulier pendant les corrections de marché volatils, les prix à court terme peuvent souvent s'inverser tandis que les tendances à moyen et long terme commencent également à changer. Dans de tels cas, les deux types de signaux peuvent facilement ne pas correspondre ou subir des retards. Cela conduit à des signaux de stratégie incorrects et à des opportunités d'entrée manquées ou à des pertes inutiles.

En outre, de mauvaises configurations de paramètres peuvent également entraîner de mauvaises performances de la stratégie. Les paramètres des indicateurs techniques appartenant aux facteurs d'inversion et de tendance doivent être optimisés et testés séparément. Des combinaisons de paramètres incorrectes peuvent réduire considérablement l'efficacité de la stratégie.

Directions d'optimisation

Les principaux axes des futures optimisations de cette stratégie sont le filtrage des signaux et la sélection des paramètres.

Pour la sélection des paramètres, des méthodes d'apprentissage automatique et d'expérience scientifique pourraient être utilisées pour tester systématiquement diverses combinaisons de paramètres et parvenir à des configurations optimales.

Résumé

Cette stratégie a réussi à fusionner les facteurs d'inversion et de tendance à travers un modèle à deux facteurs pour capitaliser sur les baisses à court terme et la persistance à moyen et long terme.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/01/2021
// 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
// This is RSI indicator which is more sesitive to price changes. 
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior 
// indicators using very short data lengths as well. The use of shorter 
// data lengths means you can make the indicators more responsive to 
// changes in the price.
//
// 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

LB_RSI(gamma,BuyBand,SellBand) =>
    pos = 0.0
    xL0 = 0.0
    xL1 = 0.0
    xL2 = 0.0
    xL3 = 0.0
    xL0 := (1-gamma) * close + gamma * nz(xL0[1], 1)
    xL1 := - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
    xL2 := - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
    xL3 := - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
    CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0)  + (xL2 >= xL3 ? xL2 - xL3 : 0)
    CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1)  + (xL2 >= xL3 ? 0 : xL3 - xL2)
    nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
    pos := iff(nRes > BuyBand, 1,
    	     iff(nRes < SellBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Laguerre-based RSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLB_RSI = LB_RSI(gamma,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posLB_RSI == 1 , 1,
	   iff(posReversal123 == -1 and posLB_RSI == -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 )

Plus de