Finance Risk Dashboard
Verifiedby Dryade
Requires team tier subscription
Description
Portfolio risk analysis with VaR calculations, stress testing scenarios, and risk-adjusted performance metrics
Screenshots
Details
Finance Risk Dashboard
Tier: Team | Type: Tool | Category: Finance | Version: 1.0.0
Portfolio risk analysis with Value-at-Risk calculations, stress testing scenarios, and risk-adjusted performance metrics. Designed for investment teams managing balanced portfolios with European securities.
1. Overview
Plugin Name: Finance Risk Dashboard Slug: finance-risk-dashboard Required Tier: team Plugin Type: tool (REST API endpoints) Category: Finance Author: Dryade License: DSUL
What It Does
Provides comprehensive portfolio risk analytics including parametric VaR, historical stress testing against crisis scenarios, and risk-adjusted performance metrics (Sharpe, Sortino, alpha, beta). Extends the enterprise/finance plugin with structured risk modeling capabilities.
Key Capabilities
- Value-at-Risk calculation (parametric method, configurable confidence and horizon)
- Stress testing with 4 predefined scenarios (market crash, rate hike, credit crisis, sector rotation)
- Risk-adjusted metrics: Sharpe ratio, Sortino ratio, max drawdown, beta, alpha
- Risk summary with overall risk score and top risk contributors
- Risk limit monitoring with breach and warning detection
2. User Stories
Primary User Stories
US-1: Daily Risk Monitoring
As a portfolio manager, I want to see my portfolio's VaR and risk summary so that I can make informed allocation decisions.
Acceptance Criteria:
- [ ] VaR calculated at 95% and 99% confidence levels
- [ ] Risk score and level (low/medium/high) clearly displayed
- [ ] Top risk contributing positions identified
US-2: Stress Test Scenarios
As a risk analyst, I want to run stress tests against historical crisis scenarios so that I can assess portfolio resilience.
Acceptance Criteria:
- [ ] Multiple predefined scenarios available
- [ ] Per-position impact breakdown
- [ ] Overall portfolio impact in absolute and percentage terms
Edge Cases
- Unknown scenario name: Returns clear error with list of available scenarios
- Empty portfolio: Returns success=false with descriptive message
- Extreme confidence levels: Clamped to valid z-score range
3. Architecture
Component Diagram
+------------------+ +------------------+ +------------------+
| Plugin Router | --> | Risk Engine | --> | Data Provider |
| /finance-risk- | | routes.py | | (mock / real) |
| dashboard/* | | VaR, Stress, | +------------------+
+------------------+ | Metrics | |
+------------------+ +------v------+
| Demo Data |
| data/*.json|
+-------------+
Dependencies
- Internal: core.plugins.PluginProtocol, core.plugin_config_store.PluginConfigStore
- External: None (uses standard library math for calculations)
- Plugin: None
4. API Spec
REST Endpoints
| Method | Path | Description | Auth |
|--------|------|-------------|------|
| POST | /api/plugins/finance-risk-dashboard/var | Calculate Value-at-Risk | Yes |
| POST | /api/plugins/finance-risk-dashboard/stress-test | Run stress test scenario | Yes |
| POST | /api/plugins/finance-risk-dashboard/metrics | Risk-adjusted metrics | Yes |
| GET | /api/plugins/finance-risk-dashboard/summary | Overall risk summary | Yes |
| GET | /api/plugins/finance-risk-dashboard/scenarios | List available scenarios | No |
| GET | /api/plugins/finance-risk-dashboard/status | Health check | No |
5. Data Flow
Processing Pipeline
1. Request arrives with portfolio ID, parameters
2. Mock mode loads portfolio holdings and returns from data/
3. Risk engine computes VaR / stress impact / metrics
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: 12-position balanced EUR portfolio (EUR 1M)historical_returns.json: 24 daily returns for VaR calculationstress_scenarios.json: 4 crisis scenarios with asset class shocksperformance_metrics.json: Pre-computed metrics for 5 periodsrisk_limits.json: Portfolio risk limits and current usage
Total: 5 demo files with realistic European portfolio data.
6. Security Considerations
- PII: No - demo data uses fictional portfolio only
- Encryption: N/A in mock mode
- Data Retention: Stateless request/response, no data persisted
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_risk_dashboard/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
/varto calculate your portfolio's Value-at-Risk - Use
/stress-testto assess impact of market scenarios
10. Screenshots
Screenshots will be added after UI integration.
11. Changelog
1.0.0 (2026-03-05)
- Initial release
- Parametric VaR calculation engine
- 4 stress test scenarios
- Risk-adjusted performance metrics (5 periods)
- Risk summary with scoring
Future Roadmap
- [ ] Monte Carlo VaR simulation
- [ ] Custom stress test scenario builder
- [ ] Historical scenario backtesting
- [ ] Real-time market data integration
Requires team tier subscription