Estratégia de negociação de curtose rápida e lenta

Autora:ChaoZhang, Data: 23 de Fevereiro de 2023
Tags:

Resumo

Esta estratégia usa o cruzamento de linhas de Kurtosis rápidas e lentas para gerar sinais de negociação. A Kurtosis reflete o sentimento do mercado e pode detectar oportunidades de reversão.

Estratégia lógica

Os principais indicadores e regras são:

  1. Valor de Kurtose: Reflete a inclinação da distribuição de preços.

  2. Linha de curtose rápida: curtose calculada com média móvel curta.

  3. Linha de curtose lenta: curtose calculada com média móvel longa.

  4. sinal longo: linha rápida cruza linha lenta.

  5. Saída longa: a linha rápida cruza abaixo da linha lenta.

  6. sinal curto: linha rápida cruza abaixo da linha lenta.

  7. Saída curta: linha rápida cruza linha lenta.

A estratégia combina tendência e inversão da média num sistema simples e intuitivo.

Vantagens

Em comparação com o Kurtosis único, os principais prós são:

  1. Combinação rápida/lenta evita sinais falsos.

  2. A linha rápida capta curvas, a linha lenta filtra ruído.

  3. Simples de aplicar sem indicadores complexos.

  4. Ajuste flexível de Kurtosis MA.

  5. A opção de reversão adapta-se a diferentes mercados.

  6. Regras claras, fáceis de executar.

  7. Evita perseguir os altos/baixos, controla o risco.

  8. Bom potencial com ajuste de parâmetros.

Riscos

Apesar dos méritos, os riscos a considerar:

  1. O atraso na Kurtose, não pode evitar todas as perdas.

  2. As definições MA têm um impacto significativo no desempenho.

  3. Sem filtro de volume, risco de falhas.

  4. Confiança em dados históricos, necessidade de robustez.

  5. Sem paradas no local, perda descontrolada por transação.

  6. Risco de sobreajuste da otimização excessiva.

  7. Degradação do desempenho devido a mudanças nos mercados.

  8. Necessidade de monitorizar os rácios de remuneração/risco e a frequência das transacções.

Melhorias

Com base na análise, as melhorias podem incluir:

  1. Avaliação do impacto dos parâmetros de MA na estratégia.

  2. Adicionando confirmação de volume para evitar falhas.

  3. Implementar regras de stop loss e take profit.

  4. Testes de robustez em todos os mercados.

  5. Incorporar técnicas de aprendizagem de máquina.

  6. Otimizar as estratégias de gestão de riscos.

  7. Combinando com outros indicadores para sinais robustos.

  8. Reexame regular para evitar a sobreajuste.

  9. Ajustar o tamanho e a frequência das posições para reduzir os custos de transacção.

Conclusão

Esta estratégia usa o crossover Kurtosis para um sistema simples e intuitivo. Mas as melhorias e otimizações contínuas são fundamentais para qualquer estratégia se adaptar aos mercados em mudança. Através da otimização sistemática, a estabilidade da estratégia e a lucratividade podem ser aprimoradas.


/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/12/2016
// This indicator plots the Fast & Slow Kurtosis. The Kurtosis is a market
// sentiment indicator. The Kurtosis is constructed from three different parts.
// The Kurtosis, the Fast Kurtosis(FK), and the Fast/Slow Kurtosis(FSK).
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="FSK (Fast and Slow Kurtosis) Backtest", shorttitle="FSK (Fast and Slow Kurtosis)")
BuyZone = input(0)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
xMOM_R = mom(mom(close, 3), 1)
xMOM_RAvr = ema(xMOM_R, 65)
xMOM_RWAvr = wma(xMOM_RAvr, 3)
pos =	iff(xMOM_RAvr > BuyZone and xMOM_RWAvr > BuyZone, 1,-1) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMOM_RAvr, color=blue, title="FK")
plot(xMOM_RWAvr, color=red, title="FSK")

Mais.