Les ressources ont été chargées... Je charge...

Stratégie quantitative Z-Score binaire hybride

Auteur:ChaoZhang est là., Date: 2024-05-28 17h38:08 Je vous en prie
Les étiquettes:SMABB

img

Résumé

Cette stratégie utilise une approche d'analyse quantitative hybride, combinant un modèle de distribution binomiale et une analyse de régression, pour identifier différents régimes de marché. La stratégie calcule d'abord les indicateurs de moyenne mobile simple (SMA) et de bandes de Bollinger (BB), puis calcule le score Z en fonction de la moyenne et de l'écart type des rendements historiques. Lorsque le score Z est inférieur au seuil inférieur et que le prix est inférieur à la bande inférieure, la stratégie entre dans une position longue; lorsque le score Z est au-dessus du seuil supérieur et que le prix est au-dessus de la bande supérieure, la stratégie ferme la position.

Principe de stratégie

Le principe de base de cette stratégie est d'utiliser le Z-score pour mesurer la position des rendements actuels par rapport à la distribution des rendements historiques. La formule de calcul du Z-score est la suivante: (Retour actuel - Moyenne de rendement historique) / Déviation standard de rendement historique. Un score Z plus élevé indique que le rendement actuel est plus extrême et la probabilité de surachat est plus élevée; un score Z plus faible indique que le rendement actuel est plus extrême et la probabilité de survente est plus élevée.

Les avantages de la stratégie

  1. Analyse quantitative: La stratégie est entièrement basée sur des indicateurs quantitatifs, avec des règles claires, faciles à mettre en œuvre et à vérifier.
  2. Double confirmation: la stratégie utilise à la fois les indicateurs Z-score et Bollinger Bands, formant un double mécanisme de filtrage pour améliorer la précision du signal.
  3. Fondement statistique: Le score Z provient de la théorie de la distribution normale en statistique, avec une base théorique solide, et peut mesurer objectivement l'extrême des rendements actuels.
  4. Flexibilité des paramètres: les utilisateurs peuvent ajuster des paramètres tels que la période SMA, le multiplicateur des bandes de Bollinger et les seuils de score Z en fonction de leurs besoins, en s'adaptant de manière flexible à différents marchés.

Risques stratégiques

  1. Sensibilité des paramètres: différents paramètres peuvent entraîner des différences significatives dans les performances de la stratégie, ce qui nécessite une optimisation approfondie des paramètres et des tests de stabilité.
  2. Risque de tendance: lorsque le marché présente de fortes tendances, le score Z peut rester dans des régions extrêmes pendant une période prolongée, ce qui entraîne des signaux de stratégie peu fréquents ou totalement absents.
  3. Risque de suradaptation: si les paramètres de stratégie sont trop optimisés, cela peut entraîner un suradaptation et une mauvaise performance hors échantillon.
  4. Risque des cygnes noirs: dans des conditions de marché extrêmes, les tendances statistiques historiques peuvent échouer, exposant la stratégie à des risques de retrait importants.

Directions d'optimisation de la stratégie

  1. Paramètres dynamiques: envisager d'ajuster dynamiquement les seuils du score Z et le multiplicateur des bandes de Bollinger en fonction d'indicateurs tels que la volatilité du marché et la force de la tendance afin d'améliorer l'adaptabilité.
  2. Filtrage des tendances: superposition des indicateurs de détermination des tendances, tels que le croisement des MA ou le DMI, sur le mécanisme existant afin d'éviter des signaux invalides excessifs lors de fortes tendances.
  3. Optimisation du portefeuille: combiner cette stratégie avec d'autres stratégies quantitatives (telles que l'élan, la réversion moyenne, etc.) pour tirer parti de leurs forces respectives et améliorer la robustesse.
  4. Stop-Loss et Take-Profit: Mettre en place des mécanismes raisonnables de stop-loss et de take-profit pour contrôler l'exposition au risque par transaction et améliorer les rendements ajustés au risque.

Résumé

La stratégie quantitative Z-Score Binomial Hybrid est une stratégie de trading quantitative basée sur des principes statistiques, permettant d'identifier les opportunités potentielles de surachat et de survente en comparant les rendements actuels avec la distribution des rendements historiques. En outre, la stratégie utilise l'indicateur Bollinger Bands pour la confirmation secondaire, améliorant la fiabilité du signal. Les règles de stratégie sont claires et faciles à mettre en œuvre et à optimiser, mais elle fait également face à des défis tels que la sensibilité des paramètres, le risque de tendance, le risque de surajustement, etc. À l'avenir, la stratégie peut être optimisée en termes de paramètres dynamiques, de filtrage de tendance, d'optimisation du portefeuille, de mécanismes de stop-loss et de prise de profit, etc., pour améliorer son adaptabilité et sa robustesse.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia Híbrida Quantitativa", overlay=true)

// Definição de parâmetros
sma_length = input.int(20, title="Período da SMA")
threshold_high = input.float(1.5, title="Threshold Alto")
threshold_low = input.float(-1.5, title="Threshold Baixo")
lookback_period = input.int(252, title="Período de Retorno Histórico (dias)")

// Funções auxiliares
f_sma(source, length) =>
    ta.sma(source, length)

f_bollinger_band(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    [basis + dev, basis - dev]

// Cálculo dos indicadores
sma = f_sma(close, sma_length)
[upper_band, lower_band] = f_bollinger_band(close, sma_length, 2)

// Regime de Mercado: Binomial
retornos = ta.change(close, 1)
media_retornos = ta.sma(retornos, lookback_period)
desvio_padrao_retornos = ta.stdev(retornos, lookback_period)

// Indicador de Regime: Z-Score
z_score = (retornos - media_retornos) / desvio_padrao_retornos

// Sinal de Compra e Venda
sinal_compra = z_score < threshold_low and close < lower_band
sinal_venda = z_score > threshold_high and close > upper_band

// Execução de Ordem
if (sinal_compra)
    strategy.entry("Long", strategy.long)
if (sinal_venda)
    strategy.close("Long")

// Plotagem dos Indicadores
plot(sma, title="SMA", color=color.blue)
plot(upper_band, title="Upper Bollinger Band", color=color.red)
plot(lower_band, title="Lower Bollinger Band", color=color.green)
hline(threshold_high, "Threshold Alto", color=color.red, linestyle=hline.style_dashed)
hline(threshold_low, "Threshold Baixo", color=color.green, linestyle=hline.style_dashed)
plot(z_score, title="Z-Score", color=color.purple)


Relationnée

Plus de