Estratégia de negociação quantitativa para a reversão do fundo

Autora:ChaoZhang, Data: 2024-02-06 15:16:39
Tags:

img

Resumo

Esta estratégia identifica o fundo do mercado calculando o indicador RSI rápido e o filtro da entidade da linha K para determinar o status de sobrevenda. Quando o RSI rápido cai abaixo de 10 e a entidade da linha K se expande, considera que aparece um sinal de reversão para entrar em posição longa. Isso permite detectar o fundo do mercado efetivamente.

Estratégia lógica

A estratégia baseia-se principalmente em dois indicadores:

  1. Indicador RSI rápido. Calculando a porcentagem de alta e queda dos últimos 2 dias, ele julga rapidamente a sobrecompra e sobrevenda do mercado. Quando o RSI rápido está abaixo de 10, o mercado é considerado sobrevendo.

  2. Filtro de entidades de linha K. Ao calcular a relação entre o volume de entidades de linha K e o MA, quando o volume de entidades for superior a 1,5 vezes o volume de MA, é considerado como sinal inferior.

Em primeiro lugar, um RSI rápido abaixo de 10 indica mercado supervendido. Em segundo lugar, a entidade de linha K se expande para satisfazer a condição de que o volume da entidade seja maior que 1,5 vezes o volume MA. Quando ambas as condições são atendidas, ele envia um sinal longo e considera que o mercado atinge a reversão inferior, o que filtra muitos sinais falsos.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. O indicador RSI rápido é sensível e pode determinar rapidamente sobrecompra e sobrevenda.
  2. O filtro de entidades da linha K aumenta a certeza e evita falhas.
  3. A combinação de indicador rápido e padrão de linha K pode determinar efetivamente o ponto de reversão do mercado.
  4. A posição longa de baixo custo permite uma operação de pesca de fundo.
  5. A lógica estratégica é simples e clara, fácil de compreender e implementar.

Análise de riscos

Esta estratégia apresenta também alguns riscos:

  1. O mercado pode ter um período de consolidação e continuar a cair, mesmo sobrevendido.
  2. O RSI rápido pode ter sinais falsos e o filtro da entidade também pode ser penetrado.
  3. O backtesting apresenta um risco de sobreajuste e o desempenho das negociações ao vivo pode diferir.

Algumas soluções para os riscos:

  1. Combinar indicador de tendência para evitar uma queda persistente.
  2. Aumentar as outras condições do filtro para garantir a confirmação do fundo.
  3. Otimizar combinações de parâmetros múltiplos para melhorar a estabilidade.

Orientações de otimização

Algumas orientações para melhorar a estratégia:

  1. Adicionar stop loss para controlar o risco de queda.
  2. Utilize um indicador de volatilidade para evitar riscos anormais de volatilidade.
  3. Construir um modelo multifator para garantir sinais comerciais eficazes.
  4. Empregar algoritmos de aprendizagem de máquina para otimização de parâmetros.
  5. Julgar a tendência em um período de tempo maior para evitar a negociação de contra-tendência.

Conclusão

Esta estratégia identifica efetivamente o fundo do mercado por RSI rápido para filtro de entidade de sobrevenda e K-line. A lógica é simples para fácil implementação e boa para capturar a chance de reversão. Mas existem certos riscos e é necessária uma otimização adicional para melhorar a estabilidade e o desempenho ao vivo.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MarketBottom", shorttitle = "MarketBottom", overlay = true)

//Fast RSI
src = close
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Body Filter
body = abs(close - open)
abody = sma(body, 10)

mac = sma(close, 10)
len = abs(close - mac)
sma = sma(len, 100)
max = max(open, close)
min = min(open, close)
up = close < open and len > sma * 2 and min < min[1] and fastrsi < 10 and body > abody * 1.5
plotarrow(up == 1 ? 1 : na, colorup = blue, colordown = blue)

sell = sma(close, 5)
exit = high > sell and close > open and body > abody
plot(sell)

if up
    strategy.entry("Long", strategy.long)

if exit
    strategy.close_all()

Mais.