Stratégie combinée d'inversion et d'interception de régression linéaire


Date de création: 2023-09-26 15:56:48 Dernière modification: 2023-09-26 15:56:48
Copier: 1 Nombre de clics: 703
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie utilise la stratégie de rétrogradation de 123 pour déterminer la relation entre les prix des deux derniers jours de négociation, combinée à l’indicateur de Stoch pour déterminer les signaux de rétrogradation. La stratégie de rétrogradation de 123 utilise l’analyse de la régression linéaire pour déterminer la relation entre les prix et les lignes de tendance, générant des transactions.

Principe de stratégie

123 stratégies de retour en arrière

La stratégie est basée sur les principes suivants:

  1. Si la relation entre les prix de clôture des deux derniers jours de négociation est que le prix de clôture d’aujourd’hui est supérieur à celui d’hier, et que la ligne rapide de Stoch est inférieure à la ligne lente, on considère qu’il existe un signal de revers de bullish

  2. Si la relation entre le prix de clôture des deux derniers jours de négociation est que le prix de clôture d’aujourd’hui est inférieur à celui d’hier, et que la ligne rapide de Stoch est supérieure à la ligne lente, on considère qu’il y a un signal de revers à la baisse

Les règles de jugement sont les suivantes:

  • Si le prix de clôture d’aujourd’hui est supérieur au prix de clôture d’hier et que la ligne rapide de Stoch est , un signal d’achat est généré

  • Si le prix de clôture d’aujourd’hui est inférieur au prix de clôture d’hier et que la ligne rapide de Stoch est supérieure à la ligne lente de Stoch et que la ligne rapide de Stoch est inférieure à la ligne rapide de Stoch, un signal de vente est généré.

La stratégie nécessite de définir des paramètres d’indicateur de Stoch, notamment: calculer la longueur de la période K de Stoch, la longueur de la période de lissage de la ligne rapide de Stoch, la longueur de la période de lissage de la ligne lente de Stoch, la longueur de la période de lissage de la ligne lente de Stoch, le niveau de la ligne rapide de Stoch.

Stratégie de rétrogradation linéaire

La stratégie est basée sur l’analyse de la régression linéaire pour juger de la relation entre le prix et la ligne de tendance de la régression linéaire. Ses règles de jugement sont les suivantes:

  • Si le prix de clôture est supérieur à l’intervalle de régression linéaire, un signal d’achat est généré

  • Si le prix de clôture est inférieur à l’intervalle de régression linéaire, un signal de vente est généré

Cette stratégie nécessite la définition d’un cycle de régression linéaire LengthLRI, ainsi que d’une source de données de régression linéaire xSeria.

Stratégie combinée

Cette stratégie combinée nécessite de satisfaire à la fois à la stratégie de 123 inversion et à la stratégie de coupe de distance de régression linéaire pour générer des ordres de négociation réels, ce qui élimine efficacement les faux signaux et améliore l’efficacité des transactions.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. La commande multi-facteurs permet d’éliminer efficacement les fausses signaux et d’améliorer la qualité des signaux.

La combinaison de deux types de stratégies différentes, qui doivent produire des signaux simultanément, permet de commander. Ce mécanisme d’authentification multifactorielle permet de filtrer les signaux erronés occasionnellement générés par une stratégie, de réduire les transactions inutiles et d’améliorer efficacement la qualité du signal.

  1. Surveiller en temps réel les prix et les tendances pour éviter les emprisonnements

L’interruption de régression linéaire permet de refléter en temps réel la relation entre le prix et la ligne de tendance, et si le prix s’est fortement écarté de la tendance, de suggérer à la stratégie de modifier la direction de la position. Cela permet de stopper les pertes à temps et d’éviter d’être pris au piège dans la tendance historique.

  1. La prise en compte des tendances et des opportunités d’inversion

Les stratégies de régression linéaire sont plus efficaces pour identifier les points d’achat et de vente des tendances. Les stratégies de reprise 123 sont plus efficaces pour identifier les points de reprise. Les deux stratégies peuvent être combinées avec les avantages du trading de tendance et du trading de reprise.

  1. Les paramètres de stratégie peuvent être personnalisés pour optimiser la combinaison

Les deux stratégies offrent des paramètres personnalisables qui peuvent être optimisés pour différentes variétés et tendances afin d’optimiser l’efficacité de la stratégie combinée.

Analyse des risques

La stratégie présente également les risques suivants:

  1. Le multifactoriel pourrait avoir raté une partie de l’occasion

Les signaux de négociation qui doivent satisfaire les deux stratégies manquent une partie de l’opportunité de tirer profit d’une seule stratégie. Si l’efficacité d’une stratégie s’affaiblit, cela entraîne une dégradation de l’efficacité de l’ensemble des transactions.

  1. La régression linéaire est retardée.

La régression linéaire nécessite un certain nombre de données historiques à calculer, ne peut pas réagir en temps réel à des événements soudains et présente un certain retard. Si le prix fait un bond important, la ligne de tendance de régression linéaire nécessite un certain temps pour s’ajuster, ce qui peut générer un mauvais signal.

  1. Optimisation des paramètres raisonnables

Les deux stratégies nécessitent la sélection des paramètres appropriés, qui peuvent nécessiter des ajustements indépendants pour certaines variétés. Si les paramètres sont mal sélectionnés, l’effet de la stratégie sera considérablement réduit.

Le risque de contrepartie peut être réduit par:

  1. Laissez les conditions de déclenchement du signal combiné suffisamment libres pour éviter de manquer trop d’occasions

  2. Une régression linéaire alternative, combinée à des indicateurs de tendance, pour obtenir des jugements de tendance plus en temps réel

  3. Optimisation des paramètres auxiliaires par des méthodes telles que l’apprentissage automatique pour améliorer l’effet de sélection des paramètres

Direction d’optimisation

Cette stratégie peut être optimisée de la manière suivante:

  1. Optimisation des paramètres à l’aide de l’apprentissage automatique

Il est possible de collecter des données historiques, de concevoir des objectifs d’optimisation des paramètres, d’utiliser des algorithmes d’apprentissage automatique pour rechercher les meilleures combinaisons de paramètres, telles que l’algorithme génétique, l’optimisation Bayesian, etc.

  1. Augmentation du mécanisme de prévention des pertes

Il est possible de définir des règles de stop-loss en combinaison avec l’ATR, les indicateurs de tendance, etc. pour contrôler la perte maximale d’une seule transaction.

  1. Optimiser la logique d’entrée et de sortie

Les conditions auxiliaires d’entrée sur le marché, telles que le filtrage de la ligne uniforme, le jugement de la bande de Brin, peuvent être ajoutées sur la base des signaux de négociation, ce qui réduit la fréquence d’ajustement des positions et évite la prise de position.

  1. Combiné à une analyse des sentiments

L’utilisation de la technologie de traitement du langage naturel pour évaluer l’humeur des acteurs du marché et aider à la prise de décision.

  1. Ajout d’un module de prévision d’apprentissage automatique

L’utilisation de modèles d’apprentissage en profondeur tels que LSTM, GRU et d’autres pour la prévision des prix est une référence importante pour les décisions stratégiques.

Résumer

Cette stratégie permet de filtrer efficacement les faux signaux, tout en capturant les retournements et les opportunités de trading de tendance. Cependant, la stratégie présente également un certain risque de retard. Il est nécessaire de se concentrer sur l’optimisation des paramètres et d’étendre le mécanisme de contrôle des vents pour améliorer encore la stabilité de la stratégie.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/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
// Linear Regression Intercept is one of the indicators calculated by using the 
// Linear Regression technique. Linear regression indicates the value of the Y 
// (generally the price) when the value of X (the time series) is 0. Linear 
// Regression Intercept is used along with the Linear Regression Slope to create 
// the Linear Regression Line. The Linear Regression Intercept along with the Slope 
// creates the Regression line.
//
// 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

LRI(Length,xSeria) =>
    pos = 0.0
    xX = Length * (Length - 1) * 0.5
    xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
    xXY = 0.0
    for i = 0 to Length-1
    	xXY := xXY + (i * xSeria[i])
    xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
    xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
    pos:= iff(close > xLRI, 1,
           iff(close < xLRI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
	   iff(posReversal123 == -1 and posLRI == -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 )