Библиотека для трейдинга: начало

Запуск Open-Source проекта: Clojure библиотека для алготрейдинга с нуля

Запуск open-source taljure

Запуск open-source taljure

Этим и начинаю цикл статей, в котором с чистого листа буду разрабатывать open-source библиотеку для алгоритмического трейдинга. Цель — создать инструмент, который будет максимально кложур-френдли, прозрачным в работе и полезным как для изучения основ алготрейдинга, так и для использования в более серьезных проектах.

Зачем это нужно?

Существует множество готовых решений, но они часто представляют собой обертки над ta-lib, написанным на C++. Мне же хотелось создать что-то на Clojure — языке, где мощь в обработке данных и многопоточности идеально подходит для финансовых вычислений. Я хочу:

Глубже разобраться в индикаторах: Не просто использовать ta-lib, а понять, как работают SMA, EMA, RSI и другие метрики «под капотом».

Сделать Clojure-way библиотеку: Иммутабельные данные, чистые функции, последовательности — все это идеально ложится на концепцию обработки временных рядов.

Предложить альтернативу: Сообществу трейдеров-разработчиков, интересующихся Clojure, не хватает своих, идиоматических инструментов.

Технический стек и философия

Проект будет строго придерживаться принципов простоты и прозрачности:

Чистый Clojure: Никаких фреймворков. Только язык и его стандартная библиотека.

Docker-окружение: Чтобы у любого желающего не возникло проблем с запуском, вся разработка будет вестись в изолированном контейнере. deps.edn + docker-compose — наш выбор.

Тесты с первого дня: Каждый индикатор будет покрыт тестами, чтобы можно было быть уверенным в корректности расчетов.

Промышленный подход: Библиотека с первого дня будет оформлена как настоящий open-source проект: с качественным README, документацией, лицензией и примерами использования.

О чем будем говорить в следующих статьях

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

  • настроим идеальное окружение для Clojure-разработки с помощью Docker;

  • разберем deps.edn: какие зависимости нам понадобятся и зачем;

  • напишем свои первые индикаторы (SMA, EMA) и тесты к ним;

  • сравним наши расчеты с эталонными реализациями;

  • собирем библиотеку и пробуем подключить ее к «боевому» проекту;

  • документируем код и публикуем первую версию на Clojars.

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

Исходный код будет доступен на GitFlic (можно участвовать).

Что вы думаете о такой идее? Какие индикаторы или функционал вам было бы интересно увидеть в первую очередь? Делитесь мыслями в комментариях!

👁‍🗨 0