Name:  Capturar 1.PNG
Views: 13
Size:  336.9 KB

A partir de agora, de acordo com a CoinMarketCap, o mercado global de criptomoedas vale mais de US $ 1,5 trilhão. A aprovação recente de alguns bancos e empresas de cartão de crédito para incluir criptomoedas como um de seus produtos financeiros indica um futuro brilhante para o mercado de criptografia. Nos últimos anos, mais pessoas começaram a negociar criptomoedas e há muitas bolsas em todo o mundo que oferecem suporte a diferentes criptomoedas. Neste artigo, vamos nos concentrar na bolsa Binance, que é a bolsa número um do mundo hoje. Suporta quase todas as criptomoedas e está disponível em muitos países.
Neste artigo, discutiremos como acessar dados da API Binance e criar um painel com o Plotly.
Aqui está o que vamos cobrir:
• Como configurar a API Binance
• Como obter dados usando a API Binance
• Construindo um painel com Plotly
1. Como configurar a API Binance
Binance fornece dois tipos de acesso à API: 1) API Actual Binance e 2) API Test Binance.
1.1 Configurando a API Binance real
A API real fornece acesso direto à sua conta real, e todas as negociações feitas com esta API serão refletidas em sua conta real. Isso significa que precisamos ter cuidado ao usar essa API.

Name:  Capturar 2.PNG
Views: 15
Size:  59.1 KB


Após o registro, você será solicitado (ou pode fazer isso nas configurações de segurança) para configurar a autenticação de dois fatores para segurança adicional. Vou recomendar a escolha do Google Authenticator.
Assim que o 2FA estiver configurado, você pode ir para a guia de gerenciamento de API em configurações. Você será solicitado a fornecer um rótulo para suas chaves de API (isso será útil quando você tiver várias chaves associadas a uma única conta).


Name:  Capturar 3.PNG
Views: 16
Size:  100.8 KB


Clique em criar API após fornecer um rótulo para suas chaves de API. Será solicitado que você se autentique mais uma vez e, então, poderá ver sua “Chave API” e “Chave secreta”. Esta é a única vez que você o verá, então copie suas chaves para um lugar seguro. Por padrão, as chaves terão o seguinte acesso, que pode ser alterado.

Name:  Capturar 4.PNG
Views: 16
Size:  58.9 KB

Estaremos usando tanto a API real quanto as chaves da API de teste para entender como trabalhar com elas. Para isso, não queremos bagunçar nossa conta real, então vamos alterar a permissão das chaves de API reais para somente leitura.

Name:  Capturar 5.PNG
Views: 16
Size:  102.2 KB

Estaremos salvando nossas chaves de API reais no arquivo secret.cfg conforme mencionado abaixo (lembre-se, nunca compartilhe ou publique seu arquivo secret.cfg)
1.2 Configurando a API Binance de teste
A API Test Binance fornece a você a mesma sensação de interação com a API real. Eu recomendaria começar com isso (para negociação) até que você tenha certeza de que seu aplicativo funciona bem.


Após fazer o login, clique em “Gerar chave HMAC_SHA256” e você será novamente solicitado a fornecer um rótulo para as chaves. Depois de fornecer o rótulo, clique em gerar e você poderá ver suas chaves de API. Copie-os para algum lugar seguro. Além disso, leia todos os detalhes na página principal sobre a API de teste.
Agora, modificaremos o arquivo secret. cfg para incluir chaves de API de teste, conforme mencionado abaixo
Configuramos com êxito as chaves de API reais e de teste e as salvamos no arquivo secret. cfg. Na próxima seção, vamos nos concentrar em obter dados usando essas chaves de API.
2. Como obter dados usando a API Binance
2.1 Instale a biblioteca python-binance
Binance não fornece uma biblioteca python para interagir com a API, mas há uma biblioteca de terceiros muito famosa chamada python-binance, que usaremos para interagir com a API.
Para instalar a biblioteca python-binance
$ pip install python-binance
2.2 Obtendo informações da conta
Por padrão, você obterá algum saldo em sua conta de teste na forma de diferentes criptomoedas e usaremos a API de teste para esta seção (já que não quero compartilhar as informações da minha conta). Além disso, python-binance não tem acesso à API de teste, então precisamos alterar o URL do endpoint.
Aqui está o código para obter as informações da conta de teste

Como você pode ver na saída acima, ele exibe coisas importantes como accountType, saldos, permissões, etc.
Agora, vamos obter o equilíbrio do ETH.


Você pode fazer muitas coisas com a biblioteca python-binance
2.3 Obtendo dados históricos
De acordo com minha observação, a API de teste não fornece dados históricos reais; em vez disso, ele fornece dados fictícios. Portanto, para acessar dados reais, usaremos a API real e as chaves reais da API.
Obtendo o preço ETH da primeira data disponível (no Binance) até os dias atuais


A saída acima representa os seguintes parâmetros, conforme mencionado no documento da API Binance


Converter a saída em um quadro de dados e salvá-la como um arquivo CSV

2.4 Obtendo dados em tempo real
Podemos usar o Binance WebSocket para transmitir dados em tempo real. É assim que você faz


Agora, para interromper o streaming de dados e fechar o WebSocket
Parece que descobrimos diferentes maneiras de obter dados e informações. Existem muitas outras coisas que você pode fazer com a biblioteca python-binance e a API Binance. Eu encorajaria você a dar uma olhada nisso e nisso. Agora podemos avançar para construir um painel do Plotly na próxima seção.
3. Construindo um painel com Plotly
Nesta seção, construiremos um painel com o Plotly que rastreará nosso portfólio da conta de teste em tempo real e alterará o valor total da conta com base nos dados de streaming ao vivo.
Veja como ficará nosso painel final (não se preocupe com a estética, pois você pode alterá-lo mais tarde)


GIF: Painel Final
Como você pode ver, incluímos os seguintes recursos no painel.
• Indicador - Valor total da carteira em USDT
• Indicador - Valor total da carteira em BTC
• Indicador - conversão BNB / USDT
• Gráfico de pizza - Distribuição de portfólio (em USDT)
• Gráfico de barras - distribuição de tokens
Vejamos o código.
Primeiro, importaremos todas as bibliotecas necessárias.
Em segundo lugar, leremos nossas chaves, estabeleceremos a conexão e obteremos as informações da conta.
Terceiro, definiremos algumas funções para cuidar da transmissão de dados e calcular métricas com base em dados ativos.
Em seguida, começaremos a transmitir dados.
Quinto, vamos definir nosso layout de painel, gráficos e hospedá-lo


É isso, e você deve ser capaz de rastrear o portfólio de sua conta de teste. Você pode facilmente configurá-lo para uma conta real usando chaves reais sem alterar o URL do terminal.
Isso nos leva ao final deste artigo. Você pode acessar todos os códigos neste repositório GitHub. Recentemente, comecei a escrever uma série sobre Negociação Algorítmica com Python e Aprendizado de Máquina. Você pode encontrar o primeiro artigo abaixo.