Stratégie des bénéfices de l'indicateur KST

Auteur:ChaoZhang est là., Date: 2023-11-27 11h37 et 49 min
Les étiquettes:

img

Résumé

L'indicateur KST est une stratégie de sélection d'actions appliquée au cycle de 30 minutes de SPY. Cette stratégie utilise des croisements d'indicateurs KST pour déterminer les délais d'entrée et de sortie.

Principe de stratégie

Cette stratégie repose principalement sur l'indicateur KST, qui comprend les éléments suivants:

  1. Quatre courbes ROC avec des longueurs de 11, 15, 20 et 33 respectivement.
  2. Appliquer des SMA avec des longueurs de 9, 14, 8 et 15 pour lisser les courbes ROC ci-dessus.
  3. Prenez une somme pondérée des quatre courbes ROC lissées, avec des poids de 1, 2, 3 et 4 respectivement.
  4. Appliquer une SMA de longueur 9 à la courbe finale KST pour dériver la ligne de signal.

Les signaux d'achat et de vente sont déterminés par des croix d'or et des croix de mort entre la ligne KST et la ligne de signal:

  • La ligne KST au-dessus de la ligne de signal est un signal d'achat.
  • La ligne KST qui traverse sous la ligne de signal est un signal de vente.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. L'indicateur KST prend en compte de manière exhaustive les mouvements de prix sur différentes périodes, ce qui rend la stratégie plus stable et fiable.

  2. La moyenne pondérée des courbes des ROC dans l'indicateur KST garantit que les variations de prix à plus long terme jouent un rôle de premier plan, ce qui permet de saisir les tendances du marché.

  3. Fonctionne bien dans les produits à forte liquidité comme SPY.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. Comme les indicateurs MA, l'indicateur KST peut produire de faux signaux sur les marchés latéraux.

  2. Les entrées et les sorties sont entièrement basées sur l'indicateur sans tenir compte des fondamentaux ou des régimes du marché, ce qui entraîne des pertes importantes lors d'événements importants.

  3. L'univers de l'investissement ne contient que SPY, donc le risque d'un seul actif peut être élevé.

Directions d'optimisation

Des moyens possibles d'optimiser la stratégie:

  1. Optimisez les paramètres du KST pour trouver la meilleure combinaison.

  2. Incorporer un indicateur de volatilité pour éviter de faux signaux lors de marchés agités.

  3. Ajouter des ordres de stop loss pour limiter le risque à la baisse par transaction.

  4. Élargir le portefeuille de stocks pour y inclure des stocks individuels répondant à certains critères afin d'améliorer la robustesse.

Conclusion

Cette stratégie identifie les tendances à court terme du SPY en utilisant l'indicateur KST, avec de bons résultats de backtest. Nous pouvons améliorer sa stabilité et ses performances dans le monde réel grâce à l'ajustement des paramètres, aux contrôles des risques et à l'expansion des critères de sélection des actions. Ce qui le rend plus universellement applicable.


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

//@version=5
strategy("KST Strategy", shorttitle="KST", overlay=true)

roclen1 = input.int(11, minval=1, title="ROC Length #1")
roclen2 = input.int(15, minval=1, title="ROC Length #2")
roclen3 = input.int(20, minval=1, title="ROC Length #3")
roclen4 = input.int(33, minval=1, title="ROC Length #4")
smalen1 = input.int(9, minval=1, title="SMA Length #1")
smalen2 = input.int(14, minval=1, title="SMA Length #2")
smalen3 = input.int(8, minval=1, title="SMA Length #3")
smalen4 = input.int(15, minval=1, title="SMA Length #4")
siglen = input.int(9, minval=1, title="Signal Line Length")

smaroc(roclen, smalen) =>
    ta.sma(ta.roc(close, roclen), smalen)

kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4)
sig = ta.sma(kst, siglen)

// Plot the KST and Signal Line
plot(kst, color=#009688, title="KST")
plot(sig, color=#F44336, title="Signal")
hline(0, title="Zero", color=#787B86)

// Strategy logic
longCondition = ta.crossover(kst, sig)
shortCondition = ta.crossunder(kst, sig)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)


Plus de