Веб-платформа финансовой аналитики для PE фонда. Замена Bloomberg Terminal, адаптированная под работу с российскими частными компаниями.
| Слой | Технология |
|---|---|
| Backend | Python 3.12, FastAPI, SQLAlchemy 2.0 (async), Alembic |
| Frontend | React 18, TypeScript, Mantine v7, AG Grid, Plotly.js |
| База данных | PostgreSQL 16 |
| Инфраструктура | Docker Compose |
# 1. Скопировать конфигурацию
cp .env.example .env
# 2. Запустить все контейнеры
make up
# 3. Применить миграции БД
make migrate
# 4. Загрузить начальные данные (15 компаний + справочник статей)
make seed
# 5. Открыть в браузере
# Frontend: http://localhost:5173
# API docs: http://localhost:8000/api/docs├── docker-compose.yml # PostgreSQL + backend + frontend
├── Makefile # make up / migrate / seed / test / lint
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI приложение
│ │ ├── models/ # SQLAlchemy модели (10 таблиц)
│ │ ├── schemas/ # Pydantic схемы запросов/ответов
│ │ ├── api/v1/ # REST API роутеры
│ │ ├── services/ # Бизнес-логика
│ │ ├── collectors/ # Сбор данных (MOEX, ЦБ, e-disclosure)
│ │ ├── tasks/ # Фоновые задачи (APScheduler)
│ │ └── scripts/ # Сид-данные
│ └── alembic/ # Миграции БД
└── frontend/
└── src/
├── components/ # React компоненты
├── pages/ # Страницы приложения
├── api/ # HTTP клиент (Axios)
├── hooks/ # TanStack Query хуки
└── types/ # TypeScript типы
| Источник | Данные | Расписание |
|---|---|---|
| MOEX ISS API | Котировки, метаданные ценных бумаг | Ежедневно 19:00 МСК |
| ЦБ РФ XML API | Курсы валют (USD, EUR, CNY, GBP) | Ежедневно 15:00 |
| ЦБ РФ | Ключевая ставка | Ежемесячно |
| e-disclosure.ru | Финансовая отчётность РСБУ/МСФО | По запросу |
| Excel загрузка | Ручной ввод отчётности | По запросу |
- Компании — каталог с поиском, фильтрацией по сектору и стране, карточки компаний
- Отчётность — баланс, ОПУ, ОДДС с иерархической структурой, сравнение периодов
- Котировки — графики (свечи / линия), статистика (52-нед. макс/мин, доходность, волатильность)
- Мультипликаторы — P/E, EV/EBITDA, EV/Sales, P/B, P/S, ROE, ROA, Debt/EBITDA
- Макроданные — курсы валют, ключевая ставка ЦБ
- Экспорт — выгрузка в Excel (отчётность, мультипликаторы, котировки)
- Peer groups — формирование групп, сравнительный анализ
- Расчёт бет — левериджированная / нелевериджированная, регрессия
- Калькулятор WACC — динамический расчёт по кварталам
- Зарубежные данные — SEC EDGAR, Yahoo Finance
- Поддержка US GAAP
- Загрузка внутренних прогнозов фонда
Основные эндпоинты (/api/v1/):
| Метод | Путь | Описание |
|---|---|---|
| GET | /companies |
Список компаний (поиск, фильтрация, пагинация) |
| GET | /companies/{id} |
Детали компании |
| GET | /companies/{id}/financials |
Финансовая отчётность |
| GET | /financials/compare |
Сравнение периодов |
| GET | /securities/{id}/quotes |
История котировок |
| GET | /securities/{id}/quotes/stats |
Статистика по бумаге |
| GET | /companies/{id}/multiples |
Мультипликаторы компании |
| GET | /multiples/screen |
Скрининг по мультипликаторам |
| GET | /macro/fx |
Курсы валют |
| GET | /macro/rates |
Ключевая ставка |
| POST | /export/financials |
Экспорт отчётности в Excel |
| GET | /health |
Проверка состояния |
Полная документация: http://localhost:8000/api/docs
make up # Запустить контейнеры
make down # Остановить контейнеры
make logs # Логи всех сервисов
make migrate # Применить миграции
make seed # Загрузить начальные данные
make test # Запустить тесты
make lint # Проверка кода (ruff)
make shell-db # Подключиться к PostgreSQL- 2+ ядра CPU
- 4+ ГБ RAM
- Docker и Docker Compose
- Доступ к MOEX ISS API и ЦБ РФ
При запуске make seed загружаются:
- 15 компаний: Сбербанк, Газпром, Лукойл, Роснефть, Норникель, Яндекс, ВТБ, Татнефть, Сургутнефтегаз, Северсталь, НЛМК, Полюс, Магнит, МТС, НОВАТЭК
- ~50 статей отчётности: стандартные строки РСБУ/МСФО для баланса, ОПУ и ОДДС