Estratégia longa baseada em RSI com trailing stop para negociação quantitativa

Autora:ChaoZhang, Data: 2024-03-08 15:06:58
Tags:

img

Resumo

Este artigo introduz uma estratégia quantitativa de negociação para longo com base no Índice de Força Relativa (RSI) e no trailing stop. A estratégia usa o indicador RSI para determinar as condições de mercado sobrecompradas e sobrevendidas, entrando em posições longas quando o mercado está sobrevendido e fechando posições quando está sobrecomprado. Ao mesmo tempo, a estratégia emprega uma parada de trailing baseada em porcentagem para controlar o risco. Esta é uma estratégia clássica de tendência para capturar tendências de alta em mercados fortes.

Princípios de estratégia

O núcleo desta estratégia é o Relative Strength Index (RSI). O RSI é um oscilador de momento usado para medir a magnitude das mudanças de preço ao longo de um período de tempo.

RS = Average gain over N days / Average loss over N days
RSI = 100 - 100 / (1 + RS) 

onde N é o período de tempo para o cálculo do RSI, normalmente definido em 14.

A lógica estratégica é a seguinte:

  1. Calcular o RSI de período N.
  2. Quando o RSI cruzar acima do nível de sobrevenda (por exemplo, 30) a partir de baixo, entre numa posição longa.
  3. Quando o RSI cruzar abaixo do nível de sobrecompra (por exemplo, 70) de cima, feche a posição longa.
  4. No momento da entrada, calcular o preço de stop loss com base no preço atual e na percentagem definida.
  5. Se o preço atingir o preço de stop loss, feche a posição longa para controlar as perdas.

A estratégia tenta entrar em posições no início de uma transição do mercado de baixa para alta e sair no final de um mercado de alta, a fim de capturar a principal tendência de alta.

Análise das vantagens

  1. Simplicidade: a estratégia utiliza apenas um indicador técnico, o RSI, com uma lógica clara, tornando-o adequado para os iniciantes aprenderem e utilizarem.
  2. Seguimento da tendência: A estratégia entra em posições na zona de sobrevenda e sai na zona de sobrecompra, aderindo ao princípio de "comprar baixo, vender alto" do investimento de tendência, capturando efetivamente as tendências de alta do mercado de alta.
  3. Controle de risco: o trailing stop baseado em percentagem ajuda os investidores a controlar a exposição ao risco de cada negociação, limitando as perdas a um intervalo aceitável.

Análise de riscos

  1. Perdas em mercados de gama: O RSI é um indicador atrasado e pode gerar muitos sinais falsos em mercados de gama, levando a entradas e saídas frequentes que acumulam pequenas perdas em grandes.
  2. Estabilização inadequada do stop loss: se o stop loss for demasiado largo, a perda por transacção será grande; se for demasiado estreita, a estratégia vai parar demasiado cedo e perder tendências subsequentes.
  3. Falta de gestão de posições: a estratégia não possui um mecanismo de ajustamento dinâmico das posições, o que resulta num controlo inflexível da exposição ao risco.

Orientações de otimização

  1. Filtragem de tendência: Antes de usar sinais RSI, primeiro determine a tendência de longo prazo usando médias móveis ou outros indicadores de tendência e só use sinais longos RSI quando a tendência principal estiver em alta.
  2. Optimização do stop loss: considerar o uso de trailing stops ou estratégias de stop loss mais avançadas, como ATR, para ajustar dinamicamente as posições de stop loss para melhor se adequarem ao ritmo do mercado.
  3. Gerenciamento de posições: ajustar dinamicamente o tamanho de cada negociação com base em fatores como a volatilidade do mercado e a força da tendência para melhor controlar o risco.
  4. Cobertura longa-curta: ao utilizar a estratégia longa, introduzir uma estratégia curta de cobertura para reduzir a exposição geral ao risco da estratégia.

Conclusão

Este artigo apresentou uma estratégia quantitativa de negociação para longo baseada em RSI e trailing stops. A estratégia usa sinais de sobrecompra e sobrevenda RSI para entrar e sair de posições, enquanto usa trailing stops baseados em porcentagem para controlar o risco. Esta é uma estratégia simples e prática de seguir tendências adequada para iniciantes aprenderem. No entanto, também tem algumas limitações, como mau desempenho em mercados de gama e falta de flexibilidade no gerenciamento de stop loss e posição. Para resolver essas deficiências, podemos otimizar a estratégia em aspectos como filtragem de tendência, gestão de stop loss dinâmica, gerenciamento de posição e cobertura de longo curto, a fim de obter retornos mais robustos.


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

//@version=5
strategy("RSI Strategy (Long)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

// *** Signals ***
enter_long = ta.crossover(vrsi, overSold)
enter_short = ta.crossunder(vrsi, overBought)
close_long = ta.crossunder(vrsi, overBought)
close_short = ta.crossunder(vrsi, overBought)


// *** Risk management *** 
entry_price = close
percent_diff = input(5)
stop_loss_price_long = (1 - percent_diff / 100.) * entry_price 
stop_loss_price_short = (1 + percent_diff / 100.) * entry_price 


// *** Positions *** 
if enter_long and strategy.position_size == 0
    strategy.entry("Long", strategy.long)
    strategy.exit("SL Long", "Long", stop = stop_loss_price_long)

if enter_short and strategy.position_size == 0
    strategy.entry("Short", strategy.short, qty=.001)
    strategy.exit("SL short", "Short", stop = stop_loss_price_short)

if close_long 
    strategy.close("Long", "Exit Long")

if close_short
    strategy.close("Short", "Exit Short")

Mais.