Как iSAM Funds создала платформу для исследований опционов под задачу с 10 000-кратным объемом данных с помощью ClickHouse Cloud

Источник: ClickHouse•

Как iSAM Funds создала платформу для исследований опционов под задачу с 10 000-кратным объемом данных с помощью ClickHouse Cloud

iSAM Funds использует ClickHouse Cloud для анализа полной истории опционов, достигая сжатия в 35–50 раз и ускорения одноядерной загрузки в 100 раз при одновременном упрощении конвейеров данных.

iSAM Funds — британская компания по управлению альтернативными активами, специализирующаяся на систематическом инвестировании. Фирма неизменно руководствуется данными в своей работе. «Данные составляют важнейшую часть нашей архитектуры, — говорит Стив Барэм (Steve Barham), руководитель отдела разработки опционов в iSAM. — Наши технологические требования определяются данными, которые мы можем наблюдать, тем, как мы можем их хранить, и той информацией, которую мы можем из них извлечь».

Департамент опционов iSAM был создан около трех лет назад с широкими полномочиями по внедрению возможностей кросс-ассетных опционов в деятельность фирмы.

Как объясняет Стив, сбор рыночных данных по базовому котируемому инструменту (например, фьючерсу или акции) — это проторенная дорожка. Эти рынки торгуются часто, и обработка такого потока является привычным делом для большинства фирм. «Проблема возникает тогда, когда вы хотите начать изучать рынок опционов поверх этих данных, — говорит он. — Когда базовый актив движется, сколько связанных с ним опционов реагируют на это?»

Согласно его предварительным расчетам, этот коэффициент веера составляет около 10 000 символов. «Это переносит вас в совершенно другую плоскость с точки зрения инженерии данных», — отмечает он. Все последующие процессы наследуют этот множитель: распределение данных, их хранение и последующее извлечение путем запросов.

Мы пообщались со Стивом, чтобы узнать о технической проблеме, которую решает его команда, и о том, как ClickHouse Cloud на базе AWS помогает им обрабатывать гораздо большие объемы данных, снижать уровень связанной с ними сложности и сокращать путь от идеи исследователя до протестированной гипотезы.

Первым шагом, по словам Стива, была оценка масштаба проблемы. Она начинается с эталонных данных (reference data), определяющих, какие опционы существуют для данного базового актива и как выглядит набор базовых активов для данного рынка. Это позволяет понять, какой объем данных потребуется обработать. Цель, как описывает ее Стив, заключается в создании согласованных снимков (снапшотов) как можно большей части рынка и построении производных конвейеров данных и торговых систем на основе этих рыночных данных.

Ключевым фактором при масштабировании является распределение активности рыночных данных по биржевым продуктам, которое редко бывает равномерным. «Группа CME котирует несколько сотен фьючерсных рынков, многие из которых имеют связанные рынки опционов, — говорит Стив. — Но если на рынке небольшой объем торгов, то и с данными проблем особо нет». С другой стороны, существуют такие инструменты, как казначейские облигации или фьючерсы на S&P, с большим количеством обращающихся контрактов и высокой ликвидностью. Он описывает эту активность как неравномерно распределенную по рынкам. Из-за этого простое горизонтальное секционирование или шардирование становится менее эффективным: объемы сильно различаются в зависимости от рынка, а самих рынков слишком мало, чтобы наивное секционирование могло надежно сбалансировать нагрузку.

Для Стива и его команды создание платформы данных опционов свелось к двум основным задачам. «Анализ объема данных, с которым вы работаете, — это первый этап, а затем необходимо обрести уверенность в том, что вы сможете распределить, сохранить и запросить этот объем, — говорит он. — Именно здесь для нас появился ClickHouse».

Когда дело доходит до создания чего-то нового, Стив мыслит категориями токенов инноваций при принятии решений. «На что вы собираетесь потратить свои токены инноваций? — спрашивает он. — На бизнес-домен? На технологический домен? Или на какое-то их сочетание?»

Что касается технологий, команда Стива выбрала «скучный, знакомый» путь, создав прототип на Postgres. Это позволило им продвинуться достаточно далеко в итерациях, провести эксперимент и оценить масштаб проблемы. Но по мере того как амбиции команды росли как в отношении ширины, так и глубины данных, которые они хотели собирать, по его словам, «очень быстро стало очевидно, что нам потребуется довольно кардинальное изменение в способе персистентного хранения этих данных».

Другие команды внутри iSAM уже работали с ClickHouse на разном уровне сложности, и поступавшие отзывы были достаточно обнадеживающими, чтобы Стив выделил время на проведение тестирования. Он настроил параллельный конвейер сохранения данных для своего департамента на том же оборудовании, чтобы посмотреть, на что способна эта технология.

Результаты оказались впечатляющими. Хранение данных в порядке временных рядов без каких-либо специализированных настроек обеспечило сжатие в 35–50 раз по сравнению с использованием Postgres. Производительность вставки на одном ядре выросла с 8 000 строк в секунду до 800 000.

