Finance Portfolio Analyzer
Verifiedby Dryade
Requires team tier subscription
Description
Portfolio composition analysis with asset allocation, sector exposure, ESG scoring, and rebalancing recommendations
Screenshots
Details
Finance Portfolio Analyzer
Tier: Team | Type: Tool | Category: Finance | Version: 1.0.0
Portfolio composition analysis with asset allocation breakdown, ESG scoring under EU SFDR, concentration monitoring, and rebalancing recommendations against target allocation profiles.
1. Overview
Plugin Name: Finance Portfolio Analyzer Slug: finance-portfolio-analyzer Required Tier: team Plugin Type: tool (REST API endpoints) Category: Finance Author: Dryade License: DSUL
What It Does
Analyzes portfolio composition across multiple dimensions: asset class allocation, sector exposure, geographic distribution, and ESG scores. Provides SFDR-compliant classification and generates rebalancing recommendations against target profiles (conservative, balanced, growth, aggressive).
Key Capabilities
- Asset allocation breakdown by class, sector, or geography
- ESG scoring with E/S/G sub-scores and SFDR classification (Article 6/8/9)
- Concentration analysis using Herfindahl-Hirschman Index (HHI)
- Rebalancing recommendations with trade list and estimated costs
- Support for 4 target allocation profiles
2. User Stories
Primary User Stories
US-1: Quarterly Portfolio Review
As a portfolio manager, I want to see my portfolio's allocation breakdown and ESG scores so that I can present compliance data to clients.
Acceptance Criteria:
- [ ] Allocation grouped by asset class, sector, or geography
- [ ] ESG scores at position and portfolio level
- [ ] SFDR classification determined automatically
US-2: Rebalancing Execution
As a portfolio manager, I want rebalancing recommendations against my target profile so that I can maintain the intended risk/return balance.
Acceptance Criteria:
- [ ] Trades required listed with amounts and direction
- [ ] Estimated transaction costs calculated
- [ ] Current vs target allocation comparison
Edge Cases
- Unknown target profile: Returns success=false with descriptive message
- Single-position portfolio: HHI correctly shows maximum concentration
- All cash portfolio: Returns valid allocation with 100% cash
3. Architecture
Component Diagram
+------------------+ +------------------+ +------------------+
| Plugin Router | --> | Analyzer Engine | --> | Data Provider |
| /finance- | | routes.py | | (mock / real) |
| portfolio- | | Alloc, ESG, | +------------------+
| analyzer/* | | Rebalance | |
+------------------+ +------------------+ +------v------+
| Demo Data |
| data/*.json|
+-------------+
Dependencies
- Internal: core.plugins.PluginProtocol, core.plugin_config_store.PluginConfigStore
- External: None (standard library only in mock mode)
- Plugin: None
4. API Spec
REST Endpoints
| Method | Path | Description | Auth |
|--------|------|-------------|------|
| POST | /api/plugins/finance-portfolio-analyzer/allocation | Allocation breakdown | Yes |
| POST | /api/plugins/finance-portfolio-analyzer/esg | ESG analysis | Yes |
| POST | /api/plugins/finance-portfolio-analyzer/rebalance | Rebalancing recommendations | Yes |
| GET | /api/plugins/finance-portfolio-analyzer/profiles | List target profiles | No |
| GET | /api/plugins/finance-portfolio-analyzer/status | Health check | No |
5. Data Flow
Processing Pipeline
1. Request arrives with portfolio ID and analysis parameters
2. Mock mode loads portfolio holdings and reference data from data/
3. Analyzer engine computes allocation / ESG / rebalance
4. Results formatted with position-level breakdown
5. Response returned with success status and computed values
Demo Data Description
The data/ directory contains:
portfolio_holdings.json: 10-position ESG-focused EUR portfolio (EUR 1.05M)esg_scores.json: E/S/G scores for all positions (0-100 scale)target_allocations.json: 4 profiles (conservative, balanced, growth, aggressive)sector_benchmarks.json: EURO STOXX 50 sector and geographic weightssfdr_methodology.json: SFDR classification rules and PAI indicators
Total: 5 demo files covering portfolio analysis, ESG, and rebalancing.
6. Security Considerations
- PII: No - demo data uses fictional portfolio only
- Encryption: N/A in mock mode
- Data Retention: Stateless request/response
7. Test Plan
Test Classes
| Class | Tests | Coverage Target |
|-------|-------|----------------|
| TestPluginAttributes | 6 | 100% manifest fields |
| TestPluginRouter | 7 | All routes |
| TestPluginConfig | 2 | Config validation |
| TestDemoData | 8 | All data files |
Running Tests
cd dryade-plugins
python -m pytest team/finance_portfolio_analyzer/tests/ -x -v --tb=short
8. Deployment Notes
Configuration
{
"data_source": "mock"
}
- Min Dryade Version: 1.0.0
- Python: >=3.11
9. User Guide
Getting Started
- Ensure your Dryade instance has a team tier license or higher
- Install the plugin via the marketplace or
dryade-pm push - Call
/allocationto analyze your portfolio composition - Use
/esgfor ESG scoring and SFDR classification - Use
/rebalanceto get trade recommendations
Common Workflows
Workflow 1: Quarterly ESG Report
- POST to
/esgto get portfolio ESG scores and SFDR classification - POST to
/allocationwithgroup_by: "sector"for sector breakdown - Use results for client ESG disclosure documents
Workflow 2: Rebalancing
- POST to
/allocationto see current allocation - POST to
/rebalancewith target profile - Execute recommended trades
10. Screenshots
Screenshots will be added after UI integration.
11. Changelog
1.0.0 (2026-03-05)
- Initial release
- Allocation breakdown engine (4 grouping dimensions)
- ESG scoring with SFDR classification
- Rebalancing against 4 target profiles
- HHI concentration analysis
Future Roadmap
- [ ] Real-time ESG data feed integration
- [ ] Custom target allocation builder
- [ ] SFDR PAI indicator calculation
- [ ] Multi-portfolio comparison
- [ ] Carbon footprint tracking
Requires team tier subscription