Stratégie de quantification hybride du score Z à deux états

SMA BB
Date de création: 2024-05-28 17:38:08 Dernière modification: 2024-05-28 17:38:08
Copier: 1 Nombre de clics: 548
1
Suivre
1617
Abonnés

Stratégie de quantification hybride du score Z à deux états

Aperçu

La stratégie utilise une méthode d’analyse quantitative mixte, combinant deux modèles de distribution et une analyse de régression, pour identifier les différents états du marché. La stratégie calcule d’abord les moyennes mobiles simples (SMA) et les bandes de Bryn (BB) et calcule ensuite un score Z basé sur les moyennes et les écarts standards des rendements historiques.

Principe de stratégie

Le principe central de cette stratégie est d’utiliser le score Z pour mesurer la position du rendement actuel par rapport à la distribution du rendement historique. La formule de calcul du score Z est: ((Rendement actuel - rendement historique moyen) / rendement historique standard différentiel. Le score Z le plus élevé indique que le rendement actuel est au-delà de l’extrême et la probabilité d’une survente est plus grande; le score Z le plus bas indique que le rendement actuel est au-delà de l’extrême et la probabilité d’une survente est plus grande.

Avantages stratégiques

  1. Analyse quantitative: la stratégie est entièrement basée sur des indicateurs quantitatifs, les règles sont claires, faciles à mettre en œuvre et à mesurer.
  2. Double confirmation: la stratégie utilise à la fois le score Z et les deux indicateurs de la bande de Brin, formant un double mécanisme de filtrage et améliorant la précision du signal.
  3. Fondement statistique: Le Z-score est issu de la théorie de la distribution normale en statistique et possède une base théorique solide permettant de mesurer objectivement l’extrême des rendements actuels.
  4. Flexibilité des paramètres: l’utilisateur peut adapter les paramètres tels que le cycle SMA, le multiplicateur de la bande de Brin et la valeur limite de la note Z en fonction de ses besoins, pour s’adapter de manière flexible à différents marchés.

Risque stratégique

  1. Paramètres sensibles: les paramètres différents peuvent entraîner des différences importantes dans la performance de la stratégie, ce qui nécessite une optimisation des paramètres et des tests de stabilité adéquats.
  2. Risque de tendance: lorsque le marché est en forte tendance, le Z-score peut rester dans la zone extrême pendant une longue période, ce qui entraîne une rareté ou une absence totale de signaux stratégiques.
  3. Risque de suradaptation: une suroptimisation des paramètres de la stratégie peut entraîner une suradaptation et une mauvaise performance dans l’échantillon.
  4. Risque de l’échine noire: dans des cas extrêmes, les règles historiques de la statistique peuvent ne pas s’appliquer et la stratégie est plus à risque de se retirer.

Orientation de l’optimisation de la stratégie

  1. Paramètres dynamiques: prendre en compte les indicateurs tels que la volatilité du marché, la force de la tendance, l’ajustement dynamique des valeurs de la note Z et du multiple de la bande de Brin, améliorer l’adaptabilité.
  2. Ajout de filtres de tendance: superposer des indicateurs de jugement de tendance, tels que les croisements de MA, les DMI, etc., sur les mécanismes existants pour éviter que trop de signaux inefficaces apparaissent dans une tendance forte.
  3. Optimisation de la combinaison: la combinaison de la stratégie avec d’autres stratégies de quantification (comme la dynamique, la régression de la moyenne, etc.) pour tirer parti de leurs avantages respectifs et améliorer la stabilité.
  4. Stop-loss: introduire des mécanismes de stop-loss raisonnables pour contrôler les marges de risque d’une seule transaction et améliorer les rendements après ajustement du risque.

Résumer

La stratégie de quantification du score Z bi-hybride est une stratégie de trading quantifié basée sur des principes statistiques qui permet d’identifier les opportunités potentielles de survente et de survente en comparant les rendements actuels avec la distribution des rendements historiques. En même temps, la stratégie utilise l’indicateur des bandes de Bryn pour la double confirmation, ce qui améliore la fiabilité du signal. Les règles de la stratégie sont claires, faciles à mettre en œuvre et à optimiser, mais elles sont également confrontées à des défis tels que la sensibilité aux paramètres, le risque de tendance, le risque de suradaptation.

Code source de la stratégie
/*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)