O assim chamado "Supertrend”O indicador está gerando muito interesse ultimamente, mas é lucrativo negociar com ele? Vamos ao fundo disso.
A estratégia e os indicadores de supertendência ganharam atenção em sites de gráficos como Tradingview.com, aqui o principal indicador de biblioteca pública deste gênero tem 23,332 'seguidores'.
E os videoblogs adotaram esse indicador, por exemplo, “Part Time Larry”, que recentemente construiu um bot de negociação usando este gatilho.
O indicador em si é bastante sexy quando representado graficamente…
A matemática é importante.
Mas será que é lucrativo? Por um lado, a matemática envolvida não é trivial.
O pontonO objetivo deste artigo não é revisitar a matemática envolvida, mas sim testar sua lucratividade na negociação de criptomoedas quant. Vamos prosseguir?
O diabo está nos detalhes.
Um ponto pequeno, mas crucial, antes de continuarmos, observe que este indicador é um “indicador de acompanhamento de tendência”, isso é muito importante por 2 motivos:
- cerca de 80% das vezes os mercados estão NÃO trending
- os lucros de uma estratégia de tendências devem ser em comparação com os lucros de simplesmente manter (ou vender a descoberto) o mesmo ativo. Isto é muito diferente de julgar os próprios lucros (ou seja, permanecer em dinheiro).
Esboço
Nesta peça faremos o seguinte:
- Pegue emprestado algum código Python para a matemática do indicador Supertrend (por que reinventar a roda)
- Colete dados históricos da Binance
- Faça backtest da estratégia em relação a uma bolsa (por exemplo, 'BTCUSDT') durante um período de tempo e analise os resultados
- Parâmetros do indicador de diferença de força bruta para ver o que 'se encaixa' de forma lucrativa
Configuração de binância
Como de costume, para trabalhar com a API Binance, você precisará configurar uma conta Binance (gratuita) e obter chaves API. Há instruções em seu site sobre como fazer isso.
Em seguida, você criará um config.py no diretório com o código crypto quant. Isso será usado para importar sua chave e segredo.
API_KEY = 'sua chave API'
API_SECRET = 'seu segredo da API'
Matemática das supertendências
O indicador Supertrend usa os cálculos True Range (TR) e Average True Range (ATR):
- Alcance Verdadeiro (TR): Um True Range de um ativo é calculado tomando os maiores valores de três diferenças de preço, que são: máximo do mercado menos mínimo do marcador, máximo do mercado menos fechamento do mercado anterior, fechamento do mercado anterior menos mínimo do mercado.
- Média True Rance (ATR): Average True Range é uma média suavizada dos valores True Range calculados anteriormente para um número especificado de períodos.
Para um mergulho profundo nos cálculos da Supertrend, consulte SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Usaremos um conjunto simplificado de cálculos, cortesia de 'Part Time Larry' e seu blog de vídeo neste tópico. Ele entra em detalhes sobre a matemática aqui, então não há necessidade de repetir tudo isso. Assista ao vídeo dele.
Esses vídeos dão muito trabalho e tiro o chapéu para esses autores por publicarem conteúdo sobre esses tópicos.
Por favor, compre um ☕ para ele, ou um uísque!
Aqui estão nossas importações e configuração do cliente. Nada de especial aqui.
importar ccxt
importar configuração
agendamento de importação
importar pandas como pd
pd.set_option('display.max_rows', Nenhum)avisos de importação
warnings.filterwarnings ('ignorar')importar numpy como np
from datetime importar datetime
tempo de importação
do cliente de importação binance.client
importação aleatóriacliente = Cliente (config.API_KEY, config.API_SECRET)
Precisaremos de dados, vamos usar dados de tick de 15 minutos para Etherium (ETH) em um período de tendência no início de 2021
castiçais = client.get_historical_klines(“ETHUSDT”, Client.KLINE_INTERVAL_15MINUTE, “22 de janeiro de 2021”, “21 de fevereiro de 2021”)
# apare cada vela
para vela em castiçais:
del candle[-6:] # só precisa das primeiras colunas
Vamos ver nossos dados em um dataframe:
Backtesting!
Agora criaremos o código de backtest. O recuo duplo é um espaço reservado que revisitaremos mais tarde.
A estratégia é simples: quando o indicador Supertrend reverte de “Vender” para “Comprar”, assumimos uma posição longa IF o valor de fechamento mais recente está acima do período 200 EMA Valor (Média Móvel Exponencial). Aqui está a essência do gatilho de compra:
se não df['in_uptrend'][previous_row_index] e df['in_uptrend'][last_row_index]:
print("*alterado para tendência de alta")
se não estiver em_posição:
if df['close'][last_row_index] < df['ema200'][last_row_index]:
print("abaixo da EMA")
return # não compre aquiprint('ema200', df['ema200'][last_row_index])
print("COMPRAR!", df['timestamp'][last_row_index], df['close'][last_row_index])
A estratégia é vendida quando o preço de fechamento cai abaixo da EMA.
if df['close'][previous_row_index] <df['ema200'][previous_row_index]: # fechado abaixo de ema
se estiver em_posição:
print('ema200', df['ema200'][previous_row_index])
print(“VENDER!”, df['timestamp'][last_row_index], df['close'][last_row_index])
O resto do código serve principalmente para acompanhar nosso livro-razão de negociação.
Mercados de tendência
Portanto, no início de 2021, o mercado apresentava uma forte tendência para ETH…
Aqui estão nossos resultados de backtest Supertrend para este período com parâmetros padrão para o indicador Supertrend:
*alterado para tendência de alta
ema200 1336.3416667585598
BUY! 2021-01-26 23:00:00 1365.57
ema200 1337.542530741581
SELL! 2021-01-27 01:15:00 1327.7
*alterado para tendência de alta
ema200 1293.9199247860201
BUY! 2021-01-28 13:45:00 1343.0
ema200 1314.384770497579
SELL! 2021-01-29 03:45:00 1320.82
*alterado para tendência de alta
ema200 1329.4749563894045
BUY! 2021-02-01 21:45:00 1350.12
ema200 1576.8033662124164
SELL! 2021-02-04 15:15:00 1566.06
*alterado para tendência de alta
ema200 1615.0917589663093
BUY! 2021-02-05 13:30:00 1685.92
ema200 1657.0474199540897
SELL! 2021-02-06 05:15:00 1662.5
*alterado para tendência de alta
ema200 1622.6337214761083
BUY! 2021-02-08 06:15:00 1634.53
ema200 1748.050539834764
SELL! 2021-02-10 12:45:00 1745.0
*alterado para tendência de alta
ema200 1740.2712583651808
BUY! 2021-02-11 10:30:00 1783.51
ema200 1762.7249257898284
SELL! 2021-02-12 04:15:00 1750.14
*alterado para tendência de alta
ema200 1790.4360684700155
BUY! 2021-02-15 12:45:00 1805.14
ema200 1790.2882902636748
SELL! 2021-02-15 12:45:00 1805.14
*alterado para tendência de alta
ema200 1781.059323775294
BUY! 2021-02-17 09:30:00 1817.25
ema200 1961.7364660509322
SELL! 2021-02-20 22:15:00 1931.86
Período: 20 braço: 6
lucro% 2.733345624999929
Lucro de 2.7% em um mês, ótimo! Não, terrível. Não podemos comparar isto com uma não posição durante este período; em vez disso, deve ser comparado com estar no mercado e manter uma posição longa.
Tenha cuidado ao avaliar os resultados do lucro do backtesting.
Na verdade, ter mantido ETH durante este período teria resultado em >80% de lucro [no papel]
Mercados sem tendência
Então, que tal um período sem tendência? Este é o caso aproximadamente 80% das vezes.
Os mercados apresentam tendências apenas cerca de 20% do tempo. Os outros 80% do tempo estão “se movendo para os lados”.
Nesse caso, os lucros mantidos seriam insignificantes (ou negativos), como foi o desempenho da estratégia Supertrend? É muito fácil vermos isso simplesmente alterando o período de data do nosso backtest.
Tivemos lucros negativos neste período sem tendência com os parâmetros padrão:
Período: 20 braço: 6
lucro% -0.49146142499997947
Na verdade, junho foi um período clássico sem tendência para a ETH; na verdade, a estratégia Supertrend superou (incluindo comissões) uma perda de retenção, mas não muito e esta ainda é uma perda líquida!
Uma perda líquida ainda é uma perda líquida! Teria sido melhor estar FORA do mercado.
Uma estratégia de negociação só vale a pena se for significativamente melhor do que permanecer dentro ou fora do mercado durante o período em questão.
Parâmetros de força bruta
Mas é improvável que os parâmetros padrão sejam ideais aqui, como fizemos em nossa exploração anterior de criptografia quantitativa vamos brute-force nosso caminho para parâmetros mais lucrativos para nosso indicador Supertrend.
Você só precisa modificar o cabeçalho do nosso código de backtesting:
detalhado = falsopara p no intervalo (20,40):
para braço ao alcance (4, 9):
#se for verdade:
# se for verdade:
# p = 20
# braço = 6
Agora veremos os parâmetros mais lucrativos para este período sem tendência e podemos compará-los com estar dentro (ou fora) do mercado. Os parâmetros da Supertendência são significativo (marca para olhar para trás) e atr_multiplicador (um amplificador, veja os detalhes matemáticos acima).
Estar FORA do mercado de ETH em junho rendeu US$ 0, e estar DENTRO também rendeu aproximadamente US$ 0.
Os melhores parâmetros do Supertend para este período:
Período: 21 braço: 5
na posição True 2117.18 saldo $ 10140.623120000004
lucro% 1.4062312000000383
Das 100 combinações de força bruta (20..40)x(4..9) apenas 20% delas foram lucrativas, portanto 80% de todas as combinações possíveis (dentro desses intervalos práticos) não teria sido melhor do que as nossas posições alternativas (dentro ou fora).
Estratégia durante o mercado de tendência DOWN
E em um período de tendência de baixa do mercado? 2 semanas de maio de 2021 foram brutais para a ETH, conforme mostrado abaixo:
A nossa estratégia Supertrend teve um desempenho superior ao do mercado neste período, mas ainda assim registou ganhos marginais com 13% dos valores dos parâmetros a gerar lucro.
Período: 36 braço: 4
lucro% 0.6344214999999894
Isto é claramente superior a estar NO mercado durante este período (uma perda de aproximadamente 60%!), mas a longo prazo teve um desempenho relativamente fraco.
Conclusão
Execute você mesmo os backtests e experimente diferentes moedas criptográficas. Veja se você consegue encontrar uma estratégia de negociação confiável usando o indicador Supertrend. Por si só é um pouco menos que 'Super', certo?
- '
- "
- 100
- 7
- 9
- Conta
- Todos os Produtos
- api
- ARM
- ativo
- autores
- Backtesting
- MELHOR
- binário
- Blogs
- comprar
- dinheiro
- fechado
- código
- Moedas
- conteúdo
- continuar
- cripto
- CZ
- dados,
- detalhe
- DID
- Cedo
- EMA
- ETH
- EU
- EV
- exchange
- Primeiro nome
- Gratuito
- GM
- ótimo
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- segurar
- Como funciona o dobrador de carta de canal
- Como Negociar
- hr
- HTTPS
- ia
- Incluindo
- interesse
- envolvido
- IP
- IT
- Chave
- chaves
- principal
- Ledger
- LG
- Biblioteca
- longo
- LP
- mercado
- Mercados
- matemática
- Matéria
- média
- ML
- MS
- MT
- líquido
- Outros
- Papel
- preço
- Lucro
- rentabilidade
- público
- Publishing
- alcance
- razões
- DESCANSO
- Resultados
- rever
- conjunto
- Curto-circuito
- simples
- Locais
- pequeno
- So
- Estratégia
- teste
- tempo
- Temas
- pista
- comércio
- Trading
- trending
- us
- valor
- Vídeo
- VÍDEOS
- W
- Assistir
- Roda
- QUEM
- dentro
- Atividades:
- Youtube