Coinbase Pro Live e Historical Market Data [Exemplo de scripts Python]

>

Coinbase Pro se tornou um dos pontos mais importantes para os comerciantes dos EUA se envolverem com o mercado de criptografia. Este ponto quente atraiu incontáveis ​​desenvolvedores, instituições e comerciantes do dia. Infelizmente, muitas pessoas ainda estão se perguntando como podem acessar os dados históricos e ao vivo do Coinbase Pro de uma maneira eficiente e econômica.

Ao longo deste tutorial, iremos guiá-lo através do processo de configuração de scripts Python que fornecerão acesso a um dos conjuntos de dados mais completos disponíveis no mercado até o momento.

Não se esqueça de se juntar ao nosso Grupo de telegramas de desenvolvedores que é dedicado a construtores que estão desenvolvendo aplicativos além das trocas. Estamos sempre prontos para responder às suas perguntas e ajudá-lo a começar!

Obter dados binance

Acesse bilhões de pontos de dados históricos para Binance. Instantâneos do livro de pedidos, histórico comercial e websockets ao vivo estão disponíveis.

Começando

Antes de começarmos a coletar dados de troca, precisamos de algumas coisas. A seção a seguir fornecerá um guia rápido para ajudá-lo a configurar e ficar pronto para começar a implementar seus próprios scripts Coinbase Pro Python.

Instalando Shrimpy Python

Começaremos instalando o Biblioteca Python Shrimpy.

Você pode fazer isso usando Pip. Abra o seu “Prompt de Comando” e digite o seguinte.

pip install shrimpy-python

Shrimpy API Keys

Agora que temos a biblioteca Shrimpy Python instalada, podemos criar nossas chaves mestras da API Shrimpy que serão usadas com a biblioteca.

Inscreva-se para o APIs de desenvolvedor Shrimpy, então siga o guia aqui para acessar suas chaves mestras.

Neste tutorial, você só precisará habilitar as permissões de “Dados” em suas chaves de API mestras. Todas as outras permissões podem permanecer desativadas.

Ao longo dos exemplos a seguir, você observará os locais onde as chaves são atribuídas a variáveis. Essas instâncias serão parecidas com o seguinte.

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

Simplesmente substitua o ‘…’ pelas suas chaves reais da API Shrimpy Public e Secret Master.

Exchange Live Data

Cobriremos duas maneiras diferentes de coletar dados ao vivo. A primeira maneira de coletar dados é por meio das APIs REST. No Shrimpy, todos esses terminais de mercado são de uso gratuito. Não há taxas para acessar esses recursos de dados ao vivo.

A segunda maneira que abordaremos para coletar dados ativos é por meio da API Shrimpy Websocket. Shrimpy requer um plano de pagamento “Pessoal” ou “Inicial” para acessar a API do websocket.

Nota: Não usaremos nenhum ponto de extremidade comercial nestes tutoriais, então você não precisa de um plano de “Usuário” / “Negociação”.

Pontos de extremidade de dados de mercado da API REST

Os scripts de dados de mercado a seguir usarão os terminais da API REST para coletar dados da troca do Coinbase Pro. Todos os scripts nesta seção podem ser usados ​​sem ter uma assinatura Shrimpy.

Ativos Disponíveis

Usando o endpoint get_exchange_assets, podemos recuperar os ativos que estão disponíveis no Coinbase Pro.

importar camarão

# Atribuir chaves públicas e secretas da API Shrimpy Master

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Crie o cliente Shrimpy REST API

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

exchange_assets = client.get_exchange_assets (‘coinbasepro’)

Pares de negociação disponíveis

Usando o endpoint get_trading_pairs, podemos obter acesso aos pares de negociação disponíveis no Coinbase Pro.

importar camarão

# Atribuir chaves de API Shrimpy Master públicas e secretas

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Crie o cliente Shrimpy REST API

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trading_pairs = client.get_trading_pairs (‘coinbasepro’)

Ticker de preço simples

O exemplo a seguir fornecerá um indicador de preço simples. O ticker usará a chamada get_ticker da API REST para coletar os dados de preços específicos de ativos no Coinbase Pro.

