Estratégia de arbitragem de alta frequência baseada em padrões K-line


Data de criação: 2024-01-08 15:47:41 última modificação: 2024-01-08 15:47:41
cópia: 0 Cliques: 852
1
focar em
1617
Seguidores

Estratégia de arbitragem de alta frequência baseada em padrões K-line

Visão geral

Esta estratégia utiliza um método baseado no julgamento da forma de K-linha para realizar arbitragem de alto freqüência. Sua principal idéia é julgar o formato de multi-espaço em diferentes períodos de tempo de K-linha, para realizar negociações de abertura de mercado de alto freqüência.

Princípio da estratégia

A lógica central desta estratégia consiste em julgar a forma de K de diferentes períodos de tempo. Concretamente, ela monitora simultaneamente as linhas de K de 1, 5 e 15 minutos. A estratégia julga a forma de K atual, rastreando se a linha de K subia ou descia antes do preço. Se for uma subida contínua, considere-se uma forma de cabeça de arco; se for uma queda contínua, considere-se uma forma de cabeça de arco.

O código é usado principalmente para rastrearupsednsDois indicadores para julgar a forma polarizada de uma linha K. Estes dois indicadores respectivamente, estatisticam o número de linhas K em ascensão contínua e em queda contínua. A estratégia permite definir os parâmetrosconsecutiveBarsUpeconsecutiveBarsDownNúmero de linhas K para determinar a tendência.upsMaior do que igual aconsecutiveBarsUpQuando a imagem é capturada, ela é vista como uma forma de cabeça múltipla; quandodnsMaior do que igual aconsecutiveBarsDownAlém disso, a estratégia também define um período de tempo para a retrospectiva, bem como informações sobre a delegação da transação.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Captação de oportunidades de arbitragem de mercado de alta frequência para negociação de alta frequência
  2. A forma de julgamento baseada na linha K é simples e eficaz.
  3. Monitoramento simultâneo em vários períodos de tempo para aumentar as chances de captura
  4. Parâmetros intuitivos, fácil de ajustar
  5. Configure o intervalo de tempo de resposta para otimizar o teste

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Riscos de transações de alta frequência, como problemas de dados, falhas de pedidos, etc.
  2. Parâmetros mal definidos podem causar transações frequentes ou perder boas oportunidades
  3. Não conseguem lidar com situações mais complexas, como oscilações de preços.

Para reduzir o risco, pode-se fazer otimizar as seguintes coisas:

  1. Adicione mais lógica para julgar o momento de negociar e evitar a negociação cega.
  2. Optimizar a configuração de parâmetros, equilibrar a frequência de negociação e a taxa de retorno
  3. Combinação de outros fatores para determinar a tendência, como mudanças no volume de transações, volatilidade, etc.
  4. Testar diferentes formas de parar perdas e controlar perdas individuais

Direção de otimização

A estratégia pode ser melhorada nas seguintes direções:

  1. Aumentar os fatores de julgamento, não apenas o número de queda e queda, mas também os indicadores de amplitude e quantidade de energia
  2. Tente diferentes indicadores de tomada de posição, como MACD, KD, etc.
  3. Combinação de sinais de filtragem de indicadores técnicos, como equilíbrio, canal
  4. Optimizar configurações de parâmetros para avaliar combinações de parâmetros em diferentes períodos de tempo de linha K
  5. Desenvolvimento de mecanismos de suspensão e parada para aumentar a estabilidade estratégica
  6. Adição de restrições quantitativas, como limite máximo de posse e frequência de negociação
  7. Testar diferentes variedades para encontrar as melhores estratégias de adaptação

Resumir

Esta estratégia permite uma estratégia de arbitragem de alta frequência simples e eficaz, com base no método de julgamento da forma K. O núcleo da estratégia consiste em capturar tendências multipolares de preços em diferentes períodos de tempo e, em seguida, obter oportunidades de arbitragem. Apesar de haver alguns riscos, a estratégia é simples e perfeitamente adequada para o início de negociações quantitativas.

Código-fonte da estratégia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-21 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
strategy("Up/Down Strategy", initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

consecutiveBarsUp = input(1)
consecutiveBarsDown = input(1)

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)

time_cond  = true

// Messages for buy and sell
message_buy  = input("{{strategy.order.alert_message}}", title="Buy message")
message_sell = input("{{strategy.order.alert_message}}", title="Sell message")

// Strategy Execution

if (ups >= consecutiveBarsUp) and time_cond
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy)
    
if (dns >= consecutiveBarsDown) and time_cond
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)