Сайт находится в процессе разработки
Войти
Главная / Data science в трейдинге / Получение исторических данных по котировкам с помощью API: пример кода

Получение исторических данных по котировкам с помощью API: пример кода

Что такое API

API (Application Programming Interface) — это набор правил и протоколов, которые позволяют разным приложениям взаимодействовать друг с другом. API предоставляет интерфейс, через который одно приложение может обращаться к другому для выполнения операций или получения данных. 

Если проще, API позволяет разработчикам получать нужные данные от сервиса или приложения. Например, API Instagram собирает данные о пользователях приложения, их фото, геолокации и так далее. Другой разработчик уже в своем сервисе может использовать API для работы с этими данными.

Чем полезен API

API облегчает работу с данными: делает доступной интеграцию, автоматизацию, упрощает разработку, а еще дает возможность собирать данные для торговли напрямую.


Обмен данными. API дает возможность интегрировать разные сервисы и платформы между собой, позволяя им обмениваться данными и взаимодействовать друг с другом. Таким образом API используют для интеграции платежных систем, картографических или облачных сервисов и других внешних ресурсов в ваше приложение или систему. 


Автоматизация. С помощью API можно автоматизировать выполнение задач и операций, используя другие приложения и сервисы. Например, можно настроить автоматическую отправку электронных писем, упрощать бизнес-процессы и делать многое другое.  

Упрощение разработки. Также API можно использовать для расширения функционала вашего приложения или системы, разработки приложений или упрощения разработки программного кода. Например, такие компании как Google или Amazon создают свои собственные API — это дает им возможность открывать доступ к своим сервисам без необходимости полностью переходить в их систему. 

Оперативный сбор данных 

API применяют и в трейдинге — для получения данных напрямую, без торговой платформы. Применение API дает возможность автоматизировать сбор данных. Также это повышает их точность и надежность, что особенно важно для технического анализа или при разработке торговых стратегий, где точность играет решающую роль. 


Разберем на примере, как именно получать данные с помощью кода через API. 


Шаг 1. Определяем функцию

Для начала нам нужно определить функцию, которая будет получать данные и возвращать нам датафрейм Pandas. 


Аргументы:

  • symbol — тикет криптовалюты, данные по которой хотим получить;

  • interval — интервал, таймфрейм (час, день, неделя и т.д.);

  • startTime — время начала;

  • endTime — конечное время.

Шаг 2. Выбираем поставщика данных 

На этом этапе указываем источник для подключения — это наш поставщик данных. Указав источник, мы определяем, откуда и каким образом данные будут загружены в датафрейм для дальнейшего анализа. 

В нашем случае поставщик — это Bybit.com, криптовалютная биржа, предлагающая торговлю биткоин-фьючерсами и биткоин-опционами.


Шаг 3. Указываем временной интервал 

Определение временного интервала также важно, так как это позволяет указать, в каком временном разрезе данные будут возвращены от Bybit — это может быть минута, 5 минут, 1 час, 1 день и так далее.

Определяем начальный временной промежуток, за который мы хотим получать данные:


Определяем конечный временной промежуток: 

Также определяем параметры аргументов: 

Теперь создаем датафрейм Pandas: 

В качестве индекса датафрейма мы будем использовать временную метку: 

Возвращаем датафрейм: 

Шаг 4. Определяем товар или котировку

Также нужно указать конкретный финансовый инструмент, данные о котором нам нужно получить. Поэтому мы создаем датафрейм и используем функцию get_bybit_bars, которую мы создали. Эта функция будет использовать API для получения исторических данных по барам (свечам) для указанной котировки и временного интервала. 



Результатом будет возвращенный датафрейм Pandas с историческими данными по барам — для указанной котировки в заданном временном интервале. 

Шаг 5. Настраиваем формат данных

Еще нужно определить, в каком формате мы хотим получать данные. Для этого проходим циклом по каждой колонке нашей таблицы и пробуем преобразовать значения столбцов в числа с плавающей точкой. Этот формат отображает данные в виде «1.0», «2.5», «3.47» и так далее. 


Выбор формата важен, так как по умолчанию данные могут приходить в формате «object» и обрабатываться как строки, из-за чего могут возникнуть проблемы с точностью результата.  


Шаг 6. Делаем запрос на получение данных

После этого делаем запрос на получение данных с Bybit и выводим первые пять строк таблицы для отображения. 


В итоге Bybit возвращает нам датафрейм Pandas с историческими данными в виде таблицы. Пример полученного кода выглядит так:

Весь код для получения исторических данных через API выглядит следующим образом: 


Коротко

  • Множество финансовых бирж и сервисов предоставляют API для доступа к их историческим данным: котировкам акций, валют, криптовалют, сырьевых товаров и других активов. 

  • Для получения данных нужно определить функцию, источник для подключения, временной интервал, товар/котировку и нужный формат. После этого сделать запрос с площадки — данные вернутся в виде таблицы. 

  • API дает возможность автоматизировать получение свежих и актуальных данных без необходимости сбора и обновления их вручную. Это позволяет быстро реагировать на изменения рынка и принимать взвешенные решения, а также экономит время и силы.

Что такое тренды и фигуры и как по ним торговать
Чтобы определить, когда открывать ордер на покупку/продажу, важно верно анализировать ценовое движение на графике. В этом трейдерам помогают тренды и...
Читать далее
Полный торгово-аналитический алгоритм: базовая стратегия для трейдера
Любому трейдеру нужен проверенный алгоритм, на основе которого можно формировать собственную стратегию и заключать успешные сделки. В этой статье мы...
Читать далее
Стохастик, MACD, RSI и другие технические индикаторы, которые стоит использовать при анализе рынка
Многим трейдерам бывает трудно анализировать рынок и правильно определять моменты для входа/выхода в сделку. В этом случае можно использовать индикаторы—они...
Читать далее