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

Загрузка исторических данных криптовалют 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.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий