Stratégie quantique basée sur l'interception de régression linéaire

Auteur:ChaoZhang est là., Date: 2023-12-29 à 11h45
Les étiquettes:

img

Résumé

Cette stratégie utilise des techniques de régression linéaire pour calculer l'interception de régression linéaire et l'utilise comme signal de trading pour construire une stratégie de trading quantitative.

Principe de stratégie

L'intersection de régression linéaire indique la valeur prévue de Y (généralement le prix) lorsque la valeur de la série temporelle X est 0. Cette stratégie prédéfinit le paramètre Longueur, prend le prix de clôture comme séquence source et calcule l'intersection de régression linéaire (xLRI) des derniers jours de Longueur. Lorsque le prix de clôture est supérieur à xLRI, allez long; lorsque le prix de clôture est inférieur à xLRI, allez court.

La formule de calcul spécifique est la suivante:

xX = Length *(Length - 1)* 0.5
xDivisor = xX *xX - Length* Length *(Length - 1) *(2 * Length - 1) / 6  
xXY = Σ(i *Closing Price[i]), i from 0 to Length-1
xSlope = (Length *xXY - xX* Σ(Closing Price, Length))/ xDivisor 
xLRI = (Σ(Closing Price, Length) - xSlope * xX) / Length

Grâce à de tels calculs, l'intersection de régression linéaire xLRI pour les derniers jours de longueur peut être obtenue.

Les avantages

Cette stratégie présente les avantages suivants:

  1. En utilisant des techniques de régression linéaire, il a certaines capacités de prédiction et de jugement des tendances pour les prix.
  2. Moins de paramètres, modèle plus simple, facile à comprendre et à mettre en œuvre.
  3. Paramètre personnalisable Longueur pour ajuster la flexibilité de la stratégie.

Risques et solutions

Cette stratégie comporte également des risques:

  1. L'ajustement par régression linéaire est simplement un ajustement statistique basé sur des données historiques, avec une capacité limitée à prédire les tendances futures des prix.
  2. Si les fondamentaux de l'entreprise subissent des changements majeurs, les résultats de l'ajustement par régression linéaire peuvent devenir invalides.
  3. Un réglage incorrect du paramètre Longueur peut entraîner un surajustement.

Les contre-mesures:

  1. Réduire de manière appropriée le paramètre Longueur afin d'éviter le surmontage.
  2. Faites attention aux changements des fondamentaux de l'entreprise et intervenez manuellement pour fermer les positions si nécessaire.
  3. Adopter le paramètre adaptatif Longueur pour s'ajuster dynamiquement en fonction des conditions du marché.

Directions d'optimisation

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

  1. Ajouter un mécanisme de stop-loss pour contrôler les pertes uniques.
  2. Combiner avec d'autres indicateurs pour former une stratégie combinée visant à améliorer la stabilité.
  3. Ajoutez le module d'optimisation auto-adaptatif des paramètres pour modifier dynamiquement les paramètres de longueur.
  4. Ajouter un module de contrôle de position pour éviter les sur-trades.

Résumé

Cette stratégie construit une stratégie de trading quantitative simple basée sur l'interception de régression linéaire. Dans l'ensemble, la stratégie a une certaine valeur économique, mais il y a aussi des risques à noter.


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/03/2018
// 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.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Line Regression Intercept Backtest", overlay = true)
Length = input(14, minval=1)
xSeria = input(title="Source", defval=close)
reverse = input(false, title="Trade reverse")
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 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))) 
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(xLRI, color=blue, title="LRI")

Plus de