Finance Mifid Compliance
Verifiedby Dryade
Requires enterprise tier subscription
Description
MiFID II regulatory compliance checker for investment firms: suitability assessments, best execution analysis, transaction reporting validation, and cost disclosure verification
Screenshots
Details
Finance MiFID II Compliance Checker
Tier: Enterprise | Type: Tool | Category: Finance | Version: 1.0.0
Automated MiFID II compliance validation for investment firms. Checks client suitability assessments, best execution obligations, transaction reporting completeness, and cost disclosure requirements against EU regulatory standards.
1. Overview
Plugin Name: Finance MiFID II Compliance Checker Slug: finance-mifid-compliance Required Tier: enterprise Plugin Type: tool (REST API endpoints) Category: Finance / Regulatory Compliance Author: Dryade License: DSUL
What It Does
Validates investment firm operations against MiFID II (Markets in Financial Instruments Directive) requirements. Performs automated compliance checks on suitability assessments, best execution policies, transaction reports, and cost disclosures, identifying gaps and generating remediation recommendations.
Key Capabilities
- Client suitability assessment validation (Article 25)
- Best execution analysis with RTS 27/28 scoring
- Transaction reporting field validation (MiFIR)
- Ex-ante and ex-post cost disclosure verification (Article 24)
- Compliance gap identification with remediation priority
2. User Stories
Primary User Stories
US-1: Pre-Trade Suitability Check
As a compliance officer, I want to validate that proposed instruments match client risk profiles so that I can prevent unsuitable recommendations.
Acceptance Criteria:
- [ ] System flags derivatives for conservative clients
- [ ] System flags complex instruments for retail clients
- [ ] Findings include specific MiFID II article references
US-2: Quarterly Best Execution Review
As a head of trading, I want to analyze execution venue performance so that I can demonstrate best execution compliance.
Acceptance Criteria:
- [ ] Venue rankings by execution quality metrics
- [ ] Concentration risk warnings
- [ ] RTS 28 compliance score
Edge Cases
- Missing client data: Returns findings with documentation category warnings
- Unknown instrument types: Treated as complex (conservative approach)
3. Architecture
Component Diagram
+------------------+ +------------------+ +------------------+
| Plugin Router | --> | Compliance Rules | --> | Data Provider |
| /finance-mifid | | routes.py | | (mock / real) |
+------------------+ +------------------+ +------------------+
|
+-----v------+
| Demo Data |
| data/*.json|
+------------+
Components
| Component | File | Responsibility |
|-----------|------|----------------|
| Router | routes.py | API endpoints, request validation |
| Plugin | plugin.py | Lifecycle, config, data loading |
| Data | data/ | Demo compliance datasets |
Dependencies
- Internal: core.plugins.PluginProtocol, core.plugin_config_store.PluginConfigStore
- External: None (all rules embedded)
- Plugin: None
4. API Spec / Agent Capabilities
REST Endpoints
| Method | Path | Description | Auth |
|--------|------|-------------|------|
| POST | /check-suitability | Validate client suitability assessment | Yes |
| POST | /analyze-best-execution | Analyze best execution obligations | Yes |
| POST | /validate-transaction-report | Validate transaction report fields | Yes |
| POST | /verify-cost-disclosure | Verify cost disclosure completeness | Yes |
| GET | /status | Health check | No |
Request/Response Examples
Check Suitability
// Request
{
"client_id": "CLT-001",
"risk_profile": "conservative",
"investment_objectives": ["preservation"],
"knowledge_level": "retail",
"proposed_instruments": ["derivative"]
}
// Response
{
"success": true,
"client_id": "CLT-001",
"compliant": false,
"score": 0.55,
"findings": [
{
"rule_id": "MIFID-SUIT-001",
"severity": "critical",
"category": "suitability",
"description": "Derivative instruments proposed for conservative risk profile client",
"remediation": "Review instrument selection per Article 25(2)"
}
]
}
5. Data Flow
Processing Pipeline
1. User request arrives at plugin router
2. Request validated against Pydantic models
3. Mock compliance rules applied to input data
4. Findings generated with severity and remediation
5. Structured response returned with compliance score
Data Sources
| Source | Type | Format | Update Frequency | |--------|------|--------|-----------------| | Suitability rules | embedded | Python | Per release | | Demo assessments | mock | JSON | Static |
Demo Data Description
The data/ directory contains:
sample_suitability_assessment.json: Client risk profiling with instrument checks (1 assessment)sample_best_execution_report.json: Venue analysis with RTS 28 scoring (5 venues)sample_transaction_report.json: MiFIR transaction records (4 transactions)sample_cost_disclosure.json: Ex-ante cost breakdown (6 categories)sample_compliance_gaps.json: Full MiFID II audit gap analysis (5 categories)
Total: 5 demo files covering all MiFID II compliance domains.
6. Security Considerations
Data Handling
- PII: Yes - Client IDs, LEI codes, advisor IDs in transaction data
- Encryption: Plugin does not store data; relies on core encryption
- Data Retention: No persistent storage; all data is request-scoped
External API Keys
| Key | Environment Variable | Required | Purpose | |-----|---------------------|----------|---------| | None | N/A | No | No external APIs in mock mode |
Isolation
- Plugin runs in sandboxed context via core plugin loader
- No direct database access -- uses core API only
- All compliance rules are stateless and deterministic
Threat Model
- Malformed input: Pydantic validation rejects invalid requests
- Rule bypass: All checks are server-side, no client-side validation
7. Test Plan
Test Classes
| Class | Tests | Coverage Target |
|-------|-------|----------------|
| TestPluginAttributes | Manifest consistency | 100% manifest fields |
| TestPluginRouter | Endpoint mounting, responses | All 5 routes |
| TestPluginConfig | Config schema, mock/real toggle | Config validation |
| TestDemoData | Data presence, loadability | All 5 data files |
| TestMarketplace | Marketplace metadata | Slug, category, fields |
Running Tests
cd dryade-plugins
python -m pytest enterprise/finance_mifid_compliance/tests/ -x -v --tb=short
Coverage Target
- Minimum: 80% line coverage
- Critical paths: 100% (suitability rules, field validation)
8. Deployment Notes
Requirements
No additional Python packages required beyond core dependencies.
Environment Variables
| Variable | Required | Default | Description | |----------|----------|---------|-------------| | None | No | N/A | No environment variables needed |
Configuration
Default plugin configuration (set via plugin settings UI or API):
{
"data_source": "mock"
}
Compatibility
- Min Dryade Version: 1.0.0
- Python: >=3.11
- Notes: All compliance rules embedded; no external API dependencies
9. User Guide
Getting Started
- Ensure your Dryade instance has an enterprise tier license
- Install the plugin via the marketplace or
dryade-pm push - Navigate to Plugins > Finance MiFID II Compliance in the workbench
- Use the API endpoints to validate compliance data
Common Workflows
Workflow 1: Pre-Trade Suitability Check
- Submit client profile and proposed instruments to
/check-suitability - Review findings for critical/high severity issues
- Address remediation items before proceeding with trade
Workflow 2: Quarterly Best Execution Review
- Submit venue execution data to
/analyze-best-execution - Review RTS 28 compliance score and venue rankings
- Document findings for regulatory reporting
FAQ
Q: Does this replace a compliance management system? A: No. This plugin automates specific MiFID II checks. It complements existing compliance systems by providing automated validation.
Q: Can I customize the compliance rules? A: In mock mode, rules are embedded. In real mode, you can configure rule thresholds via the plugin config API.
10. Screenshots
Screenshots will be added when UI components are available.
| # | Description | Path |
|---|-------------|------|
| 1 | Suitability check results | screenshots/suitability.png |
| 2 | Best execution analysis | screenshots/best-execution.png |
11. Changelog
1.0.0 (2026-03-05)
- Initial release
- Suitability assessment validation with 4 compliance rules
- Best execution analysis with RTS 28 scoring
- Transaction reporting field validation
- Cost disclosure completeness checking
- 5 demo data files covering all MiFID II domains
Future Roadmap
- [ ] Real-time compliance monitoring integration
- [ ] Automated RTS 28 report generation
- [ ] Multi-jurisdiction support (UK MiFID adaptation)
- [ ] Historical compliance trend analysis
Requires enterprise tier subscription