Добрый день, уважаемые читатели блога! Сегодня речь пойдёт снова о загрузке курсов валют, только теперь мы обратимся к криптовалютам.
Основным источником данных о котировках будут служить биржи — Kraken, Binance, Poliniex, Bitterex и прочие. Что их объединяет? Ответ прост — API (application programming interface, программный интерфейс приложения, если по-русски).
Самое забавное, что к этому интерфейсу нельзя обратиться с помощью простого web запроса в Excel. Как мы это делали раньше. Выход есть — использовать Power Query.
Power Query — это специальная технология получения и анализа данных от компании Microsoft. Для Excel 2016, 2019, Office365 её отдельная установка не требуется (пакет уже включён в программу), для всех остальных версий придётся качать отдельно, также нужно обратить внимание на разрядность вашего офиса (х32, х64).
Скачали, установили и теперь в Excel появится новая вкладка — POWER QUERY.
Вкладка выглядит следующим образом:
В принципе можно рассматривать Power Query как надстройку над вкладкой «Данные», так как у нас расширяется выбор источников получения данных.
Ну что ж, теперь перейдём непосредственно к загрузке. Цель — получить соотношение покупки продажи криптвалютных пар (ETH/BTC). К примеру, нужно загрузить курс с биржи Binance.
Весь труд будет в следующем — найти API биржи и его «руководство пользователя». Для нашей биржи оно находится по адресу:
https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md
Базовой точкой входа будет:
https://api.binance.com/
И далее идёт пространное описание возможностей синтаксиса. Экспериментальным путём и опираясь на это руководство пользователя, выяснилось следующее: для получения данных по конкретной паре валют необходимо указать путь до «бегущей строки» биржи и прописать символьное обозначение пары.
Вот так:
https://api.binance.com/api/v3/ticker/price?symbol=ETHBTC
- v3 — версия api биржи;
- ticker — «бегущая строка» котировок;
- price?symbol=ETHBTC — текущая стоимость продажи.
Воспользуемся полученной ссылкой. Переходим на вкладку «Power Query» и нажимаем кнопку «Из интернета» (она самая первая). Перед нами появится окно с запросом источника загрузки данных, в поле «URL адрес» записываем адрес интересующей пары. Для загрузки остальных нужно просто поменять краткие названия криптовалют в конце строки.
Нажимаем «ОК» и попадаем в редактор запроса и представления на листе Excel.
Видим, появился редактор, данные и параметры запроса. Мы находимся на вкладке «Конвертировать». Перейдём на вкладку «Просмотр» и поставим галку «Строка формул», чтобы видеть запрос в привычном представлении.
Возвращаемся на вкладку «Конвертировать» и нажимаем кнопку «В таблицу».
Поскольку нам ничего пока больше не нужно, в появившемся окне нажимаем «Закрыть и загрузить», чтобы данный запрос появился на листе.
В результате получим вот такую картину.
Цель достигнута, курсы подгрузились. Теперь нужно настроить их на автоматическое обновление. Справа у нас есть столбец «Параметры запроса», щелкаем правой кнопкой мышки по нашем запросу и выбираем «Свойства», ставим галку «Быстрая загрузка» -> Ок.
Далее мы оказываемся на вкладке «Конструктор», в блоке кнопок «Данные из внешней таблицы» щёлкаем по треугольнику после кнопки «Обновить», затем выбираем пункт «Свойства подключения». В следующем окне нужно настроить время обновления нашего запроса.
Проставляем галки как на рисунке. Тем самым мы добиваемся автоматического обновления котировок в течение одной минуты, а если нам нужно — можем обновить сами по нажатию кнопки. Нажимаем «ОК».
Готово! Ждём минуту, курс обновляется сам. Теперь котировки будут подгружаться автоматически.
Единственный минус — для большого количества запросов придётся всё создавать ручками, что в свою очередь будет сильно нагружать программу Excel при обновлении курсов криптовалют.