Tendance de l'indice de dynamique des FNB à la suite de la stratégie

Auteur:ChaoZhang est là., Date: 2023-12-05 15:13:25 La date est fixée à
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de suivi de la tendance de l'indice ETF basée sur des moyennes mobiles. Il utilise le croisement et la pente des moyennes mobiles rapides et lentes pour déterminer la direction de la tendance pour la tendance de suivi de la tendance de la tendance à faible risque des actifs de l'indice ETF.

La logique de la stratégie

La stratégie utilise des moyennes mobiles de 50 périodes et 150 périodes. Lorsque la moyenne mobile rapide traverse la moyenne mobile lente et que la pente de la moyenne mobile rapide est supérieure au seuil, elle indique un renversement de tendance à la hausse pour une entrée longue. Lorsque la moyenne mobile rapide traverse en dessous de la moyenne mobile lente ou que la pente de la moyenne mobile rapide est inférieure au seuil, elle indique un renversement de tendance à la baisse pour les positions sortantes.

La stratégie utilise simplement la direction et la pente des moyennes mobiles pour déterminer la tendance du marché, éviter le surajustement et contrôler efficacement les risques.

Analyse des avantages

Il s'agit d'une tendance des ETF indiciels à dynamique à faible risque suivant une stratégie présentant les avantages suivants:

  1. Les moyennes mobiles filtrent le bruit du marché pour un contrôle efficace des risques.
  2. Faible coût de mise en œuvre: seules des moyennes mobiles simples sont utilisées, ce qui se traduit par un faible coût et une mise en œuvre facile.
  3. Les ETF indiciels ont eux-mêmes une faible volatilité, combinée à un suivi de la tendance, des rendements stables peuvent être obtenus.
  4. Une grande adaptabilité: de nombreux paramètres réglables permettent des optimisations pour différents FNB indiciels.

Analyse des risques

Il y a aussi des risques:

  1. L'utilisation de moyennes mobiles pour déterminer les tendances peut manquer les retours rapides.
  2. Les paramètres sont sensibles. Des paramètres mal réglés peuvent entraîner une survente ou des opportunités manquées.
  3. Dépendance des performances des marchés: peut être sous-performant sur des marchés instables ou en panne.

Les solutions:

  1. Incorporer d'autres indicateurs pour déterminer les retours rapides.
  2. Tester et optimiser les paramètres.
  3. Ajustez dynamiquement les paramètres en fonction de l'évolution des conditions du marché.

Directions d'optimisation

Il y a quelques domaines dans lesquels cette stratégie peut être encore optimisée:

  1. Utilisez d'autres indicateurs tels que MACD, KD pour compléter la stratégie.
  2. Incorporer une logique de stop loss pour contrôler davantage les risques.
  3. Optimiser les périodes de moyenne mobile pour adapter davantage d'ETF indexés.
  4. Ajustez dynamiquement les paramètres en fonction des différents environnements du marché.

Conclusion

En conclusion, il s'agit d'une stratégie de suivi de la tendance de l'indice ETF à faible risque et facile à mettre en œuvre. Elle détermine les directions de la tendance en utilisant des croisements de moyennes mobiles et présente des avantages tels qu'un contrôle des risques fort, un faible coût de mise en œuvre et des bénéfices stables. Bien que certaines failles existent, la stratégie peut être encore améliorée à bien des égards pour devenir un outil efficace d'allocation d'actifs de l'indice ETF.


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

//@version=4
//please use on daily SPY, or other indexes only
strategy("50-150 INDEX TREND FOLLOWING", overlay=true)

//user input
fastSMA = input(title="Fast Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=50,confirm=false)
slowSMA = input(title="Slow Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=150,confirm=false)
longSlopeThreshold = input(title="Bullish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=5,confirm=false)
shortSlopeThreshold = input(title="Bearish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=-5,confirm=false)
atrValue = input(title="Average True Range (Int)",type=input.integer,minval=1,maxval=100,step=1,defval=14,confirm=false)
risk = input(title="Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=100,confirm=false)

//create indicator
shortSMA = sma(close, fastSMA)
longSMA = sma(close, slowSMA)

//calculate ma slope
angle(_source) =>
    rad2degree=180/3.14159265359
    ang=rad2degree*atan((_source[0] - _source[1])/atr(atrValue)) 

shortSlope=angle(shortSMA)
longSlope=angle(longSMA)

//specify crossover conditions
longCondition = (crossover(shortSMA, longSMA) and (shortSlope > longSlopeThreshold)) or ((close > shortSMA) and (shortSMA > longSMA) and (shortSlope > longSlopeThreshold))
exitCondition = crossunder(shortSMA, longSMA) or (shortSlope < shortSlopeThreshold)
strategy.initial_capital = 50000
//units to buy
amount = (risk / 100) * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

//long trade
if (longCondition and strategy.position_size == 0)
    strategy.order("Long", strategy.long, units)

//close long trade
if (exitCondition and strategy.position_size > 0)
    strategy.order("Exit", strategy.short, strategy.position_size)

// Plot Moving Average's to chart
plot(shortSMA, color=color.blue)
plot(longSMA, color=color.green)

Plus de