Dados históricos de criptografia comercial [exemplos de scripts Python]

>

Os dados históricos de negociação criptográfica contêm as negociações individuais que foram executadas por uma bolsa ao longo do tempo. Cada negociação histórica contém informações sobre o par de negociação, o tamanho da negociação, a hora exata em que a negociação foi executada e o preço dos ativos sendo comprados ou vendidos.

Curiosamente, esses dados comerciais também são usados ​​para construir dados OHLCV, avaliar diferentes eventos de mercado e desenvolver ferramentas analíticas. Ter dados históricos precisos e confiáveis ​​de negociação tick a tick é vital para reconstruir quais eventos ocorreram no mercado ao longo do tempo.

Ao longo deste artigo, forneceremos vários exemplos de como usar o APIs de desenvolvedor Shrimpy para acessar o arquivo completo de dados comerciais históricos provenientes de Kaiko. Antes de começar, devemos configurar nosso ambiente Python instalando o Biblioteca Python Shrimpy. Esta será a biblioteca principal que nos dará acesso a tudo o que Shrimpy tem a oferecer.

Dados comerciais

O histórico de negociação de bolsa é uma maneira para os comerciantes lerem as últimas negociações de compra e venda que foram executadas em uma bolsa.

Acessar dados comerciais históricos

Para iniciar o tutorial, vamos começar com o script mais básico que podemos escrever. Este script irá simplesmente solicitar as primeiras 10.000 negociações BTC / USD que ocorreram após ‘2020-09-15T01: 00: 00.000Z’ no Coinbase Pro.

importar camarão

# inscreva-se em https://developers.shrimpy.io/ para obter sua chave de API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# crie o cliente Shrimpy

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trades = client.get_historical_trades (

‘coinbasepro’,

‘BTC’,

‘USD’,

‘2020-09-15T01: 00: 00.000Z’,

‘2020-09-16T01: 00: 00.000Z’,

10.000

)

# grava os dados em um arquivo de texto

com open (‘trades.txt’, ‘w’) como arquivo:

file.write (json.dumps (trades)) # use `json.loads` para fazer o inverso

Nota: Algumas trocas processam um muito de negócios. Certifique-se de monitorar seu uso de crédito de dados ao acessar dados comerciais, uma vez que o número de créditos de dados necessários em qualquer período de tempo pode variar.

Usando negociações para calcular a derrapagem

Apenas por diversão, vamos passar por um script de exemplo que irá coletar dados de negociação, organizar cada negociação por carimbo de data / hora e calcular a derrapagem experimentada na bolsa durante cada período de 1 segundo.

importar camarão

importar csv

# inscreva-se em https://developers.shrimpy.io/ para obter sua chave de API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# crie o cliente Shrimpy

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trades_dict = {}

trades = client.get_historical_trades (

‘coinbasepro’,

‘BTC’,

‘USD’,

‘2020-09-15T01: 00: 00.000Z’,

‘2020-09-16T01: 00: 00.000Z’,

10.000

)

# negociações em grupo que aconteceram ao mesmo tempo

para comércio em negócios:

se negociar [‘tempo’] em trades_dict:

trades_dict [trade [‘time’]]. append (trade)

outro:

trades_dict [trade [‘time’]] = []

trades_dict [trade [‘time’]]. append (trade)

# calcular a derrapagem para negociações que aconteceram ao mesmo tempo

# no final, salvamos todos os dados em um arquivo csv

para chave, valor em trades_dict.items ():

slippage = (float (value [len (value) -1] [‘price’]) – float (value [0] [‘price’])) / float (value [0] [‘price’])

soma = 0

para troca de valor:

soma + = flutuação (comércio [‘tamanho’])

linha = [abs (derrapagem * 100), chave, soma]

com aberto (’24_hour_% s_slippage_% s_% s.csv’% (troca, cotação, base), ‘a’) como csvFile:

escritor = csv.writer (csvFile)

writer.writerow (linha)

