Repository navigation
Description
Issue type: Epic
Working title: Build Institutional Investment Research & Portfolio Intelligence Platform
Priority: P0
Target: Web application, responsive desktop-first
Objective: Turn the 10 research workflows in the reference designs into a unified, data-backed investment research application.
- Product goal
Build a platform that lets an investor move through one continuous workflow:
Discover opportunities → research a company → value it → analyze catalysts/technicals → understand macro exposure → construct a portfolio → measure risk → monitor changes.
The application must distinguish calculated data, third-party data, AI interpretation, and user assumptions. AI must not fabricate financial figures when required market data is unavailable.
- Core application shell
APP-001 — Dashboard & navigation
Create the application shell with:
Dashboard
Discover
Company Research
Portfolio
Macro
Watchlists
Reports
Settings
Dashboard widgets:
Portfolio value and performance
Watchlist
Market overview
Upcoming earnings
Macro calendar
Portfolio risk alerts
Recent research
Saved screens
Analysis shortcuts
Acceptance criteria
Users can navigate between every module without losing portfolio/research context. Global ticker search is accessible from every screen. Recent analyses can be reopened from the dashboard.
APP-002 — Global security search
Search by:
Company name
Ticker
Exchange
Company result should resolve to a canonical security record containing ticker, company, exchange, currency, sector and industry.
Selecting a company opens its unified research page.
APP-003 — Company research workspace
Every security gets a common company page with tabs:
Overview | Financials | Valuation | Earnings | Technicals | Quant | Competition | Ownership | News
Header displays current market information and data freshness.
Research generated in one module should be reusable by other modules.
- Institutional Stock Screener
FEAT-001 — Stock Screener
Allow users to screen an investable universe using:
Market cap
Sector/industry
Geography
Revenue growth
EPS growth
P/E
Forward P/E
PEG
EV/EBITDA
Price/free-cash-flow
ROIC/ROE
Gross/operating/net margins
Debt/equity
FCF
Dividend yield
Payout ratio
Momentum
Volatility
Results table should contain relevant fundamentals and valuation metrics.
Support:
Column sorting/filtering
Saved screens
Comparison mode
Watchlist addition
CSV/XLSX export
AI-generated research may additionally explain valuation, growth, balance-sheet quality, dividend sustainability, competitive positioning, bull/bear scenarios and key risks.
Acceptance criteria: Screening values come from structured financial data rather than AI-generated estimates.
- DCF valuation
FEAT-002 — DCF Valuation Engine
Inputs:
Revenue
Revenue growth
Operating margin
Tax rate
D&A
CapEx
Working capital
WACC
Terminal growth
Exit multiple
Net debt
Diluted shares
Generate a five-year forecast containing:
Revenue → EBIT → taxes → NOPAT → D&A → CapEx → working capital → unlevered FCF.
Calculate terminal value using both:
Perpetuity growth
TV = FCF(n+1) / (WACC − g)
and exit multiple methodologies.
Output:
Enterprise value
Equity value
Implied value/share
Current price comparison
Implied upside/downside
Base/bull/bear scenarios
Include WACC × terminal-growth sensitivity matrix and WACC × exit-multiple matrix.
Every assumption must be editable.
Acceptance criteria: DCF results recalculate deterministically whenever an assumption changes.
- Portfolio risk
FEAT-003 — Portfolio Risk Engine
Portfolio input supports ticker + quantity, value or percentage.
Calculate:
Position concentration
Sector concentration
Geographic exposure
Currency exposure
Correlation matrix
Historical volatility
Portfolio beta
Maximum drawdown
VaR
Expected shortfall
Liquidity indicators
Interest-rate sensitivity where relevant
Provide stress scenarios such as:
Equity market decline
Recession
Rate increase/decrease
USD appreciation/depreciation
Technology selloff
Inflation shock
Create a risk heat map showing:
Risk | Exposure | Severity | Contributors | Potential mitigation
Do not present scenario estimates as guaranteed outcomes.
- Earnings intelligence
FEAT-004 — Earnings Analyzer
For each company display:
Next earnings date
Last four quarters
Reported EPS
Consensus EPS
EPS surprise
Reported revenue
Consensus revenue
Revenue surprise
Historical price reaction
Show relevant company KPIs where available.
Examples:
Cloud company → ARR/cloud growth
Bank → NIM/deposits/credit losses
Retail → comparable sales
SaaS → NRR/RPO
Semiconductor → inventory/gross margin
Capture management guidance and compare it with consensus.
Where reliable options data is available, calculate market-implied earnings move.
Generate explicit bull/base/bear scenarios rather than pretending a single outcome is certain.
- Portfolio construction
FEAT-005 — Portfolio Builder
User profile:
Investment amount
Investment horizon
Risk tolerance
Income requirements
Liquidity requirements
Account/tax context
Existing holdings
Contribution amount
Asset classes:
Domestic equities
International equities
Government bonds
Corporate bonds
Cash
REITs
Commodities
Optional alternatives
Support:
Core / satellite allocation
Output:
Target allocation
Current vs target allocation
Suggested rebalance amounts
Historical risk/return statistics
Benchmark
Contribution allocation
Rebalancing rules
Allow both ETF-level and asset-class-level construction.
Tax guidance must be contextual rather than presented as personalized professional tax advice.
- Technical analysis
FEAT-006 — Technical Analysis Engine
Timeframes:
Daily
Weekly
Monthly
Calculate:
SMA 20/50/100/200
EMA
RSI
MACD
Bollinger Bands
ATR
Volume averages
Relative strength
52-week range
Detect potential:
Support/resistance
Breakouts
Trend changes
Moving-average crosses
Volume confirmation
Common chart structures
Support Fibonacci retracement as an optional visualization.
Interactive chart must allow indicators to be enabled/disabled.
Trade-planning mode can calculate hypothetical entry, invalidation/stop level, target and risk/reward from user-defined assumptions.
The UI should describe technical signals probabilistically rather than treating them as guaranteed forecasts.
- Dividend research
FEAT-007 — Dividend Portfolio Analyzer
For each security display:
Dividend yield
Annual dividend
Payment frequency
Ex-dividend date
Payout ratio
FCF payout ratio
Consecutive growth history
3/5/10-year dividend CAGR where available
Dividend cuts
Balance-sheet context
Portfolio analytics:
Weighted yield
Estimated annual income
Estimated monthly/quarterly income
Sector diversification
Dividend concentration
Add DRIP simulator with:
Initial investment
Contributions
Dividend growth assumption
Price-growth assumption
Reinvestment toggle
Projection horizon
Generate 5/10/20-year scenarios.
Any internal dividend-safety metric must expose the factors behind the result rather than present an unexplained score.
- Competitive intelligence
FEAT-008 — Competitive Landscape
User selects company or industry.
Identify an appropriate peer set and compare:
Metric Company Peer A Peer B Peer C
Market cap
Revenue
Revenue growth
Gross margin
Operating margin
FCF margin
ROIC
R&D
Valuation
Analyze competitive dimensions such as:
Brand
Cost position
Switching costs
Network effects
Scale
Distribution
IP
Regulation
Ecosystem
Where reliable data exists, show three-year market-share trends.
Provide sourced discussion of:
Innovation pipeline
Capital allocation
Industry threats
Company-specific risks
Potential catalysts
Avoid invented market-share figures when reliable data isn't available.
- Quantitative pattern research
FEAT-009 — Quant Pattern Finder
User chooses security and analysis period.
Calculate historical:
Monthly returns
Day-of-week returns
Volatility
Drawdowns
Win rate
Return distribution
Autocorrelation
Relative performance
Seasonality report should show:
Period | Observations | Mean | Median | Win rate | Statistical significance
Event studies:
Earnings
CPI
Central-bank decisions
Other supported market events
Analyze returns around configurable windows such as:
T−5 → T+5
Additional datasets, where available:
Insider transactions
Institutional ownership
Short interest
Options activity
Important requirement: display sample size and statistical significance so random historical noise isn't described as a trading edge.
- Macro intelligence
FEAT-010 — Macro Impact Dashboard
Track:
Policy rates
Yield curve
Inflation
GDP
Unemployment
Payrolls
Consumer spending
PMIs
Credit spreads
Dollar index
Oil
Major market indexes
Provide historical charts and changes over relevant periods.
Create a macro-to-portfolio exposure map:
Macro factor → affected holdings → mechanism → sensitivity → scenario impact
Support scenarios such as:
Higher-for-longer rates
Rate-cut cycle
Inflation resurgence
Recession
Soft landing
Dollar strengthening
Commodity shock
Separate observed economic data from AI-generated scenario analysis.
- Cross-cutting features
FEAT-011 — Watchlists
Users can create multiple watchlists, add/remove securities and display price movement, valuation, earnings date and selected alerts.
FEAT-012 — Portfolio management
Support multiple portfolios, transaction/position entry, cost basis, cash and benchmarks.
FEAT-013 — Research reports
Any analysis can be saved as a report.
Report records should preserve the data snapshot and assumptions used at generation time, so historical reports don't silently change when live data changes.
Exports:
XLSX/CSV where appropriate
FEAT-014 — Sources & provenance
Every important externally sourced metric should retain:
provider + source + as-of timestamp
AI-generated conclusions should have access to the source material behind them.
FEAT-015 — Alerts
Support alerts for:
Price
Earnings
Valuation
Dividend changes
Technical events
Portfolio concentration
Macro releases
- AI research layer
AI-001 — Research orchestration
Use AI for interpretation and synthesis, while dedicated services perform calculations.
Architecture:
User → UI → Research Orchestrator → Data Services → Analytics Engines → AI Interpretation → Report
The model should receive structured calculated results rather than being asked to calculate complex financial models from prose.
AI-002 — Grounding
Every generated analysis receives:
Security metadata
Market data
Financial statements
Calculated metrics
Relevant filings
Relevant macro data
User assumptions
AI must explicitly represent missing information rather than manufacture it.
- Data architecture
Core entities:
User
InvestorProfile
Security
Company
MarketPrice
FinancialStatement
FinancialMetric
Estimate
EarningsEvent
Dividend
OwnershipRecord
InsiderTransaction
OptionSnapshot
MacroSeries
Portfolio
Position
Transaction
Watchlist
Alert
ResearchReport
AnalysisRun
Scenario
DataSource
Every time-sensitive financial record should contain:
source
as_of
retrieved_at
currency
- Technical architecture
Recommended stack:
Frontend
Next.js + TypeScript
React
Tailwind
Trading/chart library
API
Python + FastAPI
Analytics
Pandas
NumPy
SciPy
statsmodels
Database
PostgreSQL
Cache
Redis
Jobs
Background worker / queue
AI
LLM research orchestration
Storage
Object storage for reports
Authentication
OAuth/OIDC
Financial data providers should sit behind a provider abstraction so the application isn't locked to one vendor.
- Non-functional requirements
Performance: cached company pages <2s target; long research jobs asynchronous with visible status.
Auditability: store model version, source snapshot, assumptions and calculation version for generated research.
Security: encrypted transport/storage, no secrets in client code, server-side API credentials, user-level portfolio isolation.
Accessibility: keyboard navigation, accessible tables/charts and WCAG-oriented UI.
Responsive design: desktop optimized, tablet supported, core monitoring functionality usable on mobile.
- MVP boundary
The first shippable release should implement the platform shell plus Stock Screener, Company Overview, DCF, Earnings, Technical Analysis, Portfolio Builder, Portfolio Risk, Watchlists, Reports and data provenance.
Dividend, Quant Pattern, Competitive Landscape and advanced Macro functionality can then build on the same security, market-data and analytics infrastructure.
The key architectural constraint is that we should build the financial data/analytics foundation once. Otherwise these ten features turn into ten independent AI prompts, which would be much less reliable and considerably harder to maintain.
Activity