Загрузка исторических данных криптовалют 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.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.