Котировки криптовалютных пар. Сбор и обработка. О чем нужно знать трейдеру?

cryptosensors.info

Данные котировок криптовалют. Какие нюансы необходимо учитывать при сборе информации с криптобирж? Сопоставление котировок – варианты решений.

Содержание:

  1. Введение
  2. О сборе данных с криптобирж.
  3. Задача сопоставления двух и более котировок криптовалют… В чем подвох?
  4. Вариант решения проблемы пропусков данных для задачи сопоставления двух и более котировок криптовалют.
  5. Заключение

Введение

С чего начинается торговля на криптобирже? Что является первичным для трейдера? Сбор информации. Информация необходима для анализа, оценки ситуации на рынке. Будем мы находиться в лонгах, шортах или вне рынка. Данные являются той питательной субстанцией, которая будет основой для решений. Именно поэтому к данным, которые принимаются во внимание, необходимо относиться с должным почитанием. Формируется ли торговая стратегия… оценивается ли текущее рыночное положение — необходимо помнить об этом. Именно о методах сбора, качестве данных котировок криптовалютных пар пойдет речь в настоящем пособии.

О сборе данных с криптобирж

В большинстве случаев криптобиржи предоставляют данные двумя способами: API и WebSocket. Их можно проиллюстрировать следующим образом. Представьте, что у вас есть два приятеля. Первый немногословен, но каждая его фраза на вес золота. Как говорят, он не бросает слов на ветер. Вы набираете его номер телефона, получаете порцию информации и кладете трубку. Второй приятель — болтун. Нужно часами висеть на телефонной линии, чтобы в его словесном эм…. потоке уловить что то ценное.

Это два принципиально разных типа общения. Первый тип — это API, второй — WebSocket. Обычно через API вы совершаете звонок (обращение к серверу криптобиржи). Частота запросов, как правило, не чаще чем нескольких раз в секунду. Информация в API поступает по запросу от вас (вашего бота, программы). При работе через WebSocket устанавливается соединение между портом вашего компьютера и портом криптобиржи. Как будто вы снимаете телефонную трубку.

Какой способ предпочтительнее? Это зависит от стиля вашей торговли. Если вы занимаетесь скальпингом без WebSocket вам никак не обойтись.

Вообще информация о котировках является важной составляющей в торговой стратегии трейдера. При этом ее сбор связан с решением целого ряда проблем. Вот несколько рекомендаций, если вы намереваетесь сделать собственное хранилище данных котировок криптовалют:

  • Определитесь с выбором сервера. Насколько мощным должно быть железо?
  • Определитесь с выбором базы данных. На текущий момент существует масса вариантов, необходимо погрузиться в нюансы функционирования данных систем. Будет это MySQL, PostgreSQL, ClickHouse?
  • Размещайте сборщики информации на надежных серверах (под надежностью следует понимать не только техническую составляющую).
  • Учитывайте риск блокировок и доступов. Не все юрисдикции положительно относятся к криптовалютам.
  • Понаблюдайте за виртуальным сервером который вы намереваетесь сделать хранилищем данных. Как часто на нем проводятся технические работы? Насколько критичны простои для вас?
  • Выбирайте местоположение виртуальных серверов по возможности в том регионе где находится ваш источник данных.
  • Поработайте с защитой данных от хакеров. Это важно.
  • Клонируйте сервера данных. Резервные копии обезопасят вас в критической ситуации.
  • Посчитайте, каковы ежемесячные расходы на содержание инфраструктуры?
  • Очень вероятно что в первые месяцы сбор данных вы будете заниматься отловом багов. С осторожностью относитесь к получаемым данным.
  • Подумайте о масштабировании хранилища в дальнейшем.

Задача сопоставления двух и более котировок криптовалют… В чем подвох?

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

Выполнение данной задачи затруднено одним проблемным моментом. Рассмотрим его на примере. Допустим, имеется две криптовалюты: Cryptocurrency A и Cryptocurrency B. Например, мы рассматриваем 30 периодов по каждой из криптовалют. В идеале имеется полный набор из 30 периодов и для валюты Cryptocurrency A и для валюты Cryptocurrency B:

Когда мы говорим о периодах — чаще всего рассматриваются либо цены закрытия (Close) либо темпы приростов Close. Что такое абсолютная величина Close?… Это не более чем маркер (нечто вроде вспышки фотоаппарата) — та величина которая была зафиксирована на определенный момент времени.

Но… на практике все проходит не так идеально! Зачастую, некоторые данные просто отсутствуют. Причин на то может быть «вагон» и «маленькая тележка». От неустойчивой передачи данных с криптобиржи до отсутствия торгов в определенные моменты (ввиду отсутствия ликвидности). Пусть периоды 7, 14, 22, 23 не содержат данных Close для криптовалюты Cryptocurrency B. Обозначим их красным цветом. Тогда имеем следующее представление данных:

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

