SPY RSI Estocástico Estratégia de reversão da tendência cruzada

Autora:ChaoZhang, Data: 2024-02-23 14:38:49
Tags:

img

Resumo

A Estratégia de Tendência de Reversão do Estocástico do RSI da SPY é uma estratégia quantitativa de negociação que usa cruzamento de indicadores do RSI entre linhas rápidas e lentas para determinar reversões de preços.

Estratégia lógica

A lógica central desta estratégia é baseada em cruzes de linhas rápidas e lentas do RSI. O RSI geralmente se reverte em zonas de sobrecompra e sobrevenda, portanto, ao determinar as situações de cruz de ouro e cruz de morte entre as linhas rápidas e lentas do RSI, podemos identificar possíveis pontos de reversão de preços com antecedência. Especificamente, a estratégia depende principalmente dos seguintes indicadores e condições:

  1. Linha RSI lenta: linha RSI de 64 períodos
  2. Linha RSI rápida: linha RSI de 9 períodos
  3. Linha RSI MA: média móvel simples de três períodos da linha RSI rápida
  4. RSI Prazo de sobrecompra: parâmetro definido em 83
  5. RSI Prazo de sobrevenda: parâmetro definido em 25
  6. RSI Zona Neutral: entre 39 e 61
  7. Horário de negociação: de segunda a sexta-feira 9:00h às 9:00h do dia seguinte

Quando o RSI rápido atravessa o RSI lento (cruz de ouro) e a linha rápida atravessa a linha MA, um sinal de compra é gerado.

Além disso, a seguinte lógica é configurada para filtrar alguns negócios de ruído:

  1. Nenhum sinal de negociação gerado dentro da zona RSI neutra
  2. Apenas negociar de segunda a sexta-feira 9:00h às 9:00h do dia seguinte

Existem duas condições de saída após a entrada:

  1. A posição fechada quando o RSI rápido entra na região oposta (supercomprado ou supervendido)
  2. Posição de fechamento quando ocorrer sinal de cruzamento RSI inverso

Análise das vantagens

A maior vantagem da Estratégia de Tendência de Reversão do Stochastic RSI da SPY é que ela pode capturar a tendência cedo antes que ocorram reversões significativas de preços. Através de cruzamentos rápidos e lentos da linha RSI, ela pode emitir sinais de negociação antes do tempo e criar oportunidades para entrar no mercado. Além disso, a estratégia tem as seguintes vantagens:

  1. Regras claras de geração de sinal, fáceis de compreender e rastrear
  2. Filtros duplos concebidos para reduzir os sinais de ruído
  3. Configurações flexíveis de zonas de sobrecompra/supervenda adequadas a diferentes ambientes de mercado
  4. Combina as capacidades de rastreamento de tendências e captura de reversão

Em resumo, ao combinar o seguimento da tendência e a análise da inversão de valor, a estratégia pode capturar o momento da reversão de preços até certo ponto e tem uma forte praticidade.

Análise de riscos

Apesar de a estratégia de reversão da tendência do SPY RSI Stochastics Crossover ter certas vantagens, apresenta também os seguintes riscos principais:

  1. Incapacidade de evitar completamente os riscos do ruído, apesar da concepção de filtros duplos
  2. Crossovers do RSI não são perfeitos na previsão de pontos de reversão reais, existem algumas dificuldades
  3. Precisa de configurações razoáveis de parâmetros, caso contrário podem ocorrer transações excessivamente frequentes ou escassas
  4. Os eventos do cisne negro que levam a falsas fugas não podem ser totalmente evitados

Para fazer face aos riscos acima referidos, a estratégia pode ser otimizada e melhorada nos seguintes aspectos:

  1. Usar algoritmos de aprendizagem de máquina para treinar parâmetros ideais e reduzir os sinais de ruído
  2. Incorporar outros indicadores técnicos para melhorar a fiabilidade dos sinais cruzados
  3. Adicionar mecanismos de stop loss ao controlo da exposição ao risco por transação
  4. Otimizar a atualização adaptativa dos parâmetros para melhorar a adaptabilidade

Orientações de otimização

