Все проекты
2025Инвестиции

Кейс: Разработка AI-генератора инвест-идей Investorum.ru | Портфолио веб-разработчика

Как превратить многолетний опыт трейдинга в автоматизированный SaaS-сервис. Разбор архитектуры Investorum: Next.js 14, Prisma, BullMQ, Redis и кастомная AI-оркестрация 8 агентов.

Кейс: Разработка AI-генератора инвест-идей Investorum.ru | Портфолио веб-разработчика

О проекте: На стыке кода и финтеха Investorum.ru — это полностью автономный сервис генерации и валидации инвестиционных идей для фондового, сырьевого и криптовалютного рынков. Система ежедневно сканирует новостной фон, сопоставляет его с реальными биржевыми котировками и формирует глубокие торговые планы с математически просчитанным риск-менеджментом.

Почему это работает: Этот проект не придуман «с потолка» на волне хайпа вокруг нейросетей. Я объединил свой многолетний практический опыт в трейдинге и экспертизу в веб-разработке. В логику сервиса заложены жесткие правила управления капиталом (Money Management), оценка математического ожидания (Expected Value) и соотношения риска к прибыли (Risk/Reward), которые я годами использовал при ручной торговле. Всё то, что раньше требовало часов рутинного анализа графиков и чтения отчетов, теперь делает автоматизированный AI-инвест-отдел.

Архитектура и Технологический Стек Проект построен по событийно-ориентированной архитектуре с четким разделением слоев представления, бизнес-логики и фонового процессинга.

Frontend / Server-side Rendering: Next.js 14 (App Router) на TypeScript. Интерфейс адаптирован для быстрого сканирования информации ( gauges-индикаторы, структурированные карточки идей, дашборды).

База данных и ORM: PostgreSQL + Prisma.

Асинхронные очереди и расписания: BullMQ + Redis.

UI-компоненты: Tailwind CSS + Shadcn/ui примитивы.

AI-ядро: Оркестрация моделей через OpenRouter API + Perplexity Sonar для веб-серчинга в реальном времени.

Главные инженерные вызовы и решения 1. Многоагентный пайплайн оркестрации (8 Агентов) Вместо одного «длинного» и непредсказуемого промпта к LLM, я спроектировал кастомную систему оркестрации, симулирующую работу реального инвестиционного фонда. Пайплайн разделен на два ключевых цикла:

Outer Loop: Агенты-скауты (Scout) мониторят RSS-ленты (РБК, Коммерсант, Investing и др.), отбирают триггеры, а Аналитик (Analyst) формирует шорт-лист кандидатов.

Inner Loop (Контур критики): Квант (Quant) строит торговый план, а Критик (Critic) ищет в нем изъяны. Они проводят до 3 ревизий плана, пока идея не пройдет жесткий Quality Gate. В финале Офицер Безопасности (Safety Check) проверяет сценарий на манипуляции рынком и соответствие законодательству (ст. 6.1 ФЗ-39).

2. Жесткий детерминизм и защита от «галлюцинаций» Нейросети печально известны тем, что могут придумывать факты и ошибаться в математике. В Investorum это исключено на уровне архитектуры:

Биржевые данные — единственный источник истины: Текущие цены и котировки подтягиваются напрямую через API MOEX ISS, CoinGecko и Stooq. LLM принципиально не имеет права «угадывать» цену.

Никакой LLM-арифметики: Агенты определяют только ключевые психологические уровни (Entry, Stop Loss, Take Profit). Математическое ожидание, размер риска в процентах, геометрию сделки и R/R считает бэкенд на сервере (src/ai/trade-plan.ts).

3. Контур обратной связи (Outcomes Loop) Идея ценна только тогда, когда она проверена рынком. Я реализовал фоновый трекинг жизненного цикла каждой опубликованной идеи (IdeaOutcome). Специальный воркер BullMQ регулярно опрашивает биржевые API и фиксирует: была ли достигнута цель (TARGET_HIT), выбило ли сделку по стопу (STOP_HIT) или идея истекла по времени (EXPIRED). В админ-панели формируется честная статистика: Hit Rate, Calibration Curve и общая доходность стратегий.

4. Изоляция данных и надежность деплоя В продакшене приложение работает через связку systemd + Docker Compose:

База данных Postgres и Redis изолированы в Docker-контейнерах с именованными volumes.

Сам код Next.js и BullMQ воркер работают как системные службы хоста через systemd. Это исключает необходимость тяжелого Docker-rebuild при минорных апдейтах кода и защищает данные при перезапусках.

Написана ExecStartPre-страховка: скрипт ожидания доступности портов БД в течение 60 секунд после ребута сервера, защищающая от race conditions.

Метрики и результаты разработки Полный аудит каждого шага: Каждый запрос к LLM логируется в таблицу GenerationStep с сохранением точных промптов, затрат в USD, токенов и времени ответа. Это обеспечивает 100% воспроизводимость пайплайна.

Высокая отказоустойчивость: Реализованы автоматические ретраи к API (3 попытки с экспоненциальным бэк оффом) и sliding-window rate-limiting для защиты от DDoS на уровне Edge-middleware.

SEO-оптимизация: Динамическая генерация OG-картинок (1200×630) на лету для каждой торговой идеи, автогенерация sitemap.xml и ISR (Incremental Static Regeneration) для главной страницы, обеспечивающая моментальный отклик.

Ищете разработчика для автоматизации финтех-процессов? Если вашей компании или проекту нужен:

Кастомный AI-сервис со сложной логикой оркестрации, где агенты контролируют и перепроверяют работу друг друга.

Платформа автоматизации трейдинга или генерации аналитики, интегрированная с биржевыми API (MOEX, Binance, Bybit, TradingView, MetaTrader).

Отказоустойчивый бэкенд на Node.js / TypeScript, способный переваривать тяжелые фоновые задачи в очередях и работать 24/7.

Я с радостью помогу спроектировать и реализовать систему любой сложности — от архитектуры базы данных до стеклянного минималистичного UI. Мой уникальный опыт (Senior Web Dev + Трейдинг) позволяет мне разговаривать с заказчиком на одном языке, понимать механику рынков изнутри и не допускать детских ошибок в риск-менеджменте при проектировании кода.

Свяжитесь со мной, и мы обсудим ваш проект!

Готов обсудить задачу?

Напишите — отвечаю в течение нескольких часов.