buybackoff
buybackoff личный блог
31 декабря 2015, 01:33

Spreads - Complex Event Processing для торговли

Недавно я опубликовал библиотеку для анализа данных Spreads — Series and Panels for Real-time and Exploratory Analysis of Data Streams. Её основной упор на complex event processing & time series.

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

Не буду здесь описывать суть — в readme на ГитХабе краткое описание, в тестах — примеры использования. В этом примере — построение тривиальной стратегии, которая далека от реального мира, но показывает как использовать библиотеку и принцип, как из данных получается торговля.

Одна из главных фишек библитеки — скорость. Она настолько быстрая, насколько позволяют современные процессоры (до 150x раз быстрее ближайшего open-source аналога, который при этом не поддерживает real-time данные). Она не делает ничего лишнего и оптимизирована под скорость и минимальное потребление памяти. Она очень простая в использовании, но позволяет из низкоуровневых кирпичиков создать прикольные вещи, включая оптимизацию и торговлю. Эти вещи пока остались за кадром, но она уже используется в реальном мире как основа для торговой платформы и с каждым днем улучшается.

Если у вас на каникулах будет свободное время, предалгаю вам сбросить оковы shared mutable state & event hell существующих подходов и погрузитсья в функциональный CEP!


P.S. В обозримом будущем я прикручу свой самый удобный коннектор к Квику QuikSharp к Spreads и сделаю примеры использования Spreads для реальной торговли.
1 Комментарий
  • dork
    16 февраля 2016, 18:29
    Круто, посмотрим. Спасибо.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн