Estratégia de negociação quantitativa do ciclo estocástico de Ehlers


Data de criação: 2024-01-17 16:03:30 última modificação: 2024-01-17 16:03:30
cópia: 0 Cliques: 793
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa do ciclo estocástico de Ehlers

Visão geral

A estratégia de ciclo aleatório de Ells é uma estratégia de negociação quantitativa que usa o indicador de ciclo aleatório de Ells para gerar sinais de negociação. A estratégia combina os benefícios do indicador aleatório e do indicador de ciclo, com o objetivo de capturar oportunidades periódicas no mercado.

Princípio da estratégia

A estratégia primeiro constrói um indicador de ciclo suavizado e, em seguida, constrói um valor de indicador aleatório com base nesse indicador. A produção de sinais de negociação é determinada com base no cruzamento da média móvel desse valor de indicador aleatório.

Em particular, o método de cálculo do indicador de ciclo suave é:

smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

O src é o dado de preço de entrada, como o preço de fechamento. O indicador combina o preço atual com o preço dos 3 períodos anteriores para construir um sinal de ciclo suave.

Com base nesse indicador suavizado, pode-se então calcular um ciclo de indicadores aleatórios:

cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * 
           (smooth - 2 * smooth[1] + smooth[2]) + 
           2 * (1 - alpha) * cycle[1] - 
           (1 - alpha) * (1 - alpha) * cycle[2]

A fórmula de cálculo inclui o diferencial de segundo grau do sinal de ciclo após o suavização e os valores dos dois ciclos anteriores. α é o fator de suavização, ajustando o peso do novo e do antigo valor de ciclo.

Finalmente, com base neste indicador de ciclo, calcula-se um valor aleatório de 0 a 100 de value1。 e se constrói um valor de sinal de base em uma média móvel de 10 dias de value1。 Quando o sinal atravessa ou despenca a média móvel do sinal, é emitido um sinal de transação。

Vantagens estratégicas

A estratégia combina indicadores aleatórios e indicadores periódicos, combinando as vantagens de ambos. Em comparação com estratégias de tendências como a média móvel simples, a estratégia pode capturar melhor as oportunidades periódicas, resultando em melhores resultados.

As principais vantagens são:

  1. Indicadores de ciclo podem identificar padrões circulares, indicadores aleatórios fornecem o tempo de negociação do xFB
  2. Projeto de duplo indicador para filtragem eficaz de sinais falsos
  3. Parâmetros personalizáveis para diferentes cenários de mercado

Risco estratégico

A estratégia tem os seguintes riscos:

  1. A configuração inadequada dos parâmetros pode levar a transações frequentes, aumentando as taxas de transação e os custos de deslizamento.
  2. Incapacidade de lidar eficazmente com a forte volatilidade dos preços de mercado, podendo causar grandes perdas
  3. O indicador de ciclo é altamente dependente do ajuste da curva, e um ajuste inadequado pode gerar um sinal de erro

O risco pode ser controlado por meio de métodos como configuração de parâmetros de otimização, configuração de pontos de parada e combinação com outros indicadores de filtragem.

Direção de otimização da estratégia

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

  1. Filtragem de sinais em combinação com outros indicadores técnicos, como Brinks, RSI, etc., para reduzir sinais errados
  2. Adição de um mecanismo de saída adaptativo, ajustando dinamicamente o ponto de parada de acordo com a volatilidade do mercado
  3. Otimizar automaticamente os parâmetros usando métodos de aprendizagem de máquina para adaptá-los dinamicamente ao mercado
  4. Otimizar a utilização dos fundos e aumentar a sua eficiência através de instrumentos como a alavancagem e a rentabilidade

Resumir

A estratégia de ciclo aleatório de Ells combina os benefícios dos indicadores aleatórios e os indicadores periódicos, controlando o risco de forma eficaz com o design de sinais duplos, permitindo obter melhores retornos em mercados com maior periodicidade. Com uma otimização adicional, a estratégia pode se tornar uma estratégia de negociação quantitativa recomendada.

Código-fonte da estratégia
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Stochastic Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source") 
alpha = input(.07, title = "Alpha")
lag = input(9, title = "Lag")
smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6
len = input(8, title = "Stochastic len")
cycle = na
if na(cycle[7])
    cycle := (src - 2 * src[1] + src[2]) / 4
else
    cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * (smooth - 2 * smooth[1] + smooth[2]) + 2 * (1 - alpha) * cycle[1] - (1 - alpha) * (1 - alpha) * cycle[2]

value1 = stoch(cycle, cycle, cycle, len) / 100
value2 = 2 * ((4 * value1 + 3 * value1[1] + 2 * value1[2] + value1[3]) / 10 - 0.5)

signal = value2
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if (crossover(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossunder(signal, signal[1]))
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if (crossunder(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossover(signal, signal[1]))
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
    
plot(0, title="ZeroLine", color=gray) 
plotSrc = signal
cyclePlot = plot(plotSrc, title = "CyberCycle", color = blue)
triggerPlot = plot(plotSrc[1], title = "Trigger", color = green)
fill(cyclePlot, triggerPlot, color = plotSrc < plotSrc[1] ? red : lime, transp = 50)