Открытые проекты по обработке временных рядов
От: cppguard  
Дата: 10.10.21 02:03
Оценка:
Уже долгое время пишу для одного фаната криптовалют проект по обработке данных с биржи. Всё начиналось как простое приложение с визуализацией графика цен и построения простых индикаторов и постепенно доросло до анализатора со своим DSL с компиляцией в JavaScript. Выглядит это как помесь торговых алгоритмов с map-reduce: пользователь через DSL задаёт узлы, которые могут выполнять какую-то логику (различные преобразования, оконные функции и т.д.) и одновременно являются фильтрами, то есть могут пропускать или не пропускать поток вычислений к следующим узлам. Затем пользователь настраивает связи между узлами и запускает граф на обработку. Обработка начинается со стратого узла и на каждом шаге алгоритм обновляет состояние всех узлов и для текущего узла проверяет, в какие смежные узлы может перейти поток вычислений. Ниже приведены пример конфигурации и изображение соответствующего ей графа:

%% token data/binance/CDTBTC
%% parallel 1

ask = 8

terminal-volume = 0.0001
terminal-deadline = 1m
terminal-stoploss = 5.0%

ts = LongValueMonitor
wait = DelayFilter 5s
stat = DoubleStatistics ask
min = DoubleStatistics$Low stat
max = DoubleStatistics$High stat
#print = Printer "%s %s %s" ts min max
print = Table "test" @Table$Entry
"Test" ts

start >> loop >> stat >> real-buy >> wait >> print + stat >> loop




Может кто-нибудь знает или слышал про подобные проекты? Мне было бы интересно посмотреть исходный код и сравнить со своими решениями. Особенно, по части оптимизаций и распараллельвания.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.