Technical stack
Base programming languages we use
We mostly develop software using Python and JavaScript. To solve specialized problems, we use R for data analysis, MQL4/MQL5 to develop trading recommendation systems) and PineScript for creating technical indicators.
Trade analysis and automation
To calculate technical indicators, we use TALib and pandas_ta libraries. For interaction with trading platforms and exchanges - libraries pybit, python-binance, interactive-broker-python-web-api, PythonMetaTrader5, metatrader. To receive historical data - polygon-api-client; For backtesting - backtrader.
Collection and analysis of data from open sources
To create web robots, we use Selenium and a more modern and promising technology - PlayWright. For parsing: HTTPX, Scrapy, BS4, LXML. Libraries we use for data analysis in Python: Pandas, Numpy, SymPy, Scipy, Scikit-learn, Statsmodels, Keras, TensorFlow, Matplotlib, Seaborn. In R: Dplyr, Forecast, GGplot2, Readr, Tseries, Tidyr.
Websites and web applications
We use Bootstrap to create websites and web applications with a simple interface. For complex UI development, we use vue or react, depending on the project's requirements. On the backend we use Django, Django DRF, Flask, jQuery. We implement localization using Rosetta. For cryptocurrency billing we use cryptomus.
Databases, APIs, and microservices communication
We use RabbitMQ to apply connections between application microservices. To create APIs: Socket.IO, Django REST Framework, Fast API. We mainly work with Postgres and MySQL databases. ORMs we use: SQLAlchemy, Django ORM. We also have experience working with GraphQL.
Testing, containerization and deployment
For testing we use Pytest and unittest. We use Loguru for logging. We use Docker for containerization. We mostly deploy projects on VPS and VDS with Ubuntu and CentOS operating systems. We use AWS if the software needs to set up scaling groups.