Криптовалюты — движущая сила новой золотой лихорадки. Автор предлагает использовать анализ данных для лучшего понимания этого развивающегося рынка.
В последнее время возникает ощущение, будто деньги растут на деревьях.
Объемы биржевой торговли достигают миллионов долларов, а рыночная капитализация — миллиардов. Впору говорить о золотой лихорадке, подогреваемой появлением все большего количества новых криптовалют.
Мы живем в эпоху цифровых валют. Появившись менее 10 лет тому назад, концепция криптовалют уже сегодня получила широкое распространение. Несмотря на столь малый срок, на рынке уже существует более тысячи разных криптовалют, а ICO происходят чуть ли не каждый день.
По мере того как мы привыкаем к новому, быстро набирающему обороты рынку, важно попытаться понять, что с ним происходит. Существует много рисков, как на микроуровне (например, личное инвестирование), так и на макроуровне (например, предотвращение рыночных крахов или крупные потери капитала). Вот где в игру вступаем мы.
Мы занимаемся данными, а если точнее, то я представляю команду разработчиков TimescaleDB — новой базы данных на базе PostgreSQL с открытым исходным кодом для работы с временными рядами. Мы подумали, что будет полезно и увлекательно проанализировать криптовалютный рынок с помощью PostgreSQL и TimescaleDB (и R для визуализации полученных данных).
В ходе работы мы проанализировали исторические данные по OHLC-графикам для более чем 1200 криптовалют, любезно предоставленные нам CryptoCompare (последняя дата выборки — 26 июня этого года). Шаг в этом конкретном наборе данных составляет сутки, однако следует отметить, что TimescaleDB легко масштабируется для работы с гораздо меньшими временными отрезками. Наш продукт, в частности, прекрасно подходит на роль базового инструмента для работы с растущим потоком данных о новых коинах и биржах.
Вот что вы можете вынести для себя из этого поста:
Отказ от ответственности: приведенный анализ не следует рассматривать как рекомендацию для проведения тех или иных финансовых операций. Если вы захотите провести собственный анализ, обратите внимание на инструкцию, в которой описана установка TimescaleDB и загрузка данных CryptoCompare.
Давайте начнем со старого доброго синдрома упущенной выгоды. Если вы хоть немного знакомы с криптовалютами, вы, вероятно, слышали о Биткоине, «прадеде» всех криптовалют. Оказывается, что если бы в июле 2010 годы вы вложили в него $100, сегодня эта сумма выросла бы до $5 млн.
За это время Биткоин показал довольно приятную динамику (даже с учетом произошедшего сравнительно недавно небольшого обвала):
Курс BTC к доллару США на момент закрытия биржи за последние 7 лет
С помощью PostgreSQL, мы запросили ценовые показания BTC с двухнедельными интервалами, проанализировав курс к доллару США на биржах. Примечание: time_bucket и last в этом запросе — собственные функции TimescaleDB (в PostgreSQL отсутствуют), применяемые для анализа временных рядов.
Нельзя однако сказать, что у BTC все всегда было гладко. Давайте присмотримся повнимательнее к ежедневной волатильности курса и проведем вычисления, воспользовавшись мощными оконными функциями PostgreSQL:
Коэффициент деления курса BTC/USD текущего дня на курс предыдущего (7-летний период)
В силу относительной незрелости рынка, курс Биткоин подвержен существенным перепадам. Стабильный прирост стоимости в целом говорит об успешности криптовалюты, но есть в ее истории один явно выбивающийся из общей картины период резкого роста, наблюдавшийся в начале 2014 года. Рассмотрев этот период более подробно, заметим крупные скачки в феврале-марте 2014 года. Инвесторам, которые вложились в BTC на пике рынка пришлось изрядно подождать, поскольку курс вскоре стабилизировался, и еще нескоро достиг показателей, при которых продажа купленных в то время биткоинов стала выгодным делом.
Коэффициент деления курса BTC/USD текущего дня на курс предыдущего (2014 год)
Рынок криптовалюты — явление международное. Изучая объемы торговли с точки зрения валют, мы заметили кое-что интересное:
Объемы торговли BTC в различных фиатных валютах за последние 7 лет (двухнедельные интервалы, составные столбики)
В 2014 произошел небольшой скачок стоимости Биткоин в Китае, вызванный предположительно девальвацией юаня и ослаблением внутреннего фондового рынка страны. За этим последовал бум 2016 и раннего 2017 годов: китайская валюта доминировала в биткоин-торговле.
Доля юаней в торговле биткоинами за последний год (двухнедельные интервалы)
В течение всего нескольких месяцев этот показатель резко снизился.
В чем же причина? Здесь наступает время выйти за рамки анализа числовых данных и заняться старым добрым исследованием. Сделанные нами выводы хорошо иллюстрируют тот факт, что полагаться только на количественные данные для изучения рынка нельзя.
В начале 2017 года Народный банк Китая привел в действие постановления, ограничивающие деятельность криптовалютных бирж. Уже в феврале две крупнейшие в стране биржи (OKCoin и Huobi.com) приостановили вывод криптовалюты в обмен на иностранную валюту, и к середине этого года поток китайских транзакций сошел на нет. В это же время Япония стала лидером по количеству объема операций с биткоинами. Дело дошло даже до того, что Биткоин был признан легальной валютой в апреле 2017 года.
Объем BTC в различных валютах после резкого снижения доли BTC/CNY транзакций в 2017 года. BTC/JPY — новый лидер по объему (двухнедельные интервалы)
Несмотря на то, что «биткоин-поезд ушел» еще в далеком 2010, поводов для беспокойства нет. Многие наблюдатели согласны, что даже на фоне его большой волатильности, ценовые перепады Ethereum выглядят еще впечатляюще (и недавняя «коррекция» — лишнее тому подтверждение). Давайте посмотрим на цены Ethereum в биткоин эквиваленте (как его обычно принято котировать):
Курс ETH к BTC на момент закрытия торгового дня за последние 3 года
Однако как мы знаем, Биткоин и сам не отличается заметной стабильностью, что снижает полезность приведенного выше графика. Давайте посмотрим на цены ETH в фиатных валютах, с помощью ежедневных биржевых котировок BTC к фиатным валютам. (Для этого воспользуемся полезными свойствами JOINов Postgres и несколькими навороченными фильтрами):
Курс ETH к трем фиатным валютам на момент закрытия торгового дня за последние 3 года
В первый год своего существования ETH превзошел любой из годовых показателей роста BTC за все историю последнего. Внушительные 530% роста в средней цене закрытия по сравнению с предыдущим годом — хорошее начало. В целом к 2017 году совокупный показатель роста за все эти годы упал в 2017 по сравнению с 2016 до 200%. Однако даже такой результат все равно выглядит впечатляюще для любого другого актива. Что же касается последнего полугодия, то сейчас цены на ETH выросли на 3000%. Поэтому если бы вы вложили 100 долларов в ETH в январе этого года (почти 7 месяцев тому назад), сегодня их стоимость составляла бы уже $3 тыс.
Выражая стоимость ETH в стабильных валютах (USD, EUR, CNY) видим, что все три графика имеют одинаковую форму. В последние полгода четко прослеживается стремительный рост во всех валютных эквивалентах, кроме BTC. График курса ETH/BTC, будучи схожим с графиками фиатных валют, гораздо больше подвержен флуктуациям стоимости BTC. В результате попытки выражения цены ETH в BTC создают неправдоподобное впечатление неустойчивости первой. Очевидно, BTC еще слишком молодая валюта чтобы считать ее базовой.
Надеемся, что этот краткий обзор BTC и ETH трендов позволил вам лучше понять хаотичный мир криптовалют. Итак, что же мы сделаем с другими 1200 криптовалютами?
Что ж, для начала давайте воспользуемся нашим набором данных чтобы отследить их происхождение:
Важное примечание: Наш набор данных содержит информацию на момент ее сбора, который мог произойти уже после проведения ICO.
Временная метка первой записи для каждой криптовалюты (по убыванию)
Рынок постоянно развивается, а кроме того, судя по ежедневному приросту новых криптовалют, к тому же постоянно расширяется. Опубликованный выше список содержит лишь 20 самых новых по состоянию на 26 июня токенов, и позволяет получить представление о том, сколько новых криптовалют появляются каждую неделю.
Давайте посчитаем количество появляющихся каждый день новых криптовалют на основе первой даты появления ценовой информации по ним:
Количество новых криптовалют в день за последние 4 года
Количество новых криптовалют в день за текущий год
Количество новых криптовалют по датам, ежедневная статистика (по убыванию)
Когда мы запрашиваем информацию о первом появлении данных о криптовалютах (для отслеживания их «возраста»), становится заметно что рынок — это не только группа инвесторов, есть и другая категория его участников — создатели цифровых активов. Буквально недавно, 25–28 мая, по данным нашего набора, был отмечен большой приток новых коинов — свыше 300 новых токенов менее чем за неделю. (Поскольку наш набор фиксирует только ценовую информацию по криптовалютам, информация об их появлении может не соответствовать датам проведения ICO.)
Криптовалют сегодня так много, что становится сложно отличить толковые от сомнительных. Как можно определить какие из них достойны внимания? Вот вам одна из метрик: суммарный объем биржевых операций за последнюю неделю.
Общий объем транзакций 10 основных криптовалют в долларах США за последнюю неделю (по убыванию)
Общий объем транзакций 10 основных криптовалют в долларах США за последнюю неделю (по убыванию)
Небольшое пояснение к этому запросу: данные по BTC и другим криптовалютам живут в разных таблицах. Поэтому нам приходится объединить эти два запроса с помощью UNION. Ранее мы также определились, что хотим получать котировки в фиатных валютах (например, в долларах), а не в BTC. Поэтому вторая половина запроса комбинирует данные с таблицей BTC для конвертации BTC в USD.
Лидерами по объему операций оказались, как это ни странно, Биткоин и Ethereum. А вот следующие участники хит-парада — Litecoin (LTC), Ripple (XRP), и Ethereum Classic (ETC), идут почти на равных. Присутствующий на рынке уже пять лет Litecoin практически идентичен Биткоину и часто рассматривается в качестве ключевого игрока на рынке. Ripple, который позиционируется как банковский коин для представителей международного коммерческого рынка и работает на более специфичную аудиторию, также считается многообещающим и набирающим обороты коином. Интересно и то, что в пятерке лидеров есть не только ETH, но и ETC, что позволяет говорить о том, что рынок сегодня сильно ориентирован на Ethereum.
Еще один способ «прошерстить» длинный список криптовалют — проанализировать их прибыльность, например, показатель суммарной ежедневной прибыли. В нашем наборе имеются ценовые данные для более чем 1200 криптовалют. Если присмотреться к самому крупному увеличению курса в день, можно выявить лидеров внутридневной торговли.
Самые высокие показатели внутридневной разницы стоимости криптовалюты (по убыванию даты)
Давайте определим криптовалюту с самым крупным ежедневным показателем прибыльности. Для вычислений ежедневной прибыли снова воспользуемся оконной функцией, а для поиска криптовалюты, принесшей больше всего дохода в каждый отдельно взятый день применим функцию last из набора TimescaleDB.
Вывод за последние три месяца показывает количественное превосходство AMIS (168-кратный прирост стоимости 15 июня). Эта криптовалюта показывала самое большое увеличение в 15 разных дней. Однако присмотревшись к ней повнимательнее, заметим что высокий рост обусловлен столь же высокими флуктуациями цены: стоимость AMIS часто откатывается назад к нулевому уровню после каждого увеличения.
Цена закрытия дня для AMIS в последние пять месяцев
Другой лидер этой выборки, YOVI, показывал лучший результат 3 раза, но также подвержен схожим ненадежным трендам, что и AMIS:
Цена закрытия дня для YOVI в последние пять месяцев
Несмотря на нестабильность этой пары трендов, они тем не менее выглядят более многообещающе по сравнению с ETH, стоимость которого стабильно падала в первый год своего существования (2015):
Цена закрытия дня для ETH в 2015
(Повторный отказ от ответственности: TimescaleDB не поддерживает какую-либо из этих криптовалют и не несет ответственности за ваши инвестиции в них и любые возможные связанные с ними потери.)
В этом материале мы сделали несколько выводов из открытого набора данных по криптовалютам, продемонстрировав сильные стороны PostgreSQL и TimescaleDB. И все же следует помнить, что криптовалютный рынок неизбежно изменится в следующем месяце, на следующей неделе или даже завтра.
Однако если вы хотите самостоятельно изучить этот набор и провести свой анализ, к Вашим услугам доступна соответствующая инструкция по скачиванию данных и установке TimescaleDB.
Если вы захотите узнать больше о TimescaleDB и о том, как она позволяет повысить эффективность PostgreSQL для работы с временными рядами, рекомендуем ознакомиться с техническим постом.
В последнее время возникает ощущение, будто деньги растут на деревьях.
Объемы биржевой торговли достигают миллионов долларов, а рыночная капитализация — миллиардов. Впору говорить о золотой лихорадке, подогреваемой появлением все большего количества новых криптовалют.
Мы живем в эпоху цифровых валют. Появившись менее 10 лет тому назад, концепция криптовалют уже сегодня получила широкое распространение. Несмотря на столь малый срок, на рынке уже существует более тысячи разных криптовалют, а ICO происходят чуть ли не каждый день.
По мере того как мы привыкаем к новому, быстро набирающему обороты рынку, важно попытаться понять, что с ним происходит. Существует много рисков, как на микроуровне (например, личное инвестирование), так и на макроуровне (например, предотвращение рыночных крахов или крупные потери капитала). Вот где в игру вступаем мы.
Мы занимаемся данными, а если точнее, то я представляю команду разработчиков TimescaleDB — новой базы данных на базе PostgreSQL с открытым исходным кодом для работы с временными рядами. Мы подумали, что будет полезно и увлекательно проанализировать криптовалютный рынок с помощью PostgreSQL и TimescaleDB (и R для визуализации полученных данных).
В ходе работы мы проанализировали исторические данные по OHLC-графикам для более чем 1200 криптовалют, любезно предоставленные нам CryptoCompare (последняя дата выборки — 26 июня этого года). Шаг в этом конкретном наборе данных составляет сутки, однако следует отметить, что TimescaleDB легко масштабируется для работы с гораздо меньшими временными отрезками. Наш продукт, в частности, прекрасно подходит на роль базового инструмента для работы с растущим потоком данных о новых коинах и биржах.
Вот что вы можете вынести для себя из этого поста:
- Несколько ценных выводов общего характера о положении дел на криптовалютномм рынке.
- Лучшее понимание того, как связка TimescaleDB + PostgreSQL может упростить анализ данных по временным рядам.
- Получите инструкции для самостоятельной загрузки этого набора данных, обнаружите новые тренды (и может быть, даже составите с их помощью собственную стратегию по входу на рынок!).
Отказ от ответственности: приведенный анализ не следует рассматривать как рекомендацию для проведения тех или иных финансовых операций. Если вы захотите провести собственный анализ, обратите внимание на инструкцию, в которой описана установка TimescaleDB и загрузка данных CryptoCompare.
Итак, если бы 7 лет назад вы вложили в Биткоин 100$, сейчас он стоил бы...
Давайте начнем со старого доброго синдрома упущенной выгоды. Если вы хоть немного знакомы с криптовалютами, вы, вероятно, слышали о Биткоине, «прадеде» всех криптовалют. Оказывается, что если бы в июле 2010 годы вы вложили в него $100, сегодня эта сумма выросла бы до $5 млн.
За это время Биткоин показал довольно приятную динамику (даже с учетом произошедшего сравнительно недавно небольшого обвала):
-- BTC USD prices by two week intervals
SELECT time_bucket('14 days', time) as period,
last(closing_price, time) AS last_closing_price
FROM btc_prices
WHERE currency_code = 'USD'
GROUP BY currency_code, period
ORDER BY period;
Курс BTC к доллару США на момент закрытия биржи за последние 7 лет
С помощью PostgreSQL, мы запросили ценовые показания BTC с двухнедельными интервалами, проанализировав курс к доллару США на биржах. Примечание: time_bucket и last в этом запросе — собственные функции TimescaleDB (в PostgreSQL отсутствуют), применяемые для анализа временных рядов.
Надеемся, что вы не покупали биткоины в феврале 2014...
Нельзя однако сказать, что у BTC все всегда было гладко. Давайте присмотримся повнимательнее к ежедневной волатильности курса и проведем вычисления, воспользовавшись мощными оконными функциями PostgreSQL:
-- Daily BTC returns by day
SELECT time,
closing_price / lead(closing_price) over prices AS daily_factor
FROM (
SELECT time,
closing_price
FROM btc_prices
WHERE currency_code = 'USD'
GROUP BY 1,2
) sub window prices AS (ORDER BY time DESC);
Коэффициент деления курса BTC/USD текущего дня на курс предыдущего (7-летний период)
В силу относительной незрелости рынка, курс Биткоин подвержен существенным перепадам. Стабильный прирост стоимости в целом говорит об успешности криптовалюты, но есть в ее истории один явно выбивающийся из общей картины период резкого роста, наблюдавшийся в начале 2014 года. Рассмотрев этот период более подробно, заметим крупные скачки в феврале-марте 2014 года. Инвесторам, которые вложились в BTC на пике рынка пришлось изрядно подождать, поскольку курс вскоре стабилизировался, и еще нескоро достиг показателей, при которых продажа купленных в то время биткоинов стала выгодным делом.
Коэффициент деления курса BTC/USD текущего дня на курс предыдущего (2014 год)
Прощай Китай, здравствуй Япония
Рынок криптовалюты — явление международное. Изучая объемы торговли с точки зрения валют, мы заметили кое-что интересное:
-- BTC trading volumes by currency
SELECT time_bucket('14 days', time) as period,
currency_code,
sum(volume_btc)
FROM btc_prices
GROUP BY currency_code, period
ORDER BY period;
Объемы торговли BTC в различных фиатных валютах за последние 7 лет (двухнедельные интервалы, составные столбики)
В 2014 произошел небольшой скачок стоимости Биткоин в Китае, вызванный предположительно девальвацией юаня и ослаблением внутреннего фондового рынка страны. За этим последовал бум 2016 и раннего 2017 годов: китайская валюта доминировала в биткоин-торговле.
Доля юаней в торговле биткоинами за последний год (двухнедельные интервалы)
В течение всего нескольких месяцев этот показатель резко снизился.
В чем же причина? Здесь наступает время выйти за рамки анализа числовых данных и заняться старым добрым исследованием. Сделанные нами выводы хорошо иллюстрируют тот факт, что полагаться только на количественные данные для изучения рынка нельзя.
В начале 2017 года Народный банк Китая привел в действие постановления, ограничивающие деятельность криптовалютных бирж. Уже в феврале две крупнейшие в стране биржи (OKCoin и Huobi.com) приостановили вывод криптовалюты в обмен на иностранную валюту, и к середине этого года поток китайских транзакций сошел на нет. В это же время Япония стала лидером по количеству объема операций с биткоинами. Дело дошло даже до того, что Биткоин был признан легальной валютой в апреле 2017 года.
Объем BTC в различных валютах после резкого снижения доли BTC/CNY транзакций в 2017 года. BTC/JPY — новый лидер по объему (двухнедельные интервалы)
А теперь давайте порассуждаем, что было бы, если бы вы вложили 100$ в ETH в январе 2017...
Несмотря на то, что «биткоин-поезд ушел» еще в далеком 2010, поводов для беспокойства нет. Многие наблюдатели согласны, что даже на фоне его большой волатильности, ценовые перепады Ethereum выглядят еще впечатляюще (и недавняя «коррекция» — лишнее тому подтверждение). Давайте посмотрим на цены Ethereum в биткоин эквиваленте (как его обычно принято котировать):
-- ETH prices in BTC by two week intervals
SELECT time_bucket('14 days', c.time) as period,
last(c.closing_price, c.time) AS last_closing_price_in_btc
FROM crypto_prices c
WHERE c.currency_code = 'ETH'
GROUP BY period
ORDER BY period;
Курс ETH к BTC на момент закрытия торгового дня за последние 3 года
Однако как мы знаем, Биткоин и сам не отличается заметной стабильностью, что снижает полезность приведенного выше графика. Давайте посмотрим на цены ETH в фиатных валютах, с помощью ежедневных биржевых котировок BTC к фиатным валютам. (Для этого воспользуемся полезными свойствами JOINов Postgres и несколькими навороченными фильтрами):
-- ETH prices in BTC, USD, EUR, and CNY by two week intervals
SELECT time_bucket('14 days', c.time) as period,
last(c.closing_price, c.time) AS last_closing_price_in_btc,
last(c.closing_price, c.time) * last(b.closing_price, c.time) filter (WHERE b.currency_code = 'USD') AS last_closing_price_in_usd,
last(c.closing_price, c.time) * last(b.closing_price, c.time) filter (WHERE b.currency_code = 'EUR') AS last_closing_price_in_eur,
last(c.closing_price, c.time) * last(b.closing_price, c.time) filter (WHERE b.currency_code = 'CNY') AS last_closing_price_in_cny
FROM crypto_prices c JOIN btc_prices b ON time_bucket('1 day', c.time) = time_bucket('1 day', b.time)
WHERE c.currency_code = 'ETH'
GROUP BY period
ORDER BY period;
Курс ETH к трем фиатным валютам на момент закрытия торгового дня за последние 3 года
В первый год своего существования ETH превзошел любой из годовых показателей роста BTC за все историю последнего. Внушительные 530% роста в средней цене закрытия по сравнению с предыдущим годом — хорошее начало. В целом к 2017 году совокупный показатель роста за все эти годы упал в 2017 по сравнению с 2016 до 200%. Однако даже такой результат все равно выглядит впечатляюще для любого другого актива. Что же касается последнего полугодия, то сейчас цены на ETH выросли на 3000%. Поэтому если бы вы вложили 100 долларов в ETH в январе этого года (почти 7 месяцев тому назад), сегодня их стоимость составляла бы уже $3 тыс.
Выражая стоимость ETH в стабильных валютах (USD, EUR, CNY) видим, что все три графика имеют одинаковую форму. В последние полгода четко прослеживается стремительный рост во всех валютных эквивалентах, кроме BTC. График курса ETH/BTC, будучи схожим с графиками фиатных валют, гораздо больше подвержен флуктуациям стоимости BTC. В результате попытки выражения цены ETH в BTC создают неправдоподобное впечатление неустойчивости первой. Очевидно, BTC еще слишком молодая валюта чтобы считать ее базовой.
А что насчет других 1200 криптовалют?
Надеемся, что этот краткий обзор BTC и ETH трендов позволил вам лучше понять хаотичный мир криптовалют. Итак, что же мы сделаем с другими 1200 криптовалютами?
Что ж, для начала давайте воспользуемся нашим набором данных чтобы отследить их происхождение:
Важное примечание: Наш набор данных содержит информацию на момент ее сбора, который мог произойти уже после проведения ICO.
-- Currencies sorted by first time we have data for them
SELECT ci.currency_code, min(c.time)
FROM currency_info ci JOIN crypto_prices c ON ci.currency_code = c.currency_code
AND c.closing_price > 0
GROUP BY ci.currency_code
ORDER BY min(c.time) DESC;
currency_code | min
---------------+------------------------
CIR | 2017-06-26 20:00:00+00
MDC | 2017-06-26 20:00:00+00
WBTC | 2017-06-26 20:00:00+00
NET | 2017-06-26 20:00:00+00
NAS2 | 2017-06-26 20:00:00+00
TPAY | 2017-06-26 20:00:00+00
MRSA | 2017-06-26 20:00:00+00
XCI | 2017-06-26 20:00:00+00
PAY | 2017-06-19 20:00:00+00
SNM | 2017-06-18 20:00:00+00
LGD | 2017-06-17 20:00:00+00
SNT | 2017-06-16 20:00:00+00
IOT | 2017-06-12 20:00:00+00
QRL | 2017-06-09 20:00:00+00
MGO | 2017-06-09 20:00:00+00
CFI | 2017-06-08 20:00:00+00
VERI | 2017-06-07 20:00:00+00
EQT | 2017-06-07 20:00:00+00
ZEN | 2017-06-05 20:00:00+00
BAT | 2017-05-31 20:00:00+00
Временная метка первой записи для каждой криптовалюты (по убыванию)
Рынок постоянно развивается, а кроме того, судя по ежедневному приросту новых криптовалют, к тому же постоянно расширяется. Опубликованный выше список содержит лишь 20 самых новых по состоянию на 26 июня токенов, и позволяет получить представление о том, сколько новых криптовалют появляются каждую неделю.
Давайте посчитаем количество появляющихся каждый день новых криптовалют на основе первой даты появления ценовой информации по ним:
-- Number of new currencies with data sorted by day
SELECT day, COUNT(code)
FROM (
SELECT min(c.time) AS day, ci.currency_code AS code
FROM currency_info ci JOIN crypto_prices c ON ci.currency_code = c.currency_code
AND c.closing_price > 0
GROUP BY ci.currency_code
ORDER BY min(c.time)
)a
GROUP BY day
ORDER BY day DESC;
Количество новых криптовалют в день за последние 4 года
Количество новых криптовалют в день за текущий год
day | count
------------------------+-------
2017-06-26 20:00:00+00 | 8
2017-06-19 20:00:00+00 | 1
2017-06-18 20:00:00+00 | 1
2017-06-17 20:00:00+00 | 1
2017-06-16 20:00:00+00 | 1
2017-06-12 20:00:00+00 | 1
2017-06-09 20:00:00+00 | 2
2017-06-08 20:00:00+00 | 1
2017-06-07 20:00:00+00 | 2
2017-06-05 20:00:00+00 | 1
2017-05-31 20:00:00+00 | 5
2017-05-28 20:00:00+00 | 29
2017-05-27 20:00:00+00 | 13
2017-05-26 20:00:00+00 | 32
2017-05-25 20:00:00+00 | 303
2017-05-16 20:00:00+00 | 1
2017-05-15 20:00:00+00 | 7
Количество новых криптовалют по датам, ежедневная статистика (по убыванию)
Когда мы запрашиваем информацию о первом появлении данных о криптовалютах (для отслеживания их «возраста»), становится заметно что рынок — это не только группа инвесторов, есть и другая категория его участников — создатели цифровых активов. Буквально недавно, 25–28 мая, по данным нашего набора, был отмечен большой приток новых коинов — свыше 300 новых токенов менее чем за неделю. (Поскольку наш набор фиксирует только ценовую информацию по криптовалютам, информация об их появлении может не соответствовать датам проведения ICO.)
Лидеры и догоняющие криптовалютного мира
Криптовалют сегодня так много, что становится сложно отличить толковые от сомнительных. Как можно определить какие из них достойны внимания? Вот вам одна из метрик: суммарный объем биржевых операций за последнюю неделю.
-- 1200+ crypto currencies by total transaction volume (in btc) over the last month
SELECT 'BTC' as currency_code,
sum(b.volume_currency) as total_volume_in_usd
FROM btc_prices b
WHERE b.currency_code = 'USD'
AND now() - date(b.time) < INTERVAL '8 day'
GROUP BY b.currency_code
UNION
SELECT c.currency_code as currency_code,
sum(c.volume_btc) * avg(b.closing_price) as total_volume_in_usd
FROM crypto_prices c JOIN btc_prices b ON date(c.time) = date(b.time)
WHERE c.volume_btc > 0
AND b.currency_code = 'USD'
AND now() - date(b.time) < INTERVAL '8 day'
AND now() - date(c.time) < INTERVAL '8 day'
GROUP BY c.currency_code
ORDER BY total_volume_in_usd DESC;
currency_code | total_volume_in_usd
---------------+---------------------
BTC | 2040879023.54
ETH | 1617388472.94011
LTC | 287613541.293571
XRP | 269417667.514443
ETC | 165712729.612886
ANS | 126377042.5269
SC | 111623857.796786
DASH | 86875922.3588143
ZEC | 78836728.2129428
BTS | 69459051.5958428
Общий объем транзакций 10 основных криптовалют в долларах США за последнюю неделю (по убыванию)
Общий объем транзакций 10 основных криптовалют в долларах США за последнюю неделю (по убыванию)
Небольшое пояснение к этому запросу: данные по BTC и другим криптовалютам живут в разных таблицах. Поэтому нам приходится объединить эти два запроса с помощью UNION. Ранее мы также определились, что хотим получать котировки в фиатных валютах (например, в долларах), а не в BTC. Поэтому вторая половина запроса комбинирует данные с таблицей BTC для конвертации BTC в USD.
Лидерами по объему операций оказались, как это ни странно, Биткоин и Ethereum. А вот следующие участники хит-парада — Litecoin (LTC), Ripple (XRP), и Ethereum Classic (ETC), идут почти на равных. Присутствующий на рынке уже пять лет Litecoin практически идентичен Биткоину и часто рассматривается в качестве ключевого игрока на рынке. Ripple, который позиционируется как банковский коин для представителей международного коммерческого рынка и работает на более специфичную аудиторию, также считается многообещающим и набирающим обороты коином. Интересно и то, что в пятерке лидеров есть не только ETH, но и ETC, что позволяет говорить о том, что рынок сегодня сильно ориентирован на Ethereum.
Самые прибыльные криптовалюты
Еще один способ «прошерстить» длинный список криптовалют — проанализировать их прибыльность, например, показатель суммарной ежедневной прибыли. В нашем наборе имеются ценовые данные для более чем 1200 криптовалют. Если присмотреться к самому крупному увеличению курса в день, можно выявить лидеров внутридневной торговли.
-- Top crypto by daily return, by day
SELECT time,
last(currency_code,daily_factor),
max(daily_factor)
FROM (
SELECT currency_code,
time,
closing_price,
lead(closing_price) over (partition BY currency_code ORDER BY time DESC) AS prev_day_closing_price,
closing_price / lead(closing_price) over (partition BY currency_code ORDER BY time DESC) AS daily_factor
FROM crypto_prices) q
GROUP BY time
ORDER BY time DESC;
time | last | daily_return
------------------------+--------+------------------
2017-06-26 20:00:00+00 | CIN | 40.1428571428571
2017-06-25 20:00:00+00 | KC | 38
2017-06-24 20:00:00+00 | VOYA | 14.2747252747253
2017-06-23 20:00:00+00 | PAY | 3.18506315211422
2017-06-22 20:00:00+00 | YOVI | 119.607843137255
2017-06-21 20:00:00+00 | ION | 7.97665369649805
2017-06-20 20:00:00+00 | TES | 5.25157232704403
2017-06-19 20:00:00+00 | KNC | 150000
2017-06-18 20:00:00+00 | ZNY | 22.5217391304348
2017-06-17 20:00:00+00 | YOVI | 22.0590746115759
2017-06-16 20:00:00+00 | LTD | 9.50207468879668
2017-06-15 20:00:00+00 | AMIS | 168758.782201405
2017-06-14 20:00:00+00 | JANE | 6
2017-06-13 20:00:00+00 | YOVI | 690.636254501801
2017-06-12 20:00:00+00 | U | 5.21452145214522
2017-06-11 20:00:00+00 | JANE | 6
2017-06-10 20:00:00+00 | WGO | 3.58744394618834
2017-06-09 20:00:00+00 | BNT | 5000
2017-06-08 20:00:00+00 | XNC | 52.7704485488127
2017-06-07 20:00:00+00 | CBD | 14.3243243243243
2017-06-06 20:00:00+00 | CC | 72
2017-06-05 20:00:00+00 | BLAZR | 7.38461538461538
2017-06-04 20:00:00+00 | GREXIT | 13.0833333333333
2017-06-03 20:00:00+00 | EPY | 4.29880478087649
2017-06-02 20:00:00+00 | YOVI | 1257.67790262172
2017-06-01 20:00:00+00 | FCN | 8.57142857142857
2017-05-31 20:00:00+00 | EPY | 348.611111111111
2017-05-30 20:00:00+00 | BST | 14.1441860465116
2017-05-29 20:00:00+00 | FCN | 45.3086419753086
2017-05-28 20:00:00+00 | NOO | 56536.231884058
Самые высокие показатели внутридневной разницы стоимости криптовалюты (по убыванию даты)
Давайте определим криптовалюту с самым крупным ежедневным показателем прибыльности. Для вычислений ежедневной прибыли снова воспользуемся оконной функцией, а для поиска криптовалюты, принесшей больше всего дохода в каждый отдельно взятый день применим функцию last из набора TimescaleDB.
Вывод за последние три месяца показывает количественное превосходство AMIS (168-кратный прирост стоимости 15 июня). Эта криптовалюта показывала самое большое увеличение в 15 разных дней. Однако присмотревшись к ней повнимательнее, заметим что высокий рост обусловлен столь же высокими флуктуациями цены: стоимость AMIS часто откатывается назад к нулевому уровню после каждого увеличения.
Цена закрытия дня для AMIS в последние пять месяцев
Другой лидер этой выборки, YOVI, показывал лучший результат 3 раза, но также подвержен схожим ненадежным трендам, что и AMIS:
Цена закрытия дня для YOVI в последние пять месяцев
Несмотря на нестабильность этой пары трендов, они тем не менее выглядят более многообещающе по сравнению с ETH, стоимость которого стабильно падала в первый год своего существования (2015):
Цена закрытия дня для ETH в 2015
(Повторный отказ от ответственности: TimescaleDB не поддерживает какую-либо из этих криптовалют и не несет ответственности за ваши инвестиции в них и любые возможные связанные с ними потери.)
Итак, выходит, что деньги растут… на деревьях Меркла?
В этом материале мы сделали несколько выводов из открытого набора данных по криптовалютам, продемонстрировав сильные стороны PostgreSQL и TimescaleDB. И все же следует помнить, что криптовалютный рынок неизбежно изменится в следующем месяце, на следующей неделе или даже завтра.
Однако если вы хотите самостоятельно изучить этот набор и провести свой анализ, к Вашим услугам доступна соответствующая инструкция по скачиванию данных и установке TimescaleDB.
Если вы захотите узнать больше о TimescaleDB и о том, как она позволяет повысить эффективность PostgreSQL для работы с временными рядами, рекомендуем ознакомиться с техническим постом.