Sistema de negociação quantitativa TSLA em vários prazos

Autora:ChaoZhang, Data: 22-12-2023 12:50:55
Tags:

img

Esta estratégia utiliza dois tipos diferentes de indicadores técnicos, RSI e Estocastic, no gráfico de 5 minutos do TSLA e no gráfico de 1 minuto do índice S&P 100 para projetar regras de negociação e construir um sistema de negociação automatizado para ações do TSLA.

Estratégia geral

A ideia central desta estratégia é monitorar tanto os indicadores técnicos de preço da própria TSLA quanto os indicadores técnicos do índice do mercado de ações dos EUA. Envia sinais de negociação quando ambos os lados atingem o estado de sobrecompra ou sobrevenda extremamente ao mesmo tempo. A estratégia adota indicadores técnicos em dois prazos, os de 5 minutos e 1 minuto, o que pode ajudar a filtrar alguns sinais de negociação ruidosos de forma eficaz.

Estratégia lógica

Em primeiro lugar, a estratégia calcula o RSI de 5 dias no gráfico de 5 minutos do TSLA e o RSI de 14 dias no gráfico de 1 minuto do índice S&P 100.

Após a compra, a estratégia continua monitorando o indicador Estocástico de 14 dias no gráfico de 1 minuto do TSLA.

Além disso, uma perda de parada de 3% é definida na estratégia. Quando o preço cair abaixo do nível de perda de parada, a posição será fechada com uma perda de parada.

Vantagens da estratégia

  1. Adotar vários prazos pode ajudar a filtrar sinais ruidosos de forma eficaz
  2. Os indicadores RSI e Estocastic verificam-se mutuamente e melhoram a qualidade do sinal
  3. Mecanismo de stop loss limita a perda por transação
  4. Os dados de backtesting incluem as barras mínimas do índice TSLA e do índice S&P 100, que são representativos
  5. A lógica da estratégia é simples e fácil de entender, bem como otimizar

Riscos da Estratégia

  1. A combinação de vários prazos e indicadores pode perder algumas oportunidades
  2. A definição excessivamente agressiva de stop loss pode provocar perdas desnecessárias de deslizamento.
  3. O índice S&P 100 como instrumento auxiliar também introduz algum risco sistémico
  4. A qualidade dos dados de backtesting e a evolução do ambiente de mercado podem influenciar os resultados

Orientações para a otimização da estratégia

  1. Teste mais combinações de parâmetros para encontrar a configuração ideal do indicador
  2. Adicionar algoritmos de stop loss adaptativos
  3. Adicionar módulo de dimensionamento de posição para bloquear mais lucros
  4. Adicionar algoritmos de aprendizagem de máquina para treinar pesos de indicadores
  5. Procurar turnos de negociação em prazos mais longos

Conclusão

Para concluir, esta é uma estratégia típica de reversão da média baseada em sinais de sobrecompra e sobrevenda, com recursos adicionais como validação de vários prazos e stop loss para torná-la mais robusta. A vantagem reside em sua simplicidade de compreensão e implementação. O próximo passo é adquirir mais alfa enquanto controla os riscos, o que requer trabalho de otimização personalizado em torno dos indicadores e modelos.


/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading TSLA", overlay=true)

// Condiciones de entrada
rsi5 = ta.rsi(close, 5) // RSI en el gráfico de TSLA de 5 minutos
rsiUS100 = ta.rsi(request.security(syminfo.tickerid, "1", close), 14) // RSI en el gráfico de US100 de 1 minuto

// Condiciones de entrada
condicion_entrada = rsi5 < 30 and rsiUS100 < 30

// Cantidad de acciones a comprar
cantidad_compra = 2

// Condiciones de salida
estocastico = ta.stoch(close, high, low, 14) // Estocástico en el gráfico de TSLA de 1 minuto
condicion_salida = estocastico > 78

// Stop loss
stop_loss = strategy.position_avg_price * 0.03

// Ejecutar la estrategia
if condicion_entrada
    strategy.entry("Compra", strategy.long, qty = cantidad_compra)

if condicion_salida or ta.highest(high, 10) <= stop_loss
    strategy.close("Compra")

// Mostrar indicadores en el gráfico
plot(rsi5, "RSI 5 (TSLA)", color=color.blue)
plot(rsiUS100, "RSI US100", color=color.red)
plot(estocastico, "Estocástico (TSLA)", color=color.green)



Mais.