O endpoint do ticker é atualizado em um intervalo de 1 minuto.

importar camarão

# Atribuir chaves de API Shrimpy Master públicas e secretas

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Crie o cliente Shrimpy REST API

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Solicite o ticker para todos os ativos no Coinbase Pro

ticker = client.get_ticker (‘coinbasepro’)

Instantâneo simples do livro de pedidos ao vivo

Neste exemplo, acessaremos o estado ao vivo do livro de pedidos Coinbase Pro chamando o endpoint da API REST para get_order_books.

importar camarão

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Crie o cliente API para chamadas REST

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Recupere o livro de pedidos ativo

orderbooks = client.get_orderbooks (

‘coinbasepro’, # troca

‘ETH’, # base_symbol

‘BTC’, # quote_symbol

10 # limite

)

Simple Live Candlesticks

O próximo endpoint de market data fornece acesso para negociar candlesticks por meio do endpoint get_candles. As velas são atualizadas em tempo real à medida que novas negociações são realizadas na bolsa. O script a seguir retornará apenas até os últimos 1.000 candlesticks. Para recuperar mais dados, você deve usar o endpoint de vela “histórico”.

importar camarão

import plotly.graph_objects as go

# inscreva-se nas APIs de desenvolvedor Shrimpy para obter suas chaves de API gratuitas

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# colete os dados históricos do candlestick

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

velas = client.get_candles (

‘coinbasepro’, # troca

‘ETH’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

‘1d’ # intervalo

)

datas = []

open_data = []

high_data = []

low_data = []

close_data = []

# formate os dados para corresponder à biblioteca de plotagem

para velas em velas:

datas.append (vela [‘hora’])

open_data.append (candle [‘abrir’])

high_data.append (candle [‘high’])

low_data.append (candle [‘low’])

close_data.append (candle [‘fechar’])

# plotar os castiçais

fig = go.Figure (data = [go.Candlestick (x = datas,

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig.show ()

Endpoints da Websocket Market Data

O próximo conjunto de scripts de exemplo usará as APIs de websocket para coletar dados de mercado em tempo real da bolsa Coinbase Pro.

Esses scripts exigirão que você assine os planos “Pessoal” ou “Inicial”. Se você está planejando apenas usar websockets e nenhum dado histórico, o plano “Pessoal” é recomendado.

Websocket Price Ticker

O exemplo a seguir é uma maneira mais complexa de implementar um ticker de preço. Se dados em tempo real forem necessários para o seu serviço, esta opção seria ideal para garantir que os dados mais atualizados sejam usados.

Este exemplo usará websockets de comércio em tempo real.

importar camarão

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Este é um manipulador de amostra, ele simplesmente imprime a mensagem de entrada no console

def error_handler (err):

imprimir (errar)

# Este é um manipulador de amostra, ele simplesmente imprime a mensagem recebida no console

manipulador de def (msg):

imprimir (msg [‘conteúdo’] [0] [‘preço’])

# Crie o cliente websocket usando o token bruto recuperado pela API REST

api_client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

raw_token = api_client.get_token ()

client = shrimpy.ShrimpyWsClient (error_handler, raw_token [‘token’])

# Os dados de assinatura para o websocket

subscribe_data = {

"modelo": "se inscrever",

"intercâmbio": "coinbasepro",

"par": "eth-btc",

"canal": "troca"}

# Comece a processar o stream de websocket Shrimpy!

client.connect ()

client.subscribe (subscribe_data, handler)

# Depois de concluído, pare o cliente

client.disconnect ()

Websocket Live Order Book

Semelhante ao exemplo do websocket ticker, o exemplo a seguir usará websockets para coletar os dados do livro de pedidos em tempo real.

importar camarão

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Este é um manipulador de amostra, ele simplesmente imprime a mensagem de entrada no console

def error_handler (err):

imprimir (errar)

# Este é um manipulador de amostra, ele simplesmente imprime a mensagem de entrada no console

manipulador de def (msg):

imprimir (msg)

# Crie o cliente websocket obtendo o token bruto.

api_client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

raw_token = api_client.get_token ()

ws_client = shrimpy.ShrimpyWsClient (error_handler, raw_token [‘token’])

subscribe_data = {

"modelo": "se inscrever",

"intercâmbio": "coinbasepro",

"par": "eth-btc",

"canal": "livro de encomendas"}

# Comece a processar o stream de websocket Shrimpy!

ws_client.connect ()

ws_client.subscribe (subscribe_data, handler)

# Depois de concluído, pare o cliente

ws_client.disconnect ()

Dados históricos do mercado do Exchange

Agora que entendemos os endpoints de dados ativos, podemos avançar com exemplos de como coletar dados históricos de mercado do Coinbase Pro.

As chamadas para os terminais de dados históricos exigirão uma assinatura de “Inicialização”. Como iremos apenas coletar dados, não precisamos de nenhum usuário / crédito comercial. Isso significa que você pode mover o controle deslizante “Plano do usuário” para “0 usuários ativos”. O controle deslizante “Plano de dados” deve ser ajustado para o nível de dados históricos que você gostaria de acessar.

Dados históricos disponíveis

O script a seguir recuperará a lista atualmente disponível de dados históricos. Dessa forma, você pode navegar no catálogo de dados do Shrimpy e determinar quais dados deseja coletar. Isso usará o endpoint get_historical_instruments.

importar camarão

# inscreva-se nas APIs de desenvolvedor Shrimpy para obter suas chaves de API gratuitas

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# colete os dados históricos do candlestick

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

instrumentos = client.get_historical_instruments (‘coinbasepro’)

Castiçais históricos

Semelhante em alguns aspectos aos candlesticks ativos, o endpoint histórico do candle permite coletar dados históricos do candle. A principal diferença entre este script e o script candlestick anterior é o uso do intervalo de datas, que pode conter qualquer intervalo de tempo disponível. Usaremos o endpoint get_historical_candles para este script.

importar camarão

import plotly.graph_objects as go

# inscreva-se no Shrimpy Developer APIs para obter suas chaves de API gratuitas

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

velas = client.get_historical_candles (

‘coinbasepro’, # troca

‘ETH’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

‘2017-02-11T00: 00: 00.000Z’, # start_time

‘2019-10-20T00: 00: 00.000Z’, # end_time

1000, # num_candles

‘1d’ # intervalo

)

datas = []

open_data = []

high_data = []

low_data = []

close_data = []

para velas em velas:

datas.append (vela [‘hora’])

open_data.append (candle [‘abrir’])

high_data.append (candle [‘high’])

low_data.append (candle [‘low’])

close_data.append (candle [‘fechar’])

fig = go.Figure (data = [go.Candlestick (x = datas,

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig.show ()

Comércios históricos

O script a seguir demonstrará como coletar dados de negociação tick-by-tick para qualquer par de negociação disponível no Coinbase Pro. Este script usa o endpoint get_historical_trades.

importar camarão

# inscreva-se nas APIs de desenvolvedor Shrimpy para obter suas chaves de API gratuitas

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

trades = client.get_historical_trades (

‘coinbasepro’,

‘ETH’,

‘BTC’,

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

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

100

)

Instantâneos históricos do livro de pedidos

Nosso script final usará o endpoint get_historical_orderbooks para coletar instantâneos de livros de pedidos de 1 minuto.

importar camarão

# inscreva-se no Shrimpy Developer APIs para obter suas chaves de API gratuitas

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_historical_orderbooks (

‘coinbasepro’,

‘ETH’,

‘BTC’,

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

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

100

)

Sobre Shrimpy

Shrimpy é um aplicativo para a construção de fundos de índice de criptomoeda personalizados, rebalanceamento e gerenciamento de um portfólio diversificado de ativos digitais. Automatize seu portfólio vinculando-se a qualquer uma das 17 trocas de criptografia que apoiamos.

APIs Universal Crypto Exchange do Shrimpy são projetados para desenvolvedores. A integração com nossas APIs unificadas oferece acesso instantâneo a endpoints uniformes para negociação, coleta de dados, gerenciamento de usuários e muito mais em todas as principais bolsas de criptomoedas.

Para acessar as bibliotecas Python e Node completas, siga estes links:

Pitão

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