A estratégia de reversão da tendência cruzada do RSI-STOCHASTICS SPY pode ser essencialmente otimizada nas seguintes áreas:

  1. Optimização de parâmetros: Encontre combinações ótimas de parâmetros sistematicamente através de métodos como algoritmos genéticos, pesquisa em grade, etc.
  2. Engenharia de características: Incorporar mais elementos que influenciam os preços, como alterações de volume, volatilidade, etc., para facilitar as decisões
  3. Aprendizagem de Máquina: Critérios de cruzamento de treinamento com algoritmos de aprendizagem de máquina para melhorar a precisão
  4. Optimização de perdasIntroduzir paradas de trail, paradas de tempo, etc., para controlar os riscos
  5. Atualização adaptativaPermitir que os parâmetros-chave sejam ajustados de forma adaptativa com base nas condições de mercado em tempo real

Tais otimizações podem tornar os parâmetros da estratégia mais inteligentes, os sinais mais confiáveis e também ajustar as regras de acordo com as mudanças do mercado, melhorando assim muito a estabilidade dos lucros da estratégia.

Conclusão

A Estratégia de Tendência de Reversão do Stochastics Crossover da SPY RSI projetou um sistema de estratégia de negociação quantitativa relativamente simples e claro baseado em julgar os cruzes rápidos e lentos da linha RSI. Combinando características de negociação de tendência e reversão, ele pode capturar o tempo de reversão de preços até certo ponto. Mas a estratégia também tem algumas falhas inerentes, exigindo otimização de parâmetros, recursos e modelos para controlar riscos e melhorar a qualidade do sinal. Com otimizações contínuas, pode se tornar um sistema quantitativo lucrativo estável.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SPY Auto RSI Stochastics", pyramiding = 3)


// Input parameters
slowRSILength = input(64, title="SLOW RSI Length")
fastRSILength = input(9, title="FAST RSI Length")
smaRSILength = input(3, title="RSI SMA Length")
RSIUpperThreshold = input(83, title="RSI Upper")
RSILowerThreshold = input(25, title="RSI Lower")
RSIUpperDeadzone = input(61, title='RSI Upper Deadzone')
RSILowerDeadzone = input(39, title='RSI Lower Deadzone')
blockedDays = (dayofweek(time) == 1 or dayofweek(time) == 7)
sessionMarket = input("0900-0900", title="Session Start")
allowedTimes() => time(timeframe = timeframe.period, session = sessionMarket, timezone = "GMT+1")
isvalidTradeTime =true

// RSI and ATR
slowRSI = ta.rsi(close, slowRSILength)
fastRSI = ta.rsi(close, fastRSILength)
smaRSI = ta.sma(fastRSI, smaRSILength)
rsi = fastRSI

// Entry condition
RSIUptrend() =>  ta.crossover(fastRSI, slowRSI) and ta.crossover(fastRSI, smaRSI)
RSIDowntrend() =>  ta.crossunder(fastRSI, slowRSI) and ta.crossunder(fastRSI, smaRSI)


isRSIDeadzone() =>
    rsi < RSIUpperDeadzone and rsi > RSILowerDeadzone

isBullishEngulfing() =>
    close > high[1]

isBearishEngulfing() =>
    close < low[1] 

// Declare variables
var float initialSLLong = na
var float initialTPLong = na
var float initialSLShort = na
var float initialTPShort = na
//var bool inATrade = false

entryConditionLong = RSIUptrend() and not isRSIDeadzone() and isvalidTradeTime
entryConditionShort = RSIDowntrend() and not isRSIDeadzone() and isvalidTradeTime

exitConditionLong = entryConditionShort or fastRSI > RSIUpperThreshold
exitConditionShort = entryConditionLong or fastRSI < RSILowerThreshold


if (entryConditionLong)
    strategy.entry(id = "Long", direction = strategy.long, alert_message = 'LONG! beep boop, all aboard the long train')

if (entryConditionShort)
    strategy.entry(id = "Short", direction = strategy.short, alert_message = 'Short! beep boop, all aboard the short train')

if (exitConditionLong)
    strategy.exit("Long", from_entry="Long", limit=close, alert_message = 'Stop Long, halt halt, take the profits and runnn')

if (exitConditionShort)
    strategy.exit("Short", from_entry="Short", limit=close, alert_message = 'Stop Short, halt halt, take the profits and runnn')


//plot(smaRSI, "RSI MA", color=color.red)
plot(slowRSI, "Slow RSI", color=color.green)
//plot(fastRSI, "Fast RSI", color=color.white)
plot(smaRSI, "SMA RSI", color=color.white)


Mais.