Skip to content

snowfallite/RiskNova

Repository files navigation

RiskNova

Внутренняя аналитическая платформа для инвестиционной компании. Управление клиентами, портфелями, риск-аналитика и ИИ-ассистент на базе LLM.

Stack React MSSQL Docker


Скриншоты

Главная страница (Dashboard) Dashboard

Клиенты Clients

Портфели Portfolios

Позиции портфеля Portfolio Positions

Риск-аналитика — часть 1 Risk Analytics 1

Риск-аналитика — часть 2 Risk Analytics 2

Карточка инструмента — часть 1 Instrument Card 1

Карточка инструмента — часть 2 Instrument Card 2

Раскрытие информации Disclosure

Карточка годового отчёта Disclosure Report


Возможности

  • Портфели и позиции — создание, редактирование, добавление и удаление позиций; расчёт текущей стоимости по рыночным ценам
  • Риск-аналитика — коэффициент Шарпа, Сортино, VaR, CVaR, граница эффективности Марковица (500 портфелей Монте-Карло)
  • ИИ-агент — LangGraph-агент на базе OpenAI / Anthropic с инструментами: поиск по инструментам, фундаменталы, аналитика портфеля, веб-поиск
  • Раскрытие информации — краулер e-disclosure.ru, скачивание и парсинг PDF-отчётов эмитентов
  • Отчёты — генерация PDF и Excel по портфелю клиента
  • Разделение ролейadmin (полный доступ) и analyst (просмотр + добавление/удаление позиций)
  • Брокерский API — интеграция с T-Invest (T-Bank) для получения рыночных данных

Архитектура

nginx (:80)
 ├── /          → frontend (React 19 + Vite)
 └── /api       → backend (FastAPI)

FastAPI
 ├── /api/v1/auth          — авторизация (JWT)
 ├── /api/v1/admin/*       — управление пользователями, настройки (только admin)
 └── /api/v1/*             — клиенты, портфели, инструменты, ИИ, отчёты, раскрытие

Хранилища:
 ├── Microsoft SQL Server 2022  — основная БД
 └── Redis 7                    — кэш рыночных данных (TTL 5–30 мин)

Быстрый старт

Требования: Docker Desktop

git clone https://github.com/snowfallite/RiskNova.git
cd RiskNova
docker-compose up --build

При первом запуске автоматически:

  • создаются все таблицы
  • загружаются тестовые данные (5 клиентов, 10 инструментов, 5 портфелей)
Сервис URL
Frontend http://localhost:3000
API http://localhost:8000
API Docs http://localhost:8000/docs
MSSQL localhost:1433

Тестовые аккаунты

Логин Пароль Роль
admin admin123 Администратор
analyst analyst123 Аналитик

Переменные окружения

Создайте файл .env в корне проекта (или переопределите через docker-compose):

# База данных
DB_HOST=localhost
DB_PORT=1433
DB_NAME=risknova
DB_USER=sa
DB_PASSWORD=RiskNova_Pass123!
DB_DRIVER=ODBC Driver 18 for SQL Server

# Redis
REDIS_URL=redis://localhost:6379

# JWT
SECRET_KEY=your-secret-key-change-in-production
ACCESS_TOKEN_EXPIRE_MINUTES=480

# T-Invest (опционально)
TINVEST_TOKEN=your_tbank_token

# AI (настраивается в интерфейсе через Настройки → ИИ)
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
TAVILY_API_KEY=

Стек

Слой Технология
Backend Python 3.12, FastAPI, SQLAlchemy 2 (async), LangGraph
Frontend React 19, TypeScript, Vite, Zustand, React Query, Tailwind CSS
База данных Microsoft SQL Server 2022
Кэш Redis 7
Деплой Docker Compose (api + frontend + mssql + redis + nginx)
ИИ LangChain / LangGraph, OpenAI, Anthropic Claude
Брокер T-Invest API (T-Bank)

Подключение к БД (DBeaver / SSMS)

Host:     localhost
Port:     1433
Database: risknova
Login:    sa
Password: RiskNova_Pass123!

SQL-скрипты для ручного развёртывания находятся в docs/sql/.


Структура проекта

RiskNova/
├── src/
│   ├── api/v1/
│   │   ├── admin/          # Эндпоинты только для администратора
│   │   └── analyst/        # Эндпоинты для всех авторизованных
│   ├── models/             # SQLAlchemy ORM-модели
│   ├── services/           # Бизнес-логика (аналитика, ИИ, краулер, отчёты)
│   └── core/               # БД, безопасность, конфигурация
├── front/
│   ├── pages/              # React-страницы
│   ├── api/                # API-клиенты (React Query)
│   └── store/              # Zustand-хранилища
├── scripts/
│   └── seed.py             # Наполнение БД при старте
├── docs/
│   ├── sql/                # DDL и seed SQL-скрипты
│   ├── listings.md         # Листинги кода для документации
│   └── sources.md          # Список источников (ГОСТ)
└── docker-compose.yml

About

Аналитическая платформа для инвестиционной компании.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors