Gandalf Mean Reversão Estratégia de Negociação Quantitativa

Autora:ChaoZhang, Data: 2023-10-30 10:27:40
Tags:

img

Resumo

A estratégia quantitativa de negociação de Gandalf é uma estratégia de reversão média baseada em linhas de preço médias. Determina a direção da tendência atual calculando o preço médio ponderado, a linha de preço mediana e o preço médio do corpo, para encontrar pontos de entrada ideais.

Estratégia lógica

A lógica central da estratégia Gandalf é comparar a relação de magnitude entre o preço médio ponderado, a linha de preço mediana e o preço médio do corpo, para julgar a direção e a força da tendência atual.

Especificamente, calcula os seguintes preços:

  • Preço médio ponderado: (Preço mais alto + Preço mais baixo + Preço de encerramento + Preço de encerramento) / 4
  • Linha de preço mediana: (Preço mais alto + Preço mais baixo) / 2
  • Preço médio do corpo: (preço de abertura + preço de fechamento) / 2

Ao entrar numa posição, compara a relação de magnitude entre o preço médio ponderado, a linha de preço mediana e o preço médio do corpo das duas últimas barras, para determinar se corresponde às características de uma tendência inicial.

Por exemplo, se o preço médio ponderado estiver abaixo da linha de preço mediana e o preço médio do corpo estiver também abaixo do preço médio ponderado, indica que o preço está a cair, o que apresenta uma oportunidade de curtocircuito.

Ao parar a perda, ele continua a comparar a relação de magnitude entre esses preços, para julgar se há sinais de reversão da tendência.

Ao comparar a relação de magnitude de preço, a estratégia Gandalf realiza o julgamento e rastreamento de tendências.

Vantagens

A estratégia Gandalf tem as seguintes vantagens:

  1. Usar a linha de preço mediana para determinar a direção da tendência pode efetivamente filtrar o ruído do mercado e bloquear a tendência principal.

  2. A condição de entrada que combina múltiplas comparações de preços pode determinar de forma mais fiável o início de uma tendência.

  3. A condição de stop loss também utiliza a comparação de preços para julgar a reversão da tendência, o que permite uma rápida stop loss e controle de risco.

  4. Adotar ordens condicionais de entrada pode entrar a preços ideais.

  5. Os prazos máximos de obtenção de lucros e o limite superior do período de detenção pré-estabelecidos podem bloquear os lucros e controlar os riscos comerciais únicos.

  6. A estrutura do código é clara e simples, fácil de compreender e modificar.

  7. Os parâmetros podem ser ajustados com base nas preferências pessoais de risco, fáceis de otimizar.

  8. Aplicável a produtos de tendência, capaz de capturar lucros de tendência.

Em resumo, a estratégia Gandalf utiliza a linha mediana para determinar a tendência, define as condições de lucro e stop loss e pode controlar efetivamente os riscos enquanto acompanha as tendências, tornando-a uma estratégia de tendência confiável.

Riscos

A estratégia de Gandalf também tem alguns riscos:

  1. Como uma estratégia de tendência, produzirá perdas mais pequenas quando a tendência não for clara ou se inverter frequentemente.

  2. A incapacidade de determinar eficazmente os pontos de inversão da tendência pode levar a perdas crescentes.

  3. São propensos a ficarem presos em mercados limitados.

  4. Baseia-se na configuração dos parâmetros, os parâmetros precisam ser ajustados para diferentes produtos.

  5. É um holding unidirecional, incapaz de lucrar com tendências reversas.

  6. Alta taxa de falha de ordens condicionais, pode esperar muito tempo para a entrada.

Medidas de gestão de riscos:

  1. Adotar posições pequenas, entrada parcial, para controlar perdas individuais.

  2. Configure a linha de stop loss, stop loss rápido ou adote stop loss em movimento ou stop loss traseiro.

  3. Otimizar os parâmetros para se adequarem ao produto atual.

  4. Considere martingale para baixo custo base.

  5. Comércio de produtos com tendências óbvias, maior confiança de lucro.

  6. Relaxar adequadamente os critérios de entrada para melhorar a probabilidade de entrada.

Orientações para melhorias

A estratégia Gandalf também pode ser melhorada nos seguintes aspectos:

  1. Construir indicadores de julgamento da tendência para ajudar a determinar o momento das inversões de tendência, como adicionar o MACD, as bandas de Bollinger, etc.

  2. Adicionar funções de otimização discretas para otimizar automaticamente parâmetros e adaptar-se a mais produtos.

  3. Aumentar algoritmos de aprendizagem de máquina, treinar redes neurais ou modelos SVM em dados históricos para julgar tendências.

  4. Adicionar mais métodos de lucro, como a transferência de lucro, parabólico lucro tomar.

  5. Combinar produtos relacionados para estratégias de negociação de spread ou estratégias de estatísticas.

  6. Adicionar previsão de estado baseada no modelo de Markov oculto para julgar o regime do mercado.

  7. Construir estratégias combinadas, como combinar com estratégias de média móvel para gestão de múltiplas estratégias.

  8. Explorar a otimização das combinações de estratégias de negociação para encontrar os pesos de carteira ideais.

Em resumo, a estratégia de Gandalf pode ser expandida e otimizada em múltiplas dimensões como julgamento de tendências, otimização automática, gestão de riscos, para tornar a estratégia mais robusta e confiável.

Conclusão

A estratégia quantitativa de Gandalf é uma estratégia simples, mas eficaz, baseada na comparação de preços para determinar tendências. Combina as ideias de tendência e stop loss rápido, e pode controlar eficazmente os riscos. A lógica da estratégia é clara e fácil de entender, os parâmetros podem ser ajustados com base nas preferências pessoais de risco. Mas também tem alguma flutuação de lucro e riscos de detenção, exigindo otimização e gestão adequadas.


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

//@version=3

// The GandalfProjectResearchSystem strategy, as discussed in
// “System Development Using Artificial Intelligence”
// by Domenico D’Errico and Giovanni Trombetta
strategy("Gandalf Project Research System", overlay=true)

// Inputs
Quantity = input(0, title="Quantity (0 to auto calc)")
Single_Trade_Money = input(10000, minval=1, title="Money to spend on single trade")
MaxProfitCloses = input(6, minval=1, title="Max Profit Close")
MaxBars = input(8, minval=1, title="Max Total Bars")
Enter_Gap = input(-0.08, title="Distance from low price to place entry limit")
AltExit = input(true, title="Use Alt Exit")

// Calculate Order Quantity
Ncon = Single_Trade_Money / close

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
MedBodyPrice = (open + close) / 2.0
Weighted = (high + low + close + close) / 4.0
Median = (high + low) / 2.0

// Enter Conditions
Cond00 = strategy.position_size == 0
Cond01 = ((Weighted[1] < Median[1] and Median[2] <= Weighted[1] and MedBodyPrice[2] <= Weighted[3]) or (Weighted[1] < Median[3] and MedBodyPrice[0] < Median[2] and MedBodyPrice[1] < MedBodyPrice[2]))
Entry01 = Cond00 and Cond01

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Exit Conditions
eCond01 = BarsSinceEntry - 1 >= MaxBars
eCond02 = MaxProfitCount >= MaxProfitCloses
eCond03 = ((Weighted[1] < MedBodyPrice[1] and Median[2] == MedBodyPrice[3] and MedBodyPrice[1] <= MedBodyPrice[4]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]))
eCond04 = AltExit ? true : close - strategy.position_avg_price < 0
Exit01 = not Cond00 and (eCond01 or eCond02 or (eCond03 and eCond04))

// Entries
strategy.entry(id="L1", long=true, limit=low + Enter_Gap, qty=(Quantity > 0 ? Quantity : Ncon), when=Entry01)
 
// Exits
strategy.close("L1", Exit01)


Mais.