Aktualne i historyczne dane rynkowe Coinbase Pro [Przykładowe skrypty w Pythonie]

>

Coinbase Pro stało się jednym z najważniejszych miejsc, w których handlowcy z USA mogą angażować się na rynku kryptowalut. Ten gorący punkt przyciągnął niezliczonych programistów, instytucje i day traderów. Niestety, wiele osób wciąż zastanawia się, w jaki sposób mogą uzyskać dostęp do aktualnych i historycznych danych z Coinbase Pro w wydajny i opłacalny sposób.

W tym samouczku przeprowadzimy Cię przez proces konfigurowania skryptów Python, które zapewnią dostęp do jednego z najbardziej kompletnych zestawów danych dostępnych na rynku do tej pory.

Nie zapomnij dołączyć do naszego Deweloper Telegram Group przeznaczona dla konstruktorów, którzy tworzą aplikacje na giełdach. Jesteśmy zawsze gotowi odpowiedzieć na Twoje pytania i pomóc Ci zacząć!

Uzyskaj dane Binance

Uzyskaj dostęp do miliardów historycznych punktów danych dla Binance. Dostępne są migawki z książek, historia handlu i żywe gniazda internetowe.

Pierwsze kroki

Zanim zaczniemy zbierać dane dotyczące wymiany, potrzebujemy kilku rzeczy. Poniższa sekcja zawiera krótki przewodnik, który pomoże Ci skonfigurować i przygotować się do wdrażania własnych skryptów Coinbase Pro Python.

Instalowanie Shrimpy Python

Zaczniemy od zainstalowania Biblioteka Shrimpy Python.

Możesz to zrobić za pomocą Pipa. Otwórz „Wiersz polecenia” i wpisz następujące polecenie.

pip install shrimpy-python

Klucze API Shrimpy

Teraz, gdy mamy zainstalowaną bibliotekę Shrimpy Python, możemy stworzyć nasze klucze główne API Shrimpy, które będą używane z tą biblioteką.

Zarejestruj się w Shrimpy Developer APIs, następnie postępuj zgodnie z instrukcjami tutaj aby uzyskać dostęp do swoich kluczy głównych.

W tym samouczku wystarczy włączyć uprawnienia „Dane” do kluczy głównego interfejsu API. Wszystkie inne uprawnienia mogą pozostać wyłączone.

W poniższych przykładach zauważysz miejsca, w których klucze są przypisane do zmiennych. Te wystąpienia będą wyglądać następująco.

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

Po prostu zastąp „…” aktualnymi publicznymi i tajnymi kluczami API Shrimpy.

Wymiana danych na żywo

Omówimy dwa różne sposoby zbierania danych na żywo. Pierwszym sposobem zbierania danych są interfejsy API REST. W Shrimpy wszystkie te rynkowe punkty końcowe są bezpłatne. Nie ma żadnych opłat za dostęp do tych zasobów danych na żywo.

Drugi sposób zbierania danych na żywo to Shrimpy Websocket API. Shrimpy wymaga abonamentu „Personal” lub „Startup”, aby uzyskać dostęp do interfejsu API WebSocket.

Uwaga: w tych samouczkach nie będziemy używać żadnych punktów końcowych handlu, więc nie potrzebujesz planu „Użytkownik” / „Handel”.

Punkty końcowe danych rynkowych interfejsu API REST

Następujące skrypty danych rynkowych będą używać punktów końcowych REST API do zbierania danych z giełdy Coinbase Pro. Ze wszystkich skryptów w tej sekcji można korzystać bez subskrypcji Shrimpy.

Dostępne aktywa

Korzystając z punktu końcowego get_exchange_assets, możemy pobrać zasoby, które są dostępne w Coinbase Pro.

import krewetek

# Przypisz publiczne i tajne klucze API Shrimpy Master

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Utwórz klienta Shrimpy REST API

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

exchange_assets = client.get_exchange_assets (‘coinbasepro’)

Dostępne pary handlowe

Korzystając z punktu końcowego get_trading_pairs, możemy uzyskać dostęp do dostępnych par handlowych na Coinbase Pro.

import krewetek

# Przypisz publiczne i tajne klucze API Shrimpy Master

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Utwórz klienta Shrimpy REST API

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trading_pairs = client.get_trading_pairs (‘coinbasepro’)

