Stratégie de négociation quantitative à facteurs multiples

Auteur:ChaoZhang est là., Date: 2023-12-27 15h46 et 27h
Les étiquettes:

img

Résumé

Cette stratégie combine la stratégie d'inversion et la stratégie de ligne psychologique pour former une stratégie de trading quantitative à facteurs multiples.

Principe

123 Stratégie d'inversion

La stratégie d'inversion 123 juge que si le prix de clôture de la journée augmente par rapport à la journée précédente, et que la ligne K lente est inférieure à 50, passez long; si elle tombe, et que la ligne K rapide est supérieure à 50, passez court.

Stratégie de ligne psychologique

La stratégie de la ligne psychologique compte le rapport des hausses et des baisses sur un certain cycle. Si la hausse est supérieure à 50%, elle indique que les taureaux contrôlent le marché; si la hausse est inférieure à 50%, elle indique que les ours contrôlent le marché. Faites des jugements sur la psychologie du marché en fonction du rapport des hausses et des baisses.

Cette stratégie combine les signaux des deux stratégies ci-dessus: ouvrir des positions lorsque les deux stratégies donnent des signaux dans la même direction et fermer des positions lorsque les signaux sont donnés dans des directions différentes.

Les avantages

La stratégie combine plusieurs facteurs et peut faire des jugements plus précis sur les tendances du marché, en évitant les erreurs de jugement causées par un seul indicateur technique.

Risques et solutions

L'établissement de paramètres pour chaque facteur de la stratégie aura un impact plus important sur la performance de la stratégie. Des combinaisons de paramètres déraisonnables peuvent considérablement réduire l'efficacité de la stratégie. En outre, des changements drastiques dans les tendances peuvent également entraîner l'échec de la stratégie. Pour réduire les risques, nous devons revenir sur différentes conditions du marché pour trouver les paramètres optimaux; contrôler également la taille de la position pour nous assurer qu'une seule perte ne sera pas trop grande.

Directions d'optimisation

Sur la base existante, nous pouvons continuer à ajouter d'autres facteurs de jugement tels que la volatilité et le volume pour former une logique de stratégie plus tridimensionnelle; ou ajouter des algorithmes d'apprentissage automatique pour obtenir une optimisation adaptative automatique des paramètres.

Résumé

Cette stratégie prend en compte de manière exhaustive plusieurs facteurs tels que les modèles techniques et la psychologie du marché. La validation entre différents facteurs garantit la validité des signaux. En même temps, elle laisse une large marge d'optimisation et devrait atteindre des performances supérieures. Il s'agit d'une stratégie quantitative de haute qualité qui vaut le suivi, l'accumulation et l'optimisation à long terme.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/04/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
// Psychological line (PSY), as an indicator, is the ratio of the number of 
// rising periods over the total number of periods. It reflects the buying 
// power in relation to the selling power.
// If PSY is above 50%, it indicates that buyers are in control. Likewise, 
// if it is below 50%, it indicates the sellers are in control. If the PSY 
// moves along the 50% area, it indicates balance between the buyers and 
// sellers and therefore there is no direction movement for the market.
//
// 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


PLine(Length) =>
    pos = 0.0
    cof = close > close[1]? 1:0
    xPSY = sum(cof,Length) / Length * 100
    pos:= iff(xPSY > 50, 1,
           iff(xPSY < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Psychological line", 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, "---- Psychological line ----")
LengthPLine = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPLine = PLine(LengthPLine)
pos = iff(posReversal123 == 1 and posPLine == 1 , 1,
	   iff(posReversal123 == -1 and posPLine == -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