Observação: esses não são scripts de nível de produção. Eles são simplesmente exemplos divertidos para fornecer informações sobre o que é possível com os dados. Existem infinitas possibilidades, então experimente diferentes maneiras de usar os dados!

O que é Slippage?

A derrapagem ocorre quando um único pedido ou vários pedidos sequenciais são colocados em uma bolsa que consome níveis consecutivos de pedidos em aberto na bolsa.

Disponibilidade de dados

Antes de começarmos a coletar dados sobre um par de negociação, existem maneiras de entender quantos dados estão disponíveis para cada par de negociação. Isso pode ser acessado chamando o endpoint para obter instrumentos históricos.

Recuperar a lista de instrumentos históricos para uma troca individual ou para todas as trocas pode ser feito simplesmente usando as seguintes solicitações em Python.

instrumentos = client.get_historical_instruments () # obter instrumentos históricos para todas as bolsas

bittrex_instruments = client.get_historical_instruments (‘Bittrex’) # obter instrumentos históricos para Bittrex

O resultado dessas solicitações seria semelhante ao seguinte:

[

{

"intercâmbio":"bittrex",

"baseTradingSymbol":"LTC",

"quoteTradingSymbol":"BTC",

"orderBookStartTime":"2016-09-14T13: 00: 00.000Z",

"orderBookEndTime":"07-09-2019T23: 00: 00.000Z",

"tradeStartTime":"12/09/2016 T23: 00: 00.000Z",

"tradeEndTime":"09/09/2019T16: 00: 00.000Z" }

{

"intercâmbio":"kucoin",

"baseTradingSymbol":"LTC",

"quoteTradingSymbol":"BTC",

"orderBookStartTime":"09-04-2019T11: 00: 00.000Z",

"orderBookEndTime":"31/08/2019 T23: 00: 00.000Z",

"tradeStartTime":"09-04-2019T10: 00: 00.000Z",

"tradeEndTime":"03/09/2019T23: 00: 00.000Z" }

]

Isso não é tudo!

Se precisarmos de informações ainda mais específicas sobre quantos pontos de dados comerciais estão disponíveis em um período de tempo, podemos usar o ponto de extremidade para obter a contagem histórica.

O exemplo a seguir mostra como isso pode ser feito em Python.

trades = client.get_historical_count (

‘troca’,

‘binance’,

‘BTC’,

‘USDT’,

‘2019-05-01T00: 00: 00.000Z’,

‘2019-05-02T00: 00: 00.000Z’

)

A resposta a esta solicitação conterá a contagem de negociações disponíveis naquele intervalo de tempo para o par de negociação especificado. Isso seria parecido com o seguinte:

{

"contar": 165012

}

Conclusões

É hora de começar a construir!

Não há limites para o que você pode construir com dados comerciais históricos. Se você deseja construir modelos de aprendizado de máquina que podem prever o preço futuro de um ativo ou simplesmente deseja analisar um evento interessante do cisne negro, os dados comerciais são um ótimo lugar para começar ao analisar dados históricos de mercado.

Mal podemos esperar para ouvir o que você está construindo! Deixe um comentário compartilhando as ferramentas que você está construindo com as APIs de desenvolvedor Shrimpy!

Boas leituras adicionais

Como fazer um crypto trading bot usando Python

Como baixar dados de velas de criptomoeda de bolsas

Scripts de arbitragem para bots de negociação de criptografia

Script para Bitcoin Price Live Ticker (usando Websockets)

Sobre Shrimpy

A Developer Trading API do Shrimpy é uma maneira unificada de integrar a funcionalidade de negociação em todas as principais bolsas. Colete dados de mercado, acesse websockets em tempo real, execute estratégias de negociação avançadas e gerencie um número ilimitado de usuários.

API Shrimpy Crypto Trading: Shrimpy | Crypto Trading APIs para desenvolvedores

Não se esqueça de nos seguir no Twitter e o Facebook para atualizações e faça perguntas ao nosso incrível Telegrama comunidade.

A equipe Shrimpy

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me