Prosty pasek cenowy

Poniższy przykład przedstawia prosty pasek ceny. Ticker użyje wywołania REST API get_ticker, aby zebrać dane dotyczące cen specyficznych dla aktywów w Coinbase Pro.

Punkt końcowy paska jest aktualizowany co 1 minutę.

import krewetek

# Przypisz publiczne i tajne klucze API Shrimpy Master

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Utwórz klienta Shrimpy REST API

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Poproś o ticker dla wszystkich zasobów w Coinbase Pro

ticker = client.get_ticker (‘coinbasepro’)

Prosta migawka książki zamówień na żywo

W tym przykładzie uzyskamy dostęp do aktualnego stanu książki zamówień Coinbase Pro, wywołując punkt końcowy interfejsu API REST dla get_order_books.

import krewetek

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Utwórz klienta API dla wywołań REST

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Pobierz książkę zamówień na żywo

orderbooks = client.get_orderbooks (

‘coinbasepro’, # exchange

„ETH”, # base_symbol

„BTC”, # quote_symbol

Limit 10 #

)

Proste świeczniki na żywo

Następny punkt końcowy danych rynkowych zapewnia dostęp do świec handlowych poprzez punkt końcowy get_candles. Świece są aktualizowane w czasie rzeczywistym w miarę wykonywania nowych transakcji na giełdzie. Poniższy skrypt powróci tylko do ostatnich 1000 świec. Aby pobrać więcej danych, musisz użyć „historycznego” punktu końcowego świecy.

import krewetek

import plotly.graph_objects jako go

# zarejestruj się w Shrimpy Developer APIs, aby otrzymać darmowe klucze API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# zebrać historyczne dane świecowe

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

świece = client.get_candles (

‘coinbasepro’, # exchange

„ETH”, # base_trading_symbol

„BTC”, # quote_trading_symbol

Interwał # 1d

)

daty = []

open_data = []

high_data = []

low_data = []

close_data = []

# sformatuj dane, aby pasowały do ​​biblioteki wydruku

dla świec w świecach:

daty.append (świeca [‘czas’])

open_data.append (świeca [‘otwórz’])

high_data.append (candle [‘high’])

low_data.append (świeca [‘niski’])

close_data.append (świeca [‘zamknij’])

# wykreśl świeczniki

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

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig.show ()

Punkty końcowe danych Websocket Market

Następny zestaw przykładowych skryptów będzie używał interfejsów API sieci Web do zbierania danych rynkowych w czasie rzeczywistym z giełdy Coinbase Pro.

Te skrypty będą wymagały wykupienia abonamentu „Osobisty” lub „Startup”. Jeśli planujesz używać tylko gniazd internetowych i nie masz danych historycznych, zalecamy plan „Osobisty”.

Websocket Price Ticker

Poniższy przykład przedstawia bardziej złożony sposób implementacji wskaźnika ceny. Jeśli dla Twojej usługi wymagane są dane w czasie rzeczywistym, ta opcja byłaby idealna, aby zapewnić korzystanie z najbardziej aktualnych danych.

Ten przykład wykorzysta websockets do handlu w czasie rzeczywistym.

import krewetek

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# To jest przykładowa obsługa, po prostu drukuje przychodzącą wiadomość na konsolę

def error_handler (err):

print (err)

# To jest przykładowa obsługa, po prostu drukuje przychodzącą wiadomość na konsolę

def handler (msg):

print (msg [‘content’] [0] [‘price’])

# Utwórz klienta websocket przy użyciu surowego tokenu pobranego przez REST API

api_client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

raw_token = api_client.get_token ()

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

# Dane subskrypcji dla Websocket

subscribe_data = {

"rodzaj": "Subskrybuj",

"Wymieniać się": "coinbasepro",

"para": "eth-btc",

"kanał": "handel"}

# Rozpocznij przetwarzanie strumienia Shrimpy Websocket!

client.connect ()

client.subscribe (subscribe_data, handler)

# Po zakończeniu zatrzymaj klienta

client.disconnect ()

Książka zamówień Websocket Live

Podobnie jak w przykładzie elementu giełdowego Websocket, w poniższym przykładzie do zbierania danych księgi zamówień na żywo używane są gniazda sieciowe.

import krewetek

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# To jest przykładowa obsługa, po prostu drukuje przychodzącą wiadomość na konsolę

def error_handler (err):

print (err)

# To jest przykładowa obsługa, po prostu drukuje przychodzącą wiadomość na konsolę

def handler (msg):

drukuj (msg)

# Utwórz klienta websocket, pobierając surowy token.

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 = {

"rodzaj": "Subskrybuj",

"Wymieniać się": "coinbasepro",

"para": "eth-btc",

"kanał": "księga zamówień"}

# Rozpocznij przetwarzanie strumienia Shrimpy Websocket!

ws_client.connect ()

ws_client.subscribe (subscribe_data, handler)

# Po zakończeniu zatrzymaj klienta

ws_client.disconnect ()

Wymiana historycznych danych rynkowych

Teraz, gdy rozumiemy punkty końcowe danych na żywo, możemy przejść do przodu z przykładami gromadzenia historycznych danych rynkowych z Coinbase Pro.

Wywołania do punktów końcowych danych historycznych będą wymagały subskrypcji „Startup”. Ponieważ będziemy gromadzić tylko dane, nie potrzebujemy żadnych kredytów użytkownika / kredytów handlowych. Oznacza to, że możesz przesunąć suwak „Plan użytkownika” do pozycji „0 aktywnych użytkowników”. Suwak „Plan danych” powinien być dostosowany do poziomu danych historycznych, do których chcesz uzyskać dostęp.

Dostępne dane historyczne

Poniższy skrypt pobierze aktualnie dostępną listę danych historycznych. W ten sposób możesz przeglądać katalog danych Shrimpy i określić, jakie dane chcesz zebrać. Spowoduje to użycie punktu końcowego get_historical_instruments.

import krewetek

# zarejestruj się w Shrimpy Developer APIs, aby otrzymać darmowe klucze API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# zebrać historyczne dane świecowe

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

Instruments = client.get_historical_instruments (‘coinbasepro’)

Historyczne świeczniki

Podobnie jak w przypadku żywych świec, historyczny punkt końcowy świecy umożliwia zbieranie historycznych danych świecowych. Główną różnicą między tym skryptem a poprzednim skryptem świecowym jest użycie zakresu dat, który może zawierać dowolny dostępny zakres czasu. W tym skrypcie użyjemy punktu końcowego get_historical_candles.

import krewetek

import plotly.graph_objects jako go

# zarejestruj się w Shrimpy Developer APIs, aby otrzymać darmowe klucze API

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

świece = client.get_historical_candles (

‘coinbasepro’, # exchange

„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

Interwał # 1d

)

daty = []

open_data = []

high_data = []

low_data = []

close_data = []

dla świec w świecach:

daty.append (świeca [‘czas’])

open_data.append (świeca [‘otwórz’])

high_data.append (candle [‘high’])

low_data.append (świeca [‘niski’])

close_data.append (świeca [‘zamknij’])

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

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig.show ()

Transakcje historyczne

Poniższy skrypt pokaże, jak zbierać dane handlowe tick-by-tick dla dowolnej dostępnej pary handlowej na Coinbase Pro. Ten skrypt używa punktu końcowego get_historical_trades.

import krewetek

# zarejestruj się w Shrimpy Developer APIs, aby otrzymać darmowe klucze API

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

)

Migawki historii zamówień

Nasz ostateczny skrypt użyje punktu końcowego get_historical_orderbooks do zbierania jednominutowych migawek książek zamówień.

import krewetek

# zarejestruj się w Shrimpy Developer APIs, aby otrzymać darmowe klucze API

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

)

O Shrimpy

Krewetki to aplikacja do tworzenia niestandardowych funduszy indeksów kryptowalut, równoważenia i zarządzania zróżnicowanym portfelem aktywów cyfrowych. Zautomatyzuj swoje portfolio, łącząc się z dowolną z 17 obsługiwanych przez nas giełd kryptowalut.

Shrimpy’s Universal Crypto Exchange APIs są przeznaczone dla programistów. Integracja z naszymi ujednoliconymi interfejsami API zapewnia natychmiastowy dostęp do jednolitych punktów końcowych w celu handlu, gromadzenia danych, zarządzania użytkownikami i nie tylko na każdej większej giełdzie kryptowalut.

Aby uzyskać dostęp do wszystkich bibliotek Python i Node, skorzystaj z tych linków:

Węzeł

Pyton

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