Portfolio Rebalancer

Веб-приложение для ребалансировки инвестиционного портфеля

Клиент: StandartSoftPlus
Статус: Опубликован. Open Source.

🎯 Задача

StandartSoft разработала собственный открытый инструмент для частных инвесторов, которым требуется простой и прозрачный способ поддерживать целевые веса активов. Готовые решения либо платные, либо избыточно сложны — Portfolio Rebalancer решает задачу в браузере без регистрации и установки.

Ключевые требования:

  • Работа полностью в браузере, без бэкенда
  • Поддержка акций и кэша в единой модели
  • Автоматические котировки через Finnhub API
  • Сохранение портфеля локально (JSON-файл)
  • Русскоязычный интерфейс, минималистичный дизайн

💡 Реализованное решение

📊 Главный экран — управление портфелем

Главный экран Portfolio Rebalancer Основной интерфейс: портфель акций, кэш, структура и таблица ребалансировки

Интерфейс разделён на две рабочие зоны:

Левая зона — портфель:

Вкладки Акции и Кэш позволяют раздельно управлять рисковыми активами и наличными. По каждой позиции отображаются: тикер, количество, актуальная цена, стоимость, фактический %, целевой % и отклонение (Δ). Кнопка «Обновить» забирает текущие котировки из Finnhub. Поддерживается выбор валюты (USD и другие).

Правая зона — структура:

Структура портфеля

Интерактивная круговая диаграмма отображает долю каждой позиции. Рядом — горизонтальные индикаторы «Факт vs цель» для визуального контроля отклонений.

Нижняя зона — ребалансировка:

Таблица автоматически рассчитывает рекомендации: сколько акций купить или продать, сколько кэша добавить или вывести, чтобы приблизить портфель к целевым весам. Каждое действие помечено направлением (↗ Купить / ↙ Продать).

📖 Встроенная справка

Справка и инструкция Экран справки: объяснение Portfolio Drift и пошаговая инструкция

Для пользователей без опыта ребалансировки предусмотрен подробный справочный раздел:

  • Что такое Portfolio Drift — формула расчёта и три зоны действия (< 5% / 5–10% / > 10%)
  • Пошаговая инструкция — 7 шагов от добавления позиции до сохранения портфеля
  • Ссылка на исходный код на GitHub

⚙️ Технические детали

Расчёт Portfolio Drift:

Drift = 0.5 × Σ|текущий_% − целевой_%|

Показывает долю портфеля, которую нужно переложить для достижения целевых весов. Индикатор суммы целевых % (Σ) в шапке таблицы предупреждает, если веса не равны 100%.

Режимы цены Finnhub API:

  • «Цена закрытия» — для стабильного ежедневного расчёта
  • «Последняя сделка» — для работы в реальном времени во время торгов

Сохранение данных:

Портфель сохраняется кнопкой «Сохранить» в JSON-файл на компьютер пользователя. Загрузка — кнопкой «Загрузить». Данные не передаются на сервер.

⚙️ Технологический подход

  • Frontend: TypeScript, HTML5/CSS3 — без фреймворков, быстрая загрузка
  • API: Finnhub — биржевые котировки в реальном времени
  • Хранение: Локальный JSON-файл, без бэкенда
  • Деплой: GitHub Pages, доступен по прямой ссылке
  • Лицензия: Open Source, исходный код открыт

🚀 Результат

Инструмент опубликован и доступен бесплатно. Решает задачу ребалансировки портфеля в браузере без регистрации и установки стороннего ПО.

Ключевые характеристики:

  • 🌐 Работает полностью в браузере — установка не нужна
  • ⚡ Обновление котировок в один клик
  • 🔒 Данные хранятся только локально
  • 📦 Открытый исходный код на GitHub

Клиент: StandartSoftPlus (собственный продукт)
Стек: TypeScript, HTML/CSS, Finnhub API
Статус: Опубликован, Open Source
Платформа: Web (все современные браузеры)

Обсудим ваш проект?

Расскажите о своей идее, и мы предложим оптимальное решение

Связаться с нами