Казалось бы, ситуация не столь плачевна, из 30 периодов у нас имеются данные по 26. Но …. представьте если необходимо сопоставить не две валюты, а пять… десять… двадцать. Каждая из сопоставляемых валют имеет свои пропуски в данных:

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

Проблема дыр в потоке данных может существенно исказить последующий анализ! Отметим, что проблема эта не нова. Она свойственна не только для котировок финансовых активов. Специалисты из самых разных областей сталкиваются с подобными трудностями: экологи, геологи, инженеры. У них свои временные ряды которые связаны с их предметной областью. Естественно, каждая предметная область накладывает свой отпечаток на решение задачи латания информационных дырок.

Имеется несколько классических подходов призванных помочь в решении данной проблемы. Часть исследователей латают дыры обычными средними арифметическими. Например, если имеются данные по периоду 6 и по периоду 8… Эм… почему бы не взять и рассчитать среднюю по ним и записать ее в период 7?

Существует также метод интерполяции соседних точек. Он работает следующим образом: недостающие данные заменяются значениями которые формируются соединением прямой линии до пропуска и после пропуска. Другими словами если на графике значений мы проведем прямую линию между периодом 6 и периодом 8, получим недостающее значение периода 7.

Еще один метод – среднее значение, сформированное по данным N соседних точек. Данный подход схож со средним арифметическим, но в расчет принимаются не только две соседние точки.

Существует вариант использования медианы по N соседним точкам. Медиана предпочтительна тем, что лучше описывает данные, если их распределение не соответствует нормальному распределению (о том, что движение криптовалютных пар не подчиняется нормальному распределению вы можете прочитать в нашем исследовании «Как и чем анализировать связи криптовалютных пар»? – смотрите на www.cryptosensors.info).

Еще один подход: Недостающие данные во временных рядах могут заполняться также прогнозными значениями линейной регрессии.

Казалось бы, вариантов решения проблемы пропусков данных не так уж им мало. Но… чем характеризуется рынок криптовалюты? Волатильностью. Непостоянством показателей дисперсии приростов Close (прощай линейная регрессия…), резкими выбросами. Применение средних величин, интерполяции по соседним точкам, медиан для заполнения пропусков данных как бы сглаживает существующие временные ряды котировок. Это совершенно противоречит природе, характеру движений криптовалютных пар.

Вариант решения проблемы пропусков данных для задачи сопоставления двух и более котировок криптовалют

Но как быть? Мы предлагаем еще один способ решения проблемы пропусков данных для задачи сопоставления двух и более котировок криптовалют. Он довольно трудоемок для человека… но не для робота.

Рассмотрим вышеупомянутую ситуацию с пятью криптовалютами. А что… если для того чтобы изучить свойства криптовалюты Cryptocurrency A для нас не является критичным использование именно данного набора криптовалют (Cryptocurrency В, Cryptocurrency С, Cryptocurrency D, Cryptocurrency E)? Если среди тысяч и криптопар мы сможем найти такие криптопары которые будут иметь тот же, необходимый перечень временных периодов что и криптопара Cryptocurrency A?

Если мы найдем такие криптопары Cryptocurrency F, Cryptocurrency G, Cryptocurrency H, Cryptocurrency I, Cryptocurrency J то набор данных будет полным:

Другими словами, если криптопар достаточно много, то перед нами возникает задача поиска необходимых данных. Мы ищем такие криптопары, которые имеют тот же состав временных меток, что и целевая криптопара (Cryptocurrency A).

Заключение

Как это работает на практике? На момент написания данного исследования мы располагаем историческими данными более чем о 1000 криптопарах /Количество криптопар на Binance постоянно растет. На момент выпуска данного пособия величина была выше указанной./. Наиболее их ликвидная часть составляет не более 6%. Эта часть и представляет наибольший интерес. Отметим: ввиду своей ликвидности данные пары практически не имеют пропусков в данных. Каждая из криптовалютных пар, которая входит в эти 6% поочередно выступает в роли Cryptocurrency A. Т.е. мы ищем для текущей криптовалютной пары полный перечень сопоставимых криптопар, которые могут дать столько же данных сколько содержит временной ряд Cryptocurrency A.

Пусть, например, это BTCUSDT. Рассмотрим данные за определенный промежуток времени с текущего момента. Какие криптопары имеют столько же данных? Без потерь? Обрабатываем соответствующий запрос. В результате (в виде файла) имеем полный перечень сопоставимых криптопар (которые можно анализировать вместе с BTCUSDT). Файл с соответствующими данными размещается на www.cryptosensors.info.

Очевидно, что перечень сопоставимых криптопар время от времени может меняться. Если у криптопары за рассматриваемый временной промежуток появились “дырки” в данных, она выбывает из полный перечень сопоставимых криптопар по отношению к Cryptocurrency A (и, наоборот, если все отлично – она попадает в список).

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

Возможно вам будут интересны исследования / данные: