Une stratégie d'inversion de filtre passe-bande


Date de création: 2024-01-24 15:28:26 Dernière modification: 2024-01-24 15:28:26
Copier: 0 Nombre de clics: 696
1
Suivre
1617
Abonnés

Une stratégie d’inversion de filtre passe-bande

Aperçu

Une stratégie de retour d’onde de filtrage est une stratégie de négociation d’actions basée sur un filtre de filtrage. Elle simule un filtre de filtrage en construisant une fonction cos et sine et en générant des signaux d’achat et de vente. La stratégie effectue une action inversée, c’est-à-dire acheter ou vendre, lorsque la sortie du filtre est supérieure ou inférieure à un certain niveau de déclenchement.

Principe de stratégie

Le cœur de la stratégie est de construire un filtre à bande passante BP, composé de deux paramètres: la fréquence centrale et la bande passante. La fréquence centrale détermine la cyclicité principale par laquelle le filtre passe, la bande passante détermine la gamme de cycles par laquelle il passe. Ces paramètres déterminent les propriétés de transmission du filtre.

Plus précisément, la stratégie est construite sur les variables suivantes:

  • Longueur: cycle central du filtre
  • Delta: paramètre de bande passante
  • Beta: coefficient lié à la fréquence centrale
  • Gamma: coefficient lié à la bande passante
  • Alpha: variable intermédiaire liée à Beta, Gamma

Sur la base de ces variables, la stratégie a construit un filtre à impulsions illimitées de phase IIR:

BP = 0.5(1 - alpha)(xPrice - xPrice[2]) + beta*(1 + alpha)*nz(BP[1]) - alpha*nz(BP[2])

Lorsque BP est supérieur ou inférieur au TriggerLevel, la stratégie fonctionne dans le sens inverse.

Analyse des avantages

Les principaux avantages de cette stratégie sont:

  1. L’utilisation d’un filtre à bande passante permet d’éliminer les bruits de haute et basse fréquence, d’extraire uniquement les signaux de périodes de moyenne fréquence de Useful, et d’améliorer le rapport de signal-bruit.
  2. Relativement simple et intuitif, il suffit d’ajuster quelques paramètres pour s’adapter à différents cycles et environnements de marché.
  3. L’utilisation d’une stratégie d’inversion permet de capturer en temps opportun le phénomène d’inversion de prix à court terme, de liquider rapidement les positions après avoir réalisé des bénéfices et de réduire le risque de détention des positions.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les paramètres du filtre à bande passante doivent être ajustés en fonction des différentes périodes et des conditions du marché. S’ils ne sont pas correctement configurés, des opportunités de négociation seront manquées ou davantage de signaux erronés seront générés.
  2. Les stratégies de renversement sont sujettes à des renversements illusoires, qui peuvent entraîner des pertes si le renversement ne se produit pas et que les prix continuent de se déplacer dans la direction initiale.
  3. La fréquence des transactions peut être élevée, il faut faire attention à la prévention de la sur-optimisation et à la maîtrise des coûts de transaction.

Afin de réduire ces risques, les méthodes d’optimisation suivantes peuvent être envisagées:

  1. Il utilise des filtres adaptatifs pour ajuster automatiquement les paramètres en fonction de l’évolution du marché.
  2. Le filtrage de la tendance est utilisé pour éviter les positions inversées.
  3. Optimiser les combinaisons de paramètres afin de paramétrer la stratégie et de l’adapter à davantage de conditions de marché.

Direction d’optimisation

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

  1. Adaptation des cycles et des paramètres: Adaptation en temps réel des paramètres tels que la longueur, le delta, etc., en fonction de la tendance des prix au cours des différentes cycles et de la fenêtre de temps la plus récente, afin de permettre au filtre de s’adapter dynamiquement aux changements de l’environnement du marché.

  2. Déterminer la direction de la tendance en ajoutant des indicateurs techniques tels que MACD, MA, etc. sur la base d’un filtre à bande, afin d’éviter l’ouverture de positions négatives.

  3. Combinaison de plusieurs fuseaux horaires: déploiement de stratégies sur plusieurs fuseaux horaires (par exemple, 5 minutes, 15 minutes, 30 minutes, etc.), vérification du signal entre les différentes fuseaux horaires, amélioration de l’exactitude du signal.

  4. Mécanisme de stop-loss: définir une position de stop-loss raisonnable, arrêter activement la position de placement après que les pertes aient atteint le point de stop-loss, contrôler efficacement la taille des pertes individuelles.

L’optimisation des points ci-dessus peut considérablement améliorer la stabilité, l’adaptabilité et la rentabilité de la stratégie.

Résumer

La stratégie d’inversion des ondes de bande passante consiste à construire des filtres de bande passante, à extraire des signaux de fréquence moyenne utiles, et à prendre des mesures inverses pour capturer les occasions de revers de prix à court terme lorsque les filtres émettent des niveaux de déclenchement. La stratégie est relativement simple et peut s’adapter à une variété d’environnements de marché grâce à l’optimisation des paramètres. Les principales directions d’optimisation comprennent l’adaptation des filtres, les tendances, les jugements, les combinaisons de cadres temporels multiples et les mécanismes de stop-loss.

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

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2016
// The related article is copyrighted material from
// Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Reversed Strategy")
Length = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
xPrice = hl2
hline(TriggerLevel, color=blue, linestyle=line)
beta = cos(3.14 * (360 / Length) / 180)
gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2])
pos = iff(BP > TriggerLevel, -1,
	   iff(BP <= TriggerLevel, 1, nz(pos[1], 0))) 
if (pos == 1) 
    strategy.entry("Long", strategy.long)
if (pos == -1)
    strategy.entry("Short", strategy.short)	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(BP, color=red, title="Bandpass Filter Strategy")