Это авторский перевод моей второй статьи про алготрейдинг. В первой разобраны некоторые ключевые понятия, важные для трейдера, если кому-то интересен материал базового уровня - можно ознакомиться.
В этой статье я хотел бы остановиться на некоторых технических аспектах алгоритмической торговли, а именно на использовании API. Моя основная специализация - криптовалюты, но многие рассматриваемые аспекты могут подойти и для других рынков.
Как бы пользователь ни взаимодействовал с биржей (не важно, фондовой, криптовалютной, или какой угодно), все способы взаимодействия можно разделить на две категории: ручное или автоматическое.
Под ручными способами я понимаю веб-сайт, мобильное приложение, торговый терминал, или такую экзотику, как телефонный звонок брокеру (говорят, на фондовых рынках этот способ ещё актуален).
Ручное взаимодействие может быть удобно, если количество сделок относительно невелико. Например, если я хочу однажды купить Bitcoin (или акции Microsoft) и держать их на долгий срок, оптимальный вариант - воспользоваться веб-интерфейсом или мобильным приложением.
Но большинство алгоритмических стратегий предполагает частое осуществление сделок. Любая стратегия внутридневной торговли неявно предполагает, что трейдер будет совершать несколько сделок в день, возможно, десятки или сотни. В такой ситуации очевидным решением является автоматизация торговли.
Многие криптобиржи предлагают API-доступ к своим сервисам. По моему опыту, примерно 110 из 220 активных в настоящее время бирж (согласно coinmarketcap) в том или ином виде поддерживают публичные API. То есть вы можете автоматизировать торговлю на половине имеющихся криптобирж (но не на всех).