Что такое API для автоматической торговли на криптовалютных биржах и как это работает?
До появления интернета финансовые операции проводились в основном по телефону. Например, если вы хотели купить акций, вам приходилось звонить своему брокеру и просить его совершить сделку от вашего имени.
Позже покупка и продажа ценных бумаг переместилась в интернет, и этот процесс стал гораздо эффективнее — в самых разных аспектах. В частности, повсеместное развитие получили торговые программные интерфейсы или API.
Навигация по материалу:
Что такое API?
API — это прикладной программный интерфейс, то есть программа, позволяющая приложениям взаимодействовать между собой. Можно представить, что API — это мессенджер, который принимает запрос и сообщает о нем системе, а затем возвращает вам ответ.
Представьте, что вы бронируете билет на самолет на каком-нибудь сервисе, позволяющем сравнивать цены разных авиакомпаний, например, Expedia. Как только вы вводите города отправления и назначения, дату перелета и число пассажиров, сервис просматривает все доступные базы данных авиакомпаний и предлагает подходящие варианты — это делается с помощью API, предоставляемых авиакомпаниями.
То же самое происходит на сайтах сравнения цен на отели. В этом случае платформа запрашивает и предоставляет информацию о стоимости номеров из всех доступных баз данных отелей через их API.
API для трейдеров
Торговый API, как следует из названия, позволяет взаимодействовать с торговой системой, или, точнее, выполнять сделки непосредственно на криптовалютной бирже. Это особенно полезно трейдерам, использующим в своих торговых системах алгоритмические модели — им необходимы цены, обновляемые в реальном времени, а также возможность выполнять сделки (вручную или автоматически) как только их модель выдает соответствующий сигнал.
Торговые API особенно популярны среди хедж-фондов и частных торговых фирм, поскольку они широко используют алгоритмический трейдинг, но интерфейсами, предоставляемыми онлайн-брокерами, могут пользоваться даже частные инвесторы — то же касается и криптовалютных обменников.
Большинство ведущих криптовалютных бирж, в том числе Bitfinex, Bittrex и Coinbase Pro, предлагают своим клиентам API для трейдинга, позволяющие поддерживать прямые тарифные фиды, а также осуществлять прямую торговлю.
История с Binance
Недавно произошел инцидент с недобросовестным использованием API биржи Binance, вызвавший резкий взлет объемов торгов токеном Syscoin, а также его цены.
Binance заявила, что предприняла ряд действий для защиты пользователей. В первую очередь были отменены результаты необычных сделок и удаление всех существующих API-ключей, что сопровождалось просьбой создать ключи заново. Кроме того, Binance предупредила пользователей API о необходимости задуматься о защите своих ключей и попросила пользоваться белым списком, чтобы ключи были доступны только авторизованным пользователям.
Кроме того, компания опубликовала результаты расследования инцидента.
API и криптовалютный трейдинг
История с API Binance, конечно, на некоторое время выставила такого рода интерфейсы в дурном свете, но они уже стали неотъемлемой частью арсенала профессиональных криптовалютных трейдеров, а их появление свидетельствует об эволюции экосистемы.
Чем более искушенные инвесторы приходят на криптовалютный рынок, тем шире использование API и алгоритмической торговли. Между тем, торговые программы, используемые для максимально эффективного арбитража, делают рынок более ликвидным и эффективным, что, в свою очередь, может привлечь к этому новому классу активов новых институциональных инвесторов.
Чем более зрелой будет становиться криптовалютная экосистема, тем больших удобств будут ожидать приходящие на этот рынок игроки, и сегодня мы идем к тому, что криптовалютный рынок станет частью традиционных финансовых рынков. Как только в ведущих странах мира разрешится вопрос регулирования криптовалют, мы увидим приток денег институциональных инвесторов, и разработка сложных и безопасных торговых API будет играть в этом небольшую, но очень важную роль.
Что делает Free API Московской биржи в Google Таблицах
Количество частных инвесторов на Московской бирже удвоилось за последний год и составило 3,86 млн: за 2019 счета на Мосбирже открыли 1,9 млн человек. Санкт-Петербургская биржа, специализирующаяся на торгах акциями иностранных компаний, в прошлом году зафиксировала трехкратный прирост счетов – с 910 000 до 3,06 млн шт.
Это означает, что на рынок пришло почти 2 млн новичков, которые никогда не занимались трейдингом и не использовали специализированный софт для торгов и учета позиций.
И если мобильные приложения брокеров для торгов постоянно обновляются и в целом достаточно удобны для пользователей, то учёт позиций, особенно при использовании нескольких брокеров (счёт от одного, а ИИС от другого) может вызывать вопросы. Бесплатным решением с автоматическим скачиванием котировок и параметров могут быть гугл таблицы с использованием бесплатного API Московской биржи.
Ранее я уже описывал на Хабре возможности при использовании разных приложений (Intuit Quicken, KMyMoney, Microsoft Excel, Google Таблицы) для совокупного учета капитала “в одном окне”.
API Московской биржи в формулах Google Таблиц
Вообще вариантов использования API Мосбиржи два:
Но скрипты в бесплатных документах скорее пугают людей, особенно, если у этих людей есть какие-то инвестиции. И особенно, если они не понимают код скрипта. Поэтому я остановлюсь только на формулах.
В общем виде все запросы, которые можно отправить к API Мосбиржи можно узнать в справочнике. Но лично для меня этот справочник был не очень понятен и я далеко не сразу в нём разобрался, поэтому сделал простую Гугл таблицу с примерами, которые использую сам.
Идентификатор режима торгов
В API Московской биржи очень многое зависит от параметра “Идентификатор режима торгов” (primary_boardid), который можно посмотреть прямо у них на сайте через форму поиска.
Идентификатор режима торгов для акций Сбербанка
Также этот идентификатор можно посмотреть через обычный HTTP-запрос к API:
Идентификатор режима торгов primary_boardid для акций Яндекс
Автоматическое получение имени инструмента с Московской биржи по его идентификатору
Очень удобно, что можно получить полное наименование инструмента. Также можно автоматически получать и краткое наименование инструмента, но полное название более понятно особенно для облигаций.
Гугл таблица с примерами автоматического получения имени для разных классов активов
Автоматическое получение цены инструмента с Московской биржи по его идентификатору
Цены на российские активы можно получать с множества сайтов, но если мы говорим про API Московской биржи, то на этой вкладке представлены актуальные примеры.
Гугл таблица с примерами автоматического получения цен для разных классов активов
Автоматическое получение даты следующего купона и его значения с Московской биржи по идентификатору облигации
По облигациям (не только корпоративным, но также ОФЗ и еврооблигациям) можно автоматически получать дату выплаты следующего купона и его значение.
Гугл таблица с примерами автоматического получения дат и значений купонов
Автоматическое получение дивидендной доходности на конкретную дату с Московской биржи по идентификатору облигации
К сожалению, в одну формулу получить значение дивидендной доходности для облигации на конкретную дату можно получить только для ОФЗ, потому что их список короткий. Для корпоративных облигаций — можно перебирать в скрипте, например, или вручную указывать начальную позицию для поиска.
Гугл таблица с примерами автоматического получение дивидендной доходности на конкретную дату
Автоматическое получение дат оферт с Московской биржи по идентификатору облигации
Очень удобно можно планировать собственные финансы, получая оферты по облигациям автоматически.
Гугл таблица с примерами автоматического получения дат оферт
API Московской биржи предоставляет широкие возможности. В статье описал только те инструменты, которыми пользуюсь сам как долгосрочный частный инвестор.
Также хочу отметить, что никак не связан с Московской биржей и использую ИСС Мосбиржи только в личных интересах, например, для учета собственного капитала.
Автор: Михаил Шардин,
4 февраля 2020 г.
6 лучших API фондового рынка для создания финансовых сервисов и приложений
За последние годы индустрия фондового рынка стала свидетелем огромного технологического внедрения.
Это изменение в лице индустрии фондового рынка растет настолько быстро, что оно привело к смене парадигмы, влияющей на современные финансовые институты.
Но почему все вдруг говорят о фондовых API?
Что ж, чтобы понять это, давайте уменьшим актуальность фондовых API для потребителей данных финансового рынка.
Доступные типы API
Хотя стандартный API помогает вам получать данные в режиме реального времени и является относительно быстрым, если вы не хотите соглашаться на стандартную скорость и вместо этого хотите использовать более быструю альтернативу, TCP может быть вашим выбором. В случае TCP нет необходимости запрашивать данные, в отличие от Rest API.
Однако, если вы в согласны со стандартной скоростью передачи данных, вы можете перейти на FTP, который предоставляет данные в конце дня. Таким образом, вы также можете сэкономить несколько долларов.
Вызовы API
Многие поставщики данных ограничивают частоту вызовов API, которую покупатель может сделать за минуту. Они делают это, чтобы сохранить свои конкурентные преимущества.
Следовательно, вам нужно подумать о том, какую частоту вы хотите, и процитировать соответственно. Например, если вы запрашиваете один запрос /в минуту, они будут обновлять данные только после каждой минуты.
Теперь пришло время найти некоторые API для фондового рынка в следующем разделе!
1. Marketstack
Если вам нужны исторические рыночные данные, данные за день или в режиме реального времени, Marketstack для вас!
Получите простой в использовании интерфейс API REST для получения данных фондового рынка. Для упрощения, он позволяет запрашивать данные через HTTP GET и получать данные ответа в формате JSON. Здесь вы можете использовать бесплатную или платную версию в соответствии с вашими потребностями.
С помощью Marketstack вы можете получить более 30 лет точных исторических данных. Легко интегрируйте этот API и используйте более 125 000 типов акций по всему миру с 72 бирж, в том числе NYSE, Nasdaq, ENX, TYO, ASX и других.
REST API от Marketstack является простым, но масштабируемым и надежным, способным обеспечить до 100% времени безотказной работы. Если вы хотите использовать бесплатный тариф, вам не нужна кредитная карта, оплата или договор. Вы можете получить мгновенный доступ к API и получать до 1000 запросов в месяц с данными о запасах на конец дня, даже в бесплатном плане.
Что касается безопасности, Marketstack предлагает защиту на уровне банка, шифруя каждый байт 256-битным HTTPS-шифрованием промышленного уровня. Имея обширную документацию, такую как примеры кода и демонстрационные запросы, доступные в API, вы можете начать использовать ее без каких-либо хлопот.
2. Finnhub
Используйте мощный API фондового рынка Finnhub Stock API для построения ваших финансовых продуктов. Он предоставляет в реальном времени API-интерфейсы WebSocket и RESTful для биржевых данных, криптовалют и необработанных валют.
Finnhub предоставляет подробную финансовую отчетность для компаний по всему миру за последние 30 с лишним лет. Вы можете получить полный список всех акций, которые классифицированы на основе учреждений и частных лиц.
Получите исторические данные за 25 лет для фондового рынка США в режиме реального времени, подключитесь к более чем 10 брокерам Форекс и получите доступ к более чем 15 крипто брокерам. Он также дает полный предварительно вычисленный технический анализ, распознавание образов, уровни поддержки или сопротивления и совокупные показания.
3. Barchart
Создавайте свои продукты с более глубоким пониманием фондового рынка, используя Barchart OnDemand. Он предоставляет вам гибкие и облачные API-интерфейсы для усиления ваших рабочих процессов, продуктов и приложений.
С помощью Barchart вы можете получить графики, представляющие исторические и рыночные данные в реальном времени. Интеграция данных в веб-сайт проста, и вы можете использовать эти данные для формирования вашей нынешней бизнес-стратегии. Кроме того, вы можете создавать динамические инструменты и приложения без хлопот.
Благодаря встроенной масштабируемости с облаком вы можете ускорить свои рабочие процессы. Barchart использует Amazon Web Services (AWS) для обслуживания центров обработки данных.
4. IEX Cloud API
IEX Cloud API упрощает создание и масштабирование финансовых продуктов, поскольку предоставляет простые способы получения и использования точных рыночных данных. Предоставьте своим разработчикам доступ к данным на уровне учреждений, в том числе в режиме реального времени, основам, международным акциям, собственности, взаимным фондам и другим данным.
Вы получаете полное покрытие на рынке США с более чем 95 000 ценных бумаг, более 100 валют и более 20 бирж. Он позволяет получить доступ к данным в кратчайшие сроки, поэтому вы можете сосредоточиться на создании API с безупречными функциями, полезными для ваших пользователей.
Платите именно за то, что вы используете, с помощью гибкой и масштабируемой модели ценообразования IEX Cloud, не требуя долгосрочного контракта или огромных авансовых платежей. Интегрируйте инструменты, которые вы уже используете, с API, чтобы вам не пришлось начинать с другого метода.
5. Intrinio
Intrinio предоставляет данные на конец дня, исторические данные, данные за день и в режиме реального времени, которые вы можете использовать для построения своего финансового продукта. Это позволяет загружать точные исторические рыночные данные за последние 5-50 лет.
Кроме того, вы получаете финансовые данные Муниципалитета США за 2017 год, которые включают в себя идентификатор организации, имена, предметы и т.д. Он также предлагает данные о Forex за 18 с лишним лет, включая все рыночные активности и цены.
6. Polygon
Предоставьте своим разработчикам больше возможностей с помощью Polygon API, чтобы помочь им с необработанными и точными финансовыми данными, включая криптовалюты, Forex и биржевые данные.
Если вам нужны исторические данные или данные в реальном времени, вы можете получить неограниченный доступ к ним. Polygon предлагает 24 000+ символов и полный охват рынка, веб-сокеты в реальном времени, включая агрегаты, сделки, котировки, торговые остановки и ограничение вверх / вниз.
Получить справочные данные RESTful API для рынков, регионов, состояния рынка и праздничных дней, разделения акций, дивидендов и финансовых показателей; тикеры с его типами, новостями и подробностями.
Вы можете создавать приложения на нескольких языках, таких как Java, C, C ++, Javascript, Python и т.д. Это экономит ваше время разработки и позволяет инвестировать в интеграцию. Чтобы упростить задачу, Polygon предлагает образцы кодов на разных языках.
Polygon дает вам надежные и быстрые данные со сверхнизкой задержкой менее одной миллисекунды. Он предлагает быстрые дата-центры Equinix NY с множественным резервированием и возможностью отправлять более 1 миллиона сообщений в секунду.
Заключение
Получение рыночных данных с помощью стандартных API-интерфейсов является простым и предсказуемым решением. Но вам также необходимо убедиться, что вы получаете обновленные и точные данные в нужное время. Упомянутые выше API-интерфейсы пригодятся для удовлетворения этого требования и формирования ваших финансовых продуктов так, как вы хотели.
Информационные сервисы, роботы и торговый софт: применение API в мире финансов
Большинство заявок на современных биржах генерируются не людьми, а специально созданными торговыми роботами, которые действуют по заданному алгоритму. При этом до сих пор многие трейдеры и инвесторы совершают операции на бирже вручную — с помощью специальных торговых программ.
Вне зависимости от выбранного способа работы на бирже, крайне полезной оказывается технология API. Сегодня мы поговорим о том, как открытые интерфейсы используются в сфере финансов.
API брокера: роботы и торговые приложения
Существует немалое количество способов создания торговых роботов — например, иногда их можно программировать прямо в торговом терминале, как в случае SmartX и его встроенного скриптового языка Tradescript.
Программирование простых роботов с помощью языка Tradescript в терминале SmartX
В некоторых случаях торговые системы подключают к торговому терминалу — например, для этих целей может использоваться Excel.
Однако подключение робота напрямую к серверам брокера, минуя клиентские интерфейсы, позволяет ему оперативно получать данные о торгах (Market Data) и состоянии счета, быстрее обрабатывать эти данные и, на их основе, генерировать приказы на покупку или продажу, а затем отслеживать их исполнение. При такой схеме скорость торговли зависит только от скорости самого робота и каналов связи. Именно поэтому брокерские компании создают API своих торговых систем.
Интерфейс для подключения к торговой инфраструктуре ITinvest создан с использованием компонентной объектной модели (COM).Это означает, что к торговым серверам можно подключить роботов, разработанных на платформах, поддерживающих эту технологию, от C++ и Delphi до Visual Basic for Application из MS Excel.
Недавно состоялся релиз новой версии API (SmartCOM 4.0), которая работает c торговой системой под названием MatriX (для ее создания мы использовали технологии IBM Data Power).
API брокерской системы может использоваться не только для создания торговых роботов частными торговцами, но и разработчиками торгового софта, которые хотят расширить свою пользовательскую базу за счет клиентов конкретного брокера. Вот краткий список торговых приложений, которые могут подключаться к нашей торговой системе через SmartCOM:
Когда скорость превыше всего: прямой доступ на биржу
Во времена, когда на бирже для многих трейдеров все решают доли секунды, работа по схеме «пользователь — брокерская система — ядро биржи» подойдет не всем. Именно поэтому появилась технология, позволяющая максимально оптимизировать эту цепочку – прямой доступ на биржу (Direct Market Access, DMA).
При таком способе подключения заявка выставляется в торговую систему биржи напрямую, минуя торговую систему брокера. Все это позволяет существенно сократить время доставки заявки на биржу и получения информации о ее состоянии.
В целом, схема прямого доступа выглядит следующим образом: сервер с торговым роботом подключается к промежуточному серверу, который размещен в максимальной близости от ядра биржевой торговой системы. На этом сервере установлено специальное ПО – так называемые шлюзы, которые используются для передачи заявок и рыночной информации непосредственно в торговую систему. При этом, для совершения операций и получением данных используются различные протоколы и способы подключения.
Протокол FIX (Financial Information eXchange) – протокол обмена финансовой информацией, который стал мировым стандартом для обмена данными между участниками биржевых торгов в режиме реального времени. Поддерживается крупнейшими мировыми биржевыми площадками, в том числе Московской биржей.
Схема передачи сообщений протокола FIX. Изображение: Wikimedia
Для получения рыночной информации (Market Data) используется протокол FAST (Fix Adapted for STreaming) – стандарт, разработанный создателями протокола FIX, который позволяет добиться значительных возможностей компрессии данных для передачи больших объемов рыночной информации с минимальными временными задержками. Помимо Московской биржи, используется на NYSE, Nasdaq-OMX и многих других мировых площадках.
Также для прямого подключения используются нативные протоколы. Данные протоколы возникли еще до объединения бирж ММВБ и РТС в Московскую биржу. Так на рынках относившихся к бирже РТС, для прямого совершения операций и получения данных в режиме подключения используется протокол Plaza II.
Для выполнения торговых операций и получения биржевых данных на площадках, ранее относившихся к бирже ММВБ (валютный и фондовый рынки) используется двунаправленный шлюз MICEXBridge (TEAP).
Более подробно протоколы передачи финансовых данных мы рассматривали в нашем цикле статей:
Заключение: если нужна только информация
Помимо торговли на бирже через специальный софт или роботов API могут использоваться для создания информационных сервисов и отладки финансовых программ без риска потери реальных денег (для этого также можно использовать демо-счет брокера).
Список таких API для зарубежных биржевых можно найти по ссылке. В России Московская биржа продает подписки на различные варианты трансляции данных о торгах. В числе других способов есть и полноценный информационный API.
Что такое API, и как они используются в криптовалютной торговле?
Давайте узнаем, что такое API и какую роль они играют в торговле криптовалютами.
Что такое API?
API – это интерфейс прикладного программирования, который помогает приложениям взаимодействовать друг с другом. В повседневной жизни мы постоянно используем API, однако не всегда осознаём, что имеем дело именно с ними.
Например, когда мы ищем в интернете дом для покупки, мы находим веб-сайт, в котором API сайта используется для получения информации из соответствующей базы данных недвижимости этого ресурса. Вот примеры часто используемых API:
По сути, API создаются одними разработчиками для других как набор готовых классов, функций, процедур, структур и констант в определённом формате – так, чтобы в итоге пользователь на другом сайте или в приложении смог получить удобную для понимания информацию.
К примеру, если бы у E*TRADE не было API, который позволяет получить актуальные данные по ценам на акции, то инвесторам пришлось бы звонить на реальную торговую площадку и говорить с брокером, который может сообщить такие данные, глядя на экран компьютера внутренней сети этой компании. (Хотя, и эта сеть должна получать такие данные откуда-либо, используя API).
Таким образом, чтобы получить в своё приложение точное время в Лондоне, Сингапуре или Дубае, используется API с соответствующего ресурса. Чтобы увидеть картинку с космического телескопа NASA, также можно использовать соответствующий API с сайта этого агентства.
Криптовалютные API
Криптовалютные API позволяют получать актуальную информацию о цифровых валютах и их ценах с таких площадок, как Binance, Coinbase или других. В частности, это могут быть:
Получив такие данные, вы можете использовать их для оптимизации торговли вручную или при помощи ботов, а также для других целей, например, чтобы разместить информацию на своём сайте.
Размещение сделок при помощи API
Профессиональные трейдеры используют API для размещения сделок на биржах. API в этом случае позволяют установить время сделки, точку входа / выхода, уровни тейк-профита и стоп-лосса и т.д.
API также позволяют трейдерам улучшить свои сделки за счёт использования комбинированных данных. Например, API цены могут быть объединены с данными из торговой истории при размещении сделки для того, чтобы проанализировать возможность получения прибыли.
Как API используются в криптовалютных торговых ботах
Торговые боты также используют API, и размещают сделки, используя такие данные. Вот наиболее распространённые примеры того, как работают криптовалютные торговые боты:
Безопасны ли API в использовании?
Таким образом, современная автоматизированная торговля криптовалютами полностью полагается на API, которые передают информацию торговым ботам, способным анализировать ситуацию на рынке её и принимать выгодные для пользователей решения.
По сути, API это использование в своих приложениях общедоступных (чаще всего) данных для получения прибыли, и маловероятно, что это направлено на кражу ваших средств. Ваша безопасность может быть нарушена лишь в случае, если злоумышленник сможет попасть в ваш аккаунт с кошельками и средствами.
С другой стороны, чрезмерное доверие к ботам, которые полагаются на API, может оказаться рискованным, так как они могут не принимать во внимание некоторые переменные, которые важны именно для вашей стратегии (это также будет зависеть от настроек и особенностей кода самого бота).
Следует также позаботиться о том, чтобы бот не рисковал всей суммой, которая содержится в вашем кошельке, а лишь использовал ту её часть, которой готовы рисковать вы.













