Загрузка исторических данных криптовалют Binance c Python и Pandas

Загрузка исторических данных криптовалют Binance c Python и Pandas

Здравствуйте! В сегодняшней статье мы рассмотрим как загрузить и сохранить данные по ценам за определенный период с Binance средствами языка Python, а также библиотек Pandas и requests.

Итак, прежде всего установим необходимые библиотеки:


pip install Pandas
pip install requests

Далее создадим файл с названием binance_loader.py:

import requests
import pandas as pd

# Установите начальную и конечную даты для получения исторических данных

interval = '1d'  # интервал дней

symbol = 'BTCUSDT'

end_time = pd.Timestamp.now()  # текущее время

start_time = end_time - pd.Timedelta(days=180)  # 180 дней назад

start_time = int(start_time.timestamp() * 1000)  # перевод в миллисекунды

end_time = int(end_time.timestamp() * 1000)  # перевод в миллисекунды

# Загрузите данные

url = f'https://api.binance.com/api/v3/klines?symbol={symbol}&interval={interval}&startTime={start_time}&endTime={end_time}'

response = requests.get(url)

data = response.json()

# Преобразуйте данные в формат DataFrame и сохраните их в CSV-файл

df = pd.DataFrame(data, columns=['Open time', 'Open', 'High', 'Low', 'Close', 'Volume', 'Close time',
                                 'Quote asset volume', 'Number of trades', 'Taker buy base asset volume',
                                 'Taker buy quote asset volume', 'Ignore'])

# исключаем лишние столбцы и устанавливаем необходимые нам

df = df[['Close time', 'Close']]
df.columns = ['timestamp', 'price']
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')

df.to_csv('btcusdt_data_6m.csv', index=False)

# Выведите первые несколько строк данных
print(df.head())

В этом коде мы использовали интервал в 1 день, а также установили начальную дату 180 дней назад от текущей даты. Для этого мы использовали объект pd.Timestamp из библиотеки Pandas, который умеет работать с датами и временем. Затем мы перевели даты в миллисекунды и сделали запрос к API Binance. Результаты запроса мы преобразовали в формат DataFrame, предварительно исключив из него некоторые столбцы, и сохранили в файл btcusdt_data_6m.cs.

Таким образом, мы загрузили исторические данные с binance при помощи Python и библиотек Pandas, requests.

Источник

Shopping Cart