O recurso está a ser carregado... Carregamento...

Estratégia de redução extrema do mercado baseada em desvios estatísticos

Autora:ChaoZhang, Data: 2024-11-29 16:46:33
Tags:DSTSMAMAS.D.

img

Resumo

Esta estratégia baseia-se nas características estatísticas das recessões extremas do mercado. Ao analisar as retrações estatisticamente e usar desvios padrão para medir os extremos de volatilidade do mercado, inicia posições de compra quando as quedas do mercado excedem os intervalos normais. A ideia central é capturar oportunidades de supervenda causadas pelo pânico do mercado, identificando oportunidades de investimento por meio de métodos estatísticos matemáticos que surgem da irracionalidade do mercado.

Princípio da estratégia

A estratégia utiliza uma janela de tempo rolante para calcular os drawdowns máximos de preço e suas características estatísticas. Primeiro, calcula o preço mais alto nos últimos 50 períodos, em seguida, calcula a porcentagem de drawdown do preço de fechamento atual em relação ao preço mais alto. Em seguida, calcula a média e o desvio padrão dos drawdowns, definindo -1 desvio padrão como o limiar de gatilho. Quando o drawdown do mercado excede a média menos um conjunto múltiplo de desvios padrão, indicando condições potenciais de sobrevenda, uma posição longa é inserida. As posições são fechadas automaticamente após 35 períodos. A estratégia também traça curvas de drawdown e um, dois e três níveis de desvio padrão para avaliação visual das condições de sobrevenda do mercado.

Vantagens da estratégia

  1. A estratégia baseia-se em princípios estatísticos com base teórica sólida.
  2. Captura eficazmente oportunidades de investimento durante períodos de pânico no mercado.
  3. O fechamento de posições de período fixo evita rebotes perdidos que podem ocorrer com paradas de trailing.
  4. Os parâmetros altamente ajustáveis permitem flexibilidade para diferentes ambientes de mercado e instrumentos de negociação.
  5. O simples cálculo dos indicadores de utilização e desvio-padrão torna a lógica da estratégia clara e fácil de compreender e executar.

Riscos estratégicos

  1. Os mercados podem experimentar um declínio contínuo, levando a entradas perdedoras frequentes.
  2. As saídas de período fixo podem perder um potencial de alta maior.
  3. As características estatísticas de utilização podem mudar com as condições do mercado.
  4. A estratégia não considera o volume e outras informações de mercado.
  5. O desvio-padrão pode tornar-se pouco confiável em mercados altamente voláteis.

Orientações de otimização

  1. Incorporar indicadores de volume para confirmar os níveis de pânico do mercado.
  2. Adicionar indicadores de tendência para evitar entradas frequentes em tendências descendentes.
  3. Otimizar o mecanismo de saída com ajustamentos dinâmicos do período de detenção com base no desempenho do mercado.
  4. Adicionar configurações de stop-loss para controlar o risco de negociação única.
  5. Considerar o uso de parâmetros adaptativos para melhorar a adaptação da estratégia às alterações do mercado.

Resumo

Esta estratégia capta oportunidades de sobrevenda de mercado por meio de métodos estatísticos, com forte base teórica e valor prático. A lógica da estratégia é simples e clara com parâmetros ajustáveis, adequados como uma estratégia de base para expansão e otimização. A estabilidade e lucratividade da estratégia podem ser melhoradas adicionando indicadores técnicos e medidas de controle de risco.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy When There's Blood in the Streets Strategy", overlay=false, shorttitle="BloodInTheStreets")


//This strategy identifies opportunities to buy during extreme market drawdowns based on standard deviation thresholds. 
//It calculates the maximum drawdown over a user-defined lookback period, identifies extreme deviations from the mean, 
//and triggers long entries when specific conditions are met. The position is exited after a defined number of bars.


// User Inputs
lookbackPeriod = input.int(50, title="Lookback Period", minval=1, tooltip="Period to calculate the highest high for drawdown")
stdDevLength = input.int(50, title="Standard Deviation Length", minval=1, tooltip="Length of the period to calculate standard deviation")
stdDevThreshold = input.float(-1.0, title="Standard Deviation Threshold", tooltip="Trigger level for long entry based on deviations")
exitBars = input.int(35, title="Exit After (Bars)", minval=1, tooltip="Number of bars after which to exit the trade")

// Drawdown Calculation
peakHigh = ta.highest(high, lookbackPeriod)
drawdown = ((close - peakHigh) / peakHigh) * 100

// Standard Deviation Calculation
drawdownStdDev = ta.stdev(drawdown, stdDevLength)
meanDrawdown = ta.sma(drawdown, stdDevLength)

// Define Standard Deviation Levels
stdDev1 = meanDrawdown - drawdownStdDev
stdDev2 = meanDrawdown - 2 * drawdownStdDev
stdDev3 = meanDrawdown - 3 * drawdownStdDev

// Plot Drawdown and Levels
plot(drawdown, color=color.red, linewidth=2, title="Drawdown (%)")
plot(meanDrawdown, color=color.blue, linewidth=2, title="Mean Drawdown")
plot(stdDev1, color=color.green, linewidth=1, title="1st Std Dev")
plot(stdDev2, color=color.orange, linewidth=1, title="2nd Std Dev")
plot(stdDev3, color=color.purple, linewidth=1, title="3rd Std Dev")

// Entry Condition
var float entryBar = na
goLong = drawdown <= meanDrawdown + stdDevThreshold * drawdownStdDev

if (goLong and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    entryBar := bar_index

// Exit Condition
if (strategy.position_size > 0 and not na(entryBar) and bar_index - entryBar >= exitBars)
    strategy.close("Long")


Relacionados

Mais.