Files
specs/openspec/changes/archive/2026-08-28-portfolio-income-analytics/proposal.md
T

33 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Why
User вынужден вручную находить купонные и дивидендные выплаты в журнале операций и суммировать их, чтобы оценить фактически полученный пассивный доход за месяц или другой период. Это затрудняет регулярную проверку поступлений и не позволяет быстро перейти от итога к операциям, из которых он сложился. WealthLedger уже показывает исполненные операции и известные будущие события выбранного Brokerage Account, поэтому следующим продуктовым шагом должна стать их понятная, проверяемая аналитика без смешения факта и прогноза.
## What Changes
- Для одного выбранного Brokerage Account появляется страница «Пассивный доход» с аналитикой фактически полученных купонов и дивидендов за применённый период.
- Итоги, разбивка по видам дохода, динамика и состав инструментов показываются отдельно по исходным валютам без конвертации и позволяют перейти к точным операциям, включённым в результат.
- User может выбрать включительный период не более 366 дней; по умолчанию используется текущий месяц по сегодняшний день. Изменения периода применяются явно, отражаются в URL и могут быть сброшены к значению по умолчанию.
- Результат сопоставляется с непосредственно предшествующим периодом и, когда данные доступны, с теми же календарными датами годом ранее. Сопоставление показывает денежные значения и разницы, но не оценивает инвестиционную эффективность.
- Купонные и дивидендные корректировки сохраняют знак исходной выплаты. Налоги и другие операции не включаются в итог; интерфейс объясняет эту границу без утверждений о суммах «до налогов», «после налогов», gross или net.
- На обзоре Brokerage Account появляется компактный итог купонов и дивидендов с начала текущего месяца по сегодняшний день и переход к полной аналитике. Этот итог не наследует пользовательский период со страницы аналитики.
- Отдельный прогнозный блок показывает известные купоны и дивиденды на следующие 30 дней, не смешивая их с фактическим доходом, подчёркивает неопределённость прогноза и ведёт к полному списку будущих событий.
- Если для успешного расчёта недоступна часть необходимых операций, система показывает восстанавливаемую ошибку вместо частичного итога. Ошибка прогноза остаётся локальной и не скрывает успешно рассчитанный фактический доход.
- Вне scope остаются сводная аналитика по нескольким Brokerage Account, ручные доходные записи и корректировки, расчёт или атрибуция налогов, валютная конвертация и общий мультивалютный итог, локальное хранение истории операций, историческая оценка Portfolio и общая аналитика инвестиционной эффективности.
## Capabilities
### New Capabilities
- `brokerage-account-income-analytics`: Проверяемая аналитика фактически полученных купонов и дивидендов одного Brokerage Account, её current-month summary и отдельный 30-дневный прогноз известных поступлений.
### Modified Capabilities
<!-- Existing capability Requirements не изменяются. -->
## Impact
- User получает автоматический ответ на вопрос, сколько купонов и дивидендов фактически поступило на выбранный Brokerage Account за интересующий период, и может проверить состав результата по операциям.
- Обзор выбранного Brokerage Account дополняется текущим месячным итогом, а account-scoped navigation — переходом к полной аналитике.
- Расчёт затрагивает account ledger и использует существующие данные о будущих событиях, сохраняя их текущую доменную семантику и границы доступности.
- Изменение требует согласованной поставки пользовательского интерфейса, серверного поведения, canonical specification и as-built документации.