Historyczne dane dotyczące handlu kryptowalutami [przykładowe skrypty w języku Python]

>

Historyczne dane dotyczące handlu kryptowalutami zawierają indywidualne transakcje, które zostały wykonane przez wymianę w czasie. Każda transakcja historyczna zawiera informacje o parze handlowej, wielkości transakcji, dokładnym czasie zawarcia transakcji oraz cenie kupowanych lub sprzedawanych aktywów.

Co ciekawe, te dane handlowe są również wykorzystywane do konstruowania danych OHLCV, oceny różnych wydarzeń rynkowych i opracowywania narzędzi analitycznych. Posiadanie dokładnych i wiarygodnych historycznych danych dotyczących transakcji typu „tick-by-tick” jest niezbędne do odtworzenia wydarzeń, które miały miejsce na rynku w czasie.

W tym artykule podamy kilka przykładów korzystania z Shrimpy Developer APIs aby uzyskać dostęp do pełnego archiwum historycznych danych handlowych pochodzących z Kaiko. Zanim zaczniemy, powinniśmy skonfigurować nasze środowisko Python, instalując Biblioteka Shrimpy Python. To będzie kluczowa biblioteka, która da nam dostęp do wszystkiego, co ma do zaoferowania Shrimpy.

Dane handlowe

Historia transakcji giełdowych to sposób, w jaki handlowcy mogą czytać najnowsze transakcje kupna i sprzedaży, które zostały przeprowadzone na giełdzie.

Dostęp do historycznych danych handlowych

Aby rozpocząć samouczek, zacznijmy od najbardziej podstawowego skryptu, jaki możemy napisać. Ten skrypt po prostu zażąda pierwszych 10000 transakcji BTC / USD, które miały miejsce po ‘2020-09-15T01: 00: 00.000Z’ na Coinbase Pro.

import krewetek

# zarejestruj się w https://developers.shrimpy.io/, aby uzyskać klucz API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# utwórz klienta 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”,

10000

)

# zapisz dane do pliku tekstowego

z otwartym (‘trades.txt’, ‘w’) jako plik:

file.write (json.dumps (trades)) # użyj `json.loads`, aby wykonać odwrotną czynność

Uwaga: w przypadku niektórych wymian a los transakcji. Pamiętaj, aby monitorować wykorzystanie kredytu danych podczas uzyskiwania dostępu do danych handlowych, ponieważ liczba wymaganych kredytów danych w danym okresie będzie się różnić.

Korzystanie z transakcji do obliczania poślizgu

Dla zabawy przejrzyjmy przykładowy skrypt, który będzie zbierał dane handlowe, organizował każdą transakcję według znacznika czasu i obliczał poślizg występujący na giełdzie w każdym 1-sekundowym okresie.

import krewetek

import csv

# zarejestruj się w https://developers.shrimpy.io/, aby uzyskać klucz API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# utwórz klienta 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”,

10000

)

# transakcji grupowych, które miały miejsce w tym samym czasie

dla handlu w handlu:

jeśli handel [‘time’] w trades_dict:

trades_dict [handel [‘czas’]]. append (handel)

jeszcze:

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

trades_dict [handel [‘czas’]]. append (handel)

# obliczyć poślizg dla transakcji, które miały miejsce w tym samym czasie

# na koniec zapisujemy wszystkie dane do pliku csv

dla klucza, wartość w trades_dict.items ():

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

suma = 0

dla wartości handlu:

sum + = float (trade [‘size’])

wiersz = [abs (poślizg * 100), klucz, suma]

with open (’24_hour_% s_slippage_% s_% s.csv’% (exchange, quote, base), ‘a’) as csvFile:

writer = csv.writer (csvFile)

writer.writerow (row)

Uwaga: to nie są skrypty produkcyjne. Są po prostu zabawnymi przykładami dostarczającymi informacji o tym, co jest możliwe dzięki danym. Możliwości są nieskończone, więc eksperymentuj z różnymi sposobami wykorzystania danych!

Co to jest poślizg?

Poślizg ma miejsce, gdy jedno zlecenie lub wiele kolejnych zleceń jest składanych na giełdzie, która zużywa kolejne poziomy otwartych zleceń na giełdzie.

Dostępność danych

Zanim zaczniemy zbierać dane na temat pary handlowej, istnieją sposoby, aby dowiedzieć się, ile danych jest dostępnych dla każdej pary handlowej. Dostęp do tego można uzyskać, wywołując punkt końcowy w celu uzyskania instrumentów historycznych.

Pobieranie listy instrumentów historycznych dla pojedynczej wymiany lub dla wszystkich giełd można po prostu wykonać za pomocą następujących żądań w Pythonie.

instrumenty = client.get_historical_instruments () # pobierz historyczne instrumenty dla wszystkich giełd

bittrex_instruments = client.get_historical_instruments (‘Bittrex’) # pobierz instrumenty historyczne dla Bittrex

Wynik tych żądań wyglądałby mniej więcej tak:

[

{

"Wymieniać się":"bittrex",

"baseTradingSymbol":"LTC",

"quoteTradingSymbol":"BTC",

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

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

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

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

{

"Wymieniać się":"kucoin",

"baseTradingSymbol":"LTC",

"quoteTradingSymbol":"BTC",

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

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

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

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

]

To nie wszystko!

Jeśli potrzebujemy jeszcze bardziej szczegółowych informacji o tym, ile punktów danych handlowych jest dostępnych w danym okresie, możemy użyć punktu końcowego do uzyskania historycznej liczby.

Poniższy przykład pokazuje, jak można to zrobić w Pythonie.

trades = client.get_historical_count (

‘handel’,

„binance”,

„BTC”,

„USDT”,

„2019-05-01T00: 00: 00.000Z”,

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

)

Odpowiedź na to żądanie będzie zawierać liczbę transakcji, które są dostępne w tym przedziale czasowym dla określonej pary handlowej. Wyglądałoby to następująco:

{

"liczyć": 165012

}

Wnioski

Czas zacząć budować!

Nie ma ograniczeń co do tego, co można zbudować na podstawie historycznych danych handlowych. Niezależnie od tego, czy chcesz zbudować modele uczenia maszynowego, które mogą przewidzieć przyszłą cenę aktywa, czy po prostu chcesz przeanalizować interesujące wydarzenie czarnego łabędzia, dane handlowe są doskonałym miejscem do rozpoczęcia analizy historycznych danych rynkowych.

Nie możemy się doczekać, aby usłyszeć, co tworzysz! Zostaw komentarz, dzieląc się narzędziami, które tworzysz za pomocą interfejsów API Shrimpy Developer!

Dodatkowe dobre lektury

Jak stworzyć bota handlowego Crypto za pomocą Pythona

Jak pobrać dane świecowe kryptowaluty z giełd

Skrypty arbitrażowe dla botów do handlu kryptowalutami

Skrypt Bitcoin Price Live Ticker (przy użyciu Websockets)

O Shrimpy

Shrimpy’s Developer Trading API to ujednolicony sposób integracji funkcji handlowych na każdej większej giełdzie. Zbieraj dane rynkowe, korzystaj z gniazd internetowych w czasie rzeczywistym, realizuj zaawansowane strategie handlowe i zarządzaj nieograniczoną liczbą użytkowników.

Shrimpy Crypto Trading API: Shrimpy | Crypto Trading API dla programistów

Nie zapomnij nas śledzić Świergot i Facebook o aktualizacje i zadawaj pytania naszemu niesamowitemu Telegram społeczność.

Zespół Shrimpy

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