FinWiz Output Standards
Standards for all reports and outputs generated by FinWiz agents, ensuring professional, consistent, and well-structured deliverables.
General Principles
Primary output is a comprehensive HTML report that is:
- •Well-structured and easy to read
- •Contains all necessary information for decision-making
- •Professional and consistent across all reports
Critical Rules
❌ DO NOT
- •Return raw API responses as task result
- •Include placeholder text like 'TODO' or 'TBD'
- •Include debugging information or error traces
- •Create malformed or incomplete HTML
- •Mix languages within the same report
✅ ALWAYS
- •Ensure output is single, complete, well-formed HTML document
- •Use UTF-8 encoding for emoji and French character support
- •Validate HTML structure before returning
- •Include proper metadata and styling
- •Use French for all user-facing content
HTML Structure Requirements
Required Document Structure
html
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Rapport FinWiz - [Asset Name]</title>
<style>
/* Professional CSS styling */
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
background-color: #f5f5f5;
}
h1 { color: #2c3e50; border-bottom: 3px solid #3498db; }
.grade-a-plus { color: #27ae60; font-weight: bold; }
.grade-d { color: #e74c3c; }
</style>
</head>
<body>
<h1>📊 Rapport d'Analyse FinWiz</h1>
<p><strong>Date:</strong> 2025-03-10</p>
<p><strong>Actif:</strong> Apple Inc. (AAPL)</p>
<!-- Content sections -->
</body>
</html>
Content Structure Requirements
- •Proper heading hierarchy (h1-h6)
- •Semantic elements (sections, tables, lists)
- •Clear title and publication date
- •Tables for comparative data
- •Lists for sequential information
- •Emphasis (bold/italic) for important points
Prohibited Elements
- •Raw JSON data or API responses
- •Debugging information or stack traces
- •Placeholder text or TODOs
- •Unclosed or malformed HTML tags
- •Mixed language content
Strategic Emoji Usage
Use emojis strategically to enhance readability and highlight key information:
| Emoji | Usage | Example |
|---|---|---|
| 📈 | Growth trends, positive performance | "📈 Croissance de 25% sur 12 mois" |
| 📉 | Decline trends, negative performance | "📉 Baisse de 15% ce trimestre" |
| 🔍 | Analysis insights, detailed examination | "🔍 Analyse technique approfondie" |
| 🚀 | High-growth potential, opportunities | "🚀 Potentiel de croissance élevé" |
| ⚠️ | Risk indicators, warnings | "⚠️ Risque de volatilité élevée" |
| 💰 | Financial metrics, monetary values | "💰 Revenus: 365M€" |
| 📊 | Data visualization, statistics | "📊 Métriques de performance" |
| ✅ | Positive recommendation, approval | "✅ Recommandation: ACHETER" |
| ❌ | Negative recommendation, rejection | "❌ Recommandation: VENDRE" |
| 🎯 | Target prices, goals | "🎯 Prix cible: 180€" |
| 💎 | A+ opportunities, exceptional quality | "💎 Opportunité A+ identifiée" |
French Language Standards
Required French Output
All user-facing content must be in French with:
- •Professional financial terminology
- •Clear, actionable recommendations
- •Proper accents and special characters
- •Consistent vocabulary throughout
Standard Financial Terms
| English | French | Usage |
|---|---|---|
| Recommendation | Recommandation | "Recommandation: ACHETER" |
| Buy | Acheter | "Recommandation d'achat" |
| Hold/Keep | Conserver | "Conserver en portefeuille" |
| Sell | Vendre | "Recommandation de vente" |
| Risk | Risque | "Évaluation des risques" |
| Return | Rendement | "Rendement annualisé" |
| Portfolio | Portefeuille | "Analyse de portefeuille" |
| Analysis | Analyse | "Analyse fondamentale" |
| Opportunity | Opportunité | "Opportunité d'investissement" |
Standard Report Structure
Required Sections
- •
Résumé Exécutif (Executive Summary)
- •Key findings and main conclusions
- •Primary recommendation with rationale
- •Risk highlights and considerations
- •
Analyse Détaillée (Detailed Analysis)
- •Fundamental analysis with metrics
- •Technical analysis with indicators
- •Risk assessment with scoring
- •
Recommandations (Recommendations)
- •Specific actionable recommendations
- •Price targets with timeframes
- •Implementation timeline
- •
Sources de Données (Data Sources)
- •Citations with URLs when available
- •As-of dates for all data points
- •Confidence levels and limitations
Example Report Structure
html
<section>
<h2>📋 Résumé Exécutif</h2>
<p class="grade-a-plus">✅ <strong>ACHETER</strong> - Grade A+</p>
<p>Prix cible: 180,00 € (+20% de potentiel)</p>
<p>Horizon: 12 mois</p>
</section>
<section>
<h2>📊 Analyse Détaillée</h2>
<h3>Analyse Fondamentale</h3>
<table>
<tr><th>Métrique</th><th>Valeur</th><th>Évaluation</th></tr>
<tr><td>P/E Ratio</td><td>25.4</td><td>Raisonnable</td></tr>
</table>
</section>
<section>
<h2>🎯 Recommandations</h2>
<ul>
<li><strong>Action immédiate:</strong> Acheter jusqu'à 150€</li>
<li><strong>Objectif:</strong> Prix cible 180€ d'ici 12 mois</li>
<li><strong>Stop-loss:</strong> 130€ (-13%)</li>
</ul>
</section>
Final Reporter Pattern
Agent Configuration
python
@final_reporter # Enforces empty tools list
@agent
def investment_reporter(self) -> Agent:
return Agent(
config=self.agents_config['investment_reporter'],
tools=[], # MUST be empty - no external API calls
reasoning=False, # Fast consolidation, no complex reasoning
verbose=True
)
Implementation Pattern
python
@task
def generate_final_report(self) -> Task:
return Task(
description="""
Consolidate all analysis findings into a comprehensive French HTML report.
CRITICAL REQUIREMENTS:
- Output MUST be complete, well-formed HTML
- Use French for all user-facing content
- Include strategic emoji usage for key points
- Follow standard report structure (Résumé, Analyse, Recommandations)
- NO raw data, debugging info, or placeholders
""",
expected_output="Complete HTML report in French with professional formatting",
agent=self.investment_reporter(),
async_execution=False # Final task must be synchronous
)
Quality Assurance Checklist
Before returning any HTML output:
- • HTML Validation: Well-formed with correct structure
- • UTF-8 Encoding: Supports emojis and French characters
- • Completeness: All required sections present
- • Accuracy: All data verified (tickers, figures, dates)
- • French Language: All user-facing text in French
- • No Placeholders: No TODO, TBD, or debugging text
- • Professional Formatting: Clean, readable layout
- • Strategic Emojis: Used appropriately, not excessively
- • Data Sources: All sources cited with dates
- • Actionable Content: Clear recommendations provided
CSS Styling Standards
Professional Styling Template
css
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
background-color: #f5f5f5;
}
h1 {
color: #2c3e50;
border-bottom: 3px solid #3498db;
padding-bottom: 10px;
}
h2 {
color: #34495e;
margin-top: 30px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
background-color: white;
}
th {
background-color: #3498db;
color: white;
padding: 12px;
text-align: left;
}
td {
padding: 10px;
border-bottom: 1px solid #ddd;
}
.grade-a-plus { color: #27ae60; font-weight: bold; }
.grade-a { color: #2ecc71; }
.grade-b { color: #f39c12; }
.grade-c { color: #e67e22; }
.grade-d { color: #e74c3c; }
.grade-f { color: #c0392b; font-weight: bold; }
Remember: The output is the product. A well-formatted, professional report reflects the quality of the entire FinWiz analysis.