13 KiB
13 KiB
Разделы брокерского счёта
Дата: 2026-06-18 Статус: реализовано Эпик: Портфель брокера
Цель
Сделать страницу конкретного брокерского счёта кратким и понятным обзором, а подробные позиции и операции разнести по самостоятельным разделам, не теряя контекст выбранного счёта.
Пользовательский результат
Пользователь может:
- быстро увидеть полную стоимость счёта, денежный остаток и текущую структуру активов;
- понять, сколько разных акций и выпусков облигаций находится на счёте;
- перейти к отдельной таблице акций или облигаций;
- увидеть последние операции на overview и открыть всю доступную историю;
- отфильтровать историю по одному точному типу операции, например только по выплатам купонов или только по обычному налогу.
Область изменений
Фича изменяет опыт работы с конкретным брокерским счётом и включает:
- обзор счёта;
- общую навигацию разделов счёта;
- отдельный раздел акций;
- отдельный раздел облигаций;
- отдельный раздел операций;
- данные сводки, необходимые для точных счётчиков позиций.
Требования
1. Общая навигация
- Разделы
Обзор,Акции,ОблигациииОперациипринадлежат одному выбранному брокерскому счёту. - На широком экране разделы доступны через постоянное боковое меню.
- На узком экране боковое меню заменяется горизонтальными прокручиваемыми вкладками.
- Активный раздел визуально и семантически обозначен.
- Переход между разделами не меняет выбранный брокерский счёт.
2. Обзор счёта
Overview показывает:
- название счёта;
- полную стоимость портфеля;
- денежный остаток;
- существующие показатели дневной и ожидаемой доходности;
- круговую диаграмму структуры портфеля;
- карточку акций с количеством разных позиций, стоимостью и долей;
- карточку облигаций с количеством разных выпусков, стоимостью и долей;
- пять последних доступных операций;
- переход ко всей доступной истории операций.
Карточки акций и облигаций ведут в соответствующие разделы счёта.
3. Распределение портфеля
- Проценты рассчитываются от полной стоимости счёта, включая денежный остаток.
- Диаграмма поддерживает срезы
Акции,Облигации,ETF/фонды,ДеньгииПрочие. Прочиеобъединяет остальные и неизвестные классы инструментов.- Срез с нулевым значением не отображается.
- Отрицательное значение не отображается как сектор диаграммы и показывается текстом рядом со сводкой.
- Легенда показывает название среза, денежную стоимость и процент.
- Информация остаётся понятной без различения цветов.
4. Счётчики позиций
- Количество акций означает число разных позиций акций, а не сумму штук всех акций.
- Количество облигаций означает число разных выпусков облигаций, а не сумму штук всех облигаций.
- Счётчики отражают полный состав счёта и не зависят от текущей страницы таблицы.
5. Раздел акций
- Раздел показывает только позиции типа
share. - Первая версия содержит таблицу с существующими колонками: тикер, название, количество, текущая цена и текущая стоимость.
- Тикер ведёт на страницу акции, когда маршрут инструмента может быть определён.
- Таблица сохраняет cursor-пагинацию по 10 позиций.
- При отсутствии акций показывается отдельное пустое состояние.
6. Раздел облигаций
- Раздел показывает только позиции типа
bond. - Первая версия содержит таблицу с существующими колонками: тикер, название, количество, текущая цена и текущая стоимость.
- Тикер ведёт на страницу облигации, когда маршрут инструмента может быть определён.
- Таблица сохраняет cursor-пагинацию по 10 позиций.
- При отсутствии облигаций показывается отдельное пустое состояние.
7. Последние операции на overview
- Overview показывает не более пяти последних операций доступного по умолчанию периода.
- Отображение операции сохраняет дату, русское название типа, инструмент и сумму.
- Блок содержит переход к полному разделу операций.
- Если операций нет, блок показывает спокойное пустое состояние и сохраняет переход к полной истории.
8. Раздел операций
- Раздел показывает cursor-пагинированную историю по 10 операций.
- Без отдельного фильтра дат раздел использует существующий период по умолчанию: с начала текущего календарного года до текущего момента.
- Под всей доступной историей в рамках первой версии понимаются все cursor-страницы этого периода, а не операции за всё время существования счёта.
- Пользователь может выбрать ровно один точный тип операции либо значение
Все операции. - Типы с разным финансовым смыслом не объединяются. В частности,
Налог,Налог по облигациямиНалог на дивидендыявляются отдельными значениями. - В интерфейсе показываются русские названия известных типов, а не технические enum-значения.
- Выбор нового типа начинает просмотр результатов с первой cursor-страницы.
- Выбранный фильтр сохраняется в адресе страницы и восстанавливается при открытии ссылки.
- Значение
Все операцииудаляет фильтр типа. - Фильтр по датам, инструменту и выбор нескольких типов не входят в первую версию.
9. Загрузка, ошибки и пустые состояния
- Первичная загрузка сводки и таблиц показывает skeleton соответствующей формы.
- При переходе между cursor-страницами текущие строки не исчезают; поверх таблицы показывается состояние обновления.
- Ошибка одного раздела не скрывает общую навигацию счёта.
- Для пустых акций, пустых облигаций и отсутствия операций выбранного типа используются отдельные понятные сообщения.
- Недоступные отдельные значения отображаются как
—и не подменяются нулём.
Ограничения
- Backend остаётся единственным клиентом T-Bank.
- Денежные значения форматируются в валюте, указанной в данных.
- Точная структура портфеля и счётчики не должны требовать загрузки всех cursor-страниц на frontend.
- Существующая cursor-пагинация позиций и операций сохраняется.
- Фича не добавляет отдельные страницы для ETF, фондов и прочих инструментов.
- Фича не добавляет новую аналитику доходности, риска или прогнозов.
Acceptance Criteria
- На широком экране у счёта есть боковая навигация
Обзор,Акции,Облигации,Операции. - На узком экране те же разделы доступны через горизонтальные прокручиваемые вкладки.
- Overview не содержит полных таблиц позиций и полной истории операций.
- Overview показывает полную стоимость, деньги, существующую доходность, диаграмму, карточки акций и облигаций и не более пяти последних операций.
- Диаграмма рассчитывает доли от полной стоимости счёта вместе с деньгами.
- Диаграмма имеет текстовую легенду со стоимостью и процентом каждого ненулевого среза.
- Карточки акций и облигаций показывают количество разных позиций, а не сумму штук.
- Количество позиций корректно для портфеля, содержащего больше одной cursor-страницы.
- Раздел акций содержит только акции и сохраняет пагинацию по 10 строк.
- Раздел облигаций содержит только облигации и сохраняет пагинацию по 10 строк.
- Раздел операций содержит пагинацию по 10 строк и фильтр по одному точному типу.
- Без параметров дат раздел операций показывает доступный период с начала текущего календарного года.
- Фильтры
Выплата купона,Налог,Налог по облигациямиНалог на дивидендыдают независимые результаты. - После смены типа операций открывается первая страница отфильтрованной истории.
- Выбранный тип восстанавливается из URL после перезагрузки.
- Загрузка, обновление, ошибка и пустое состояние каждого раздела отображаются согласно требованиям.
Вне области фичи
- страницы ETF, фондов, валют, деривативов и прочих инструментов;
- multi-select типов операций;
- продуктовые группы операций;
- UI-фильтры операций по датам и инструментам;
- изменение правил расчёта доходности;
- экспорт позиций или операций.