Технічний стек
Основні мови програмування в компанії
Здебільшого ми розробляємо програмне забезпечення із використанням мов Python та JavaScript. Для вирішення спеціалізованих задач ми використовуємо R для аналізу даних, MQL4/MQL5 для створення торгових рекомендаційних систем) та PineScript для створення технічних індикаторів.
Торговий аналіз та автоматизація
Для розрахунку технічних індикаторів ми використовуємо бібліотеки TALib і pandas_ta. Для взаємодії із торговими площадками та біржами - бібліотеки pybit, python-binance, interactive-broker-python-web-api, PythonMetaTrader5, metatrader. Для отримання історичних даних - polygon-api-client; Для проведення бектестінга - backtrader.
Збір та аналіз даних з відкритих джерел
Для створення веб-роботів ми використовуємо Selenium та більш перспективну технологію - PlayWright. Для парсингy: HTTPX, Scrapy, BS4, LXML. Бібліотеки, що ми використовуємо для аналізу даних на Python: Pandas, Numpy, SymPy, Scipy, Scikit-learn, Statsmodels, Keras, TensorFlow, Matplotlib, Seaborn. На мові R: Dplyr, Forecast, GGplot2, Readr, Tseries, Tidyr.
Сайти та веб-застосунки
Для створення сайтів та веб-додатків із простим інтерфейсом ми використовуємо Bootstrap. Для розробки складного інтерфейсу ми використовуємо vue або react, залежно від вимог проекту. В бекенді використовуємо Django, Django DRF, Flask, jQuery. Реалізуємо локалізацію за допомогою Rosetta. Для криптовалютного білінгу використовуємо cryptomus.
Бази даних, API та зв’язок мікросервісів
Для зв’язку між мікросервісами програмного застосунку ми застосовуємо RabbitMQ. Для створення API: Socket.IO, Django REST Framework, Fast API. В основному, ми працюємо з базами даних Postgres та MySQL. ORM, що ми використовуємо: SQLAlchemy, Django ORM. Також маємо досвід роботи з GraphQL.
Тестування, контейнеризація та деплой
Для тестування ми використовуємо Pytest, unittest. Для логування використовуємо Loguru. Для контейнеризації використовуємо Docker. Здебільшого деплоємо проекти на VPS та VDS з ОС Ubuntu та CentOS. AWS використовуємо, коли ПЗ потребує створення скейлінг груп.