Не менее ценной оказалась гибкость ClickHouse при вводе и выводе данных. Департамент опционов iSAM строит значительную часть своей внутренней инфраструктуры данных на базе Apache Arrow. «Я могу напрямую передавать данные в формате Arrow в ClickHouse, — говорит Стив. — Я могу отправить ему фрейм в кодировке Arrow для вставки и быть уверенным, что он дойдет, и я могу сделать то же самое, чтобы вытащить данные обратно». Будь то Arrow, Parquet или JSON, ему не нужно постоянно преобразовывать данные из одной кодировки в другую каждый раз, когда они пересекают какую-либо границу. «Такая универсальность в отношении того, как должны выглядеть данные при передаче по сети — это действительно огромный плюс», — говорит он.

Департамент перешел на ClickHouse в рабочем режиме всего за пару недель. «Когда вы занимаетесь разработкой, время выхода на рынок имеет критическое значение. Мне нравится, когда итерации проходят быстро. Я люблю показывать людям результаты изменений как можно быстрее, чтобы мы могли оперативно найти правильный продукт и доработать его», — говорит Стив.

Через месяц-два вопрос уже сменился с того, работает ли ClickHouse вообще, на то, стоит ли команде заниматься его самостоятельным обслуживанием. «Стало очевидно, что это станет核心ной частью нашей инфраструктуры данных», — говорит Стив.

«Я не хотел тратить свой бюджет на инновации на то, чтобы учиться запускать ClickHouse локально (on-prem) с поддержкой отказоустойчивости и всеми теми вещами, которые необходимы, когда это одно из ваших главных хранилищ данных. Мне просто нужно было готовое решение, которое позволило бы мне двигаться вперед с уверенностью. Именно это дал мне ClickHouse Cloud». — Стив Барэм, руководитель отдела разработки опционов, iSAM

«Я не хотел тратить свой бюджет на инновации на то, чтобы учиться запускать ClickHouse локально (on-prem) с поддержкой отказоустойчивости и всеми теми вещами, которые необходимы, когда это одно из ваших главных хранилищ данных. Мне просто нужно было готовое решение, которое позволило бы мне двигаться вперед с уверенностью. Именно это дал мне ClickHouse Cloud». — Стив Барэм, руководитель отдела разработки опционов, iSAM

Управляемый сервис ClickHouse должен был удовлетворять требованиям iSAM как систематического фонда. У iSAM развернута значительная инфраструктура в AWS, и компания соответствующим образом ограничивает сетевой доступ к своим сервисам ClickHouse, обращаясь к ним через существующие прямые каналы связи фирмы с AWS. Развертывание интегрировано со стеком корпоративной аутентификации iSAM, что является ключевым требованием для платформы.

Одной из новых возможностей, которая оказалась весьма полезной, является выгрузка резервных копий в собственные бакеты iSAM. Команда использует ее для извлечения подмножества производственных данных в локальные экземпляры ClickHouse, что повышает продуктивность разработчиков в изоляции от рабочей нагрузки.

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

Это не значит, что простота является целью во всем. «Я рад, что в нашей системе есть области высокой сложности, — говорит Стив. — Это неизбежно. Если бы у нас этого не было, мы бы не были конкурентоспособным бизнесом». Чего он не хочет, так это накопления сложности во фронтенде на веб-технологиях или в конвейере, единственная задача которого — предварительная агрегация данных. «Я хочу, чтобы эта сложность находилась на своем месте».

Как выражается Стив, вот что дает команде быстрая база данных: «Система с такой производительностью, как ClickHouse, позволяет нам отправлять ей любой запрос, и он просто работает».

С точки зрения бизнеса эта скорость проявляется в том, как быстро можно тестировать идеи. Исследователи iSAM не делают запросы к ClickHouse напрямую (доступ опосредован собственными системами торгового отдела), но ее производительность позволяет им быстро тестировать новые идеи по всей вселенной данных и за всю историю. «Моя цель — сделать исследование данных более быстрым и стабильным, чтобы у наших исследователей сократился горизонт времени от идеи до выхода на рынок», — говорит Стив.

«Время выхода на рынок стало важнейшей метрикой, особенно в сфере ИИ. Как быстро вы можете протестировать свою гипотезу? Как быстро вы можете увидеть, сработает ли это? ClickHouse очень, очень сильно помог в этом». — Стив Барэм, руководитель отдела разработки опционов, iSAM

«Время выхода на рынок стало важнейшей метрикой, особенно в сфере ИИ. Как быстро вы можете протестировать свою гипотезу? Как быстро вы можете увидеть, сработает ли это? ClickHouse очень, очень сильно помог в этом». — Стив Барэм, руководитель отдела разработки опционов, iSAM

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

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

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

Помимо производительности и масштабируемости, Стив отмечает поддержку, которую он получил от команды ClickHouse, включая общий канал в Slack, работающий с первых дней миграции. «Возможность общаться с по-настоящему техническими специалистами позволяет нам избежать долгих объяснений и упростить диагностику», — говорит он.

В конечном счете отдел Стива существует для того, чтобы извлекать информацию из пространства волатильности и строить на ее основе стратегии. Это означает хранение гораздо большего объема данных, чем в обычном торговом отделе, и получение ответов как можно быстрее. Благодаря ClickHouse Cloud вся история остается доступной онлайн для запросов, между вопросом и ответом находится меньше конвейеров, а платформа масштабируется по мере того, как каждый новый рынок умножает объемы лежащих в основе данных.

О чём эта статья

Ещё в разделе «Данные и аналитика»

Все →

Ещё от ClickHouse