BourseTrack — Analyse Financière et Tendance des Actions


Projet de Collecte automatisée de données web (SAÉ 3.VCOD.01), visant à analyser et rapporter les performances boursières sur les **100 derniers jours** pour les titres majeurs.

Python Alpha Vantage API News API SQLite Matplotlib/Seaborn
Capture d'écran du rapport financier HTML généré par le script Python BourseTrack.

Extrait du rapport HTML final (Tableau et Actualités)

Contexte et Objectifs (SAÉ)


Ce projet répond aux exigences de la SAÉ 3.VCOD.01 du Semestre 3, dont l'objectif est de développer une plateforme simple permettant le suivi des performances financières des entreprises sur les **100 derniers jours ouvrés**. L'analyse combine des indicateurs financiers précis et la contextualisation par les actualités pertinentes. L'approche technique repose sur l'utilisation de Python et l'orientée objet pour la collecte, le nettoyage et le stockage des données.

Indicateurs Clés Calculés :
  • Tendance Globale : Différence entre le prix moyen de clôture et d'ouverture.
  • Volatilité Moyenne : Moyenne des écarts entre les prix haut et bas.
  • Rendement Moyen Journalier : Moyenne des variations journalières en pourcentage.

Pipeline de Données et Architecture


Le traitement des données suit un pipeline rigoureux, garantissant la fiabilité et le respect des limites d'accès aux APIs :

  1. Extraction via APIs : Les données financières (prix d'ouverture/fermeture, volume) sont récupérées via l'API Alpha Vantage, et les actualités (titre, description, URL) via News API.
  2. Sauvegarde Locale (CSV) : Pour gérer les contraintes de requêtes (rate limiting), les informations collectées sont stockées dans des fichiers CSV distincts (ex: `symbole_financial.csv`).
  3. Nettoyage et Stockage (SQLite) : Après le nettoyage des données, celles-ci sont insérées dans une base de données relationnelle SQLite, en s'appuyant sur un Modèle Relationnel de Données (MLD). Des classes `GestionnaireBDD` et `GestionnaireFichier` assurent l'architecture orientée objet.
  4. Génération du Rapport HTML : Les données traitées, les indicateurs calculés et les actualités filtrées sont récupérés de la base de données via des requêtes SQL. Ces résultats sont ensuite utilisés pour générer le rapport final en HTML/CSS.

Rapport et Visualisations


Le résultat est un rapport HTML dynamique qui inclut :

Synthèse des Performances
  • Tableau Analytique : Présentation des indicateurs financiers avec une différenciation visuelle par CSS selon la tendance (positive/négative).
  • Visualisation des Volumes : Un graphique circulaire (Pie Chart) illustre la répartition du Volume total des échanges par entreprise, généré via Matplotlib/Seaborn.
Contextualisation
  • Actualités Filtrées : Seules les actualités des entreprises ayant une **Tendance Globale $\ge 0.15$ ou $\le -0.15$** sont affichées pour cibler les mouvements significatifs du marché.
  • Base de Données : La structure SQLite (tables `ENTREPRISE`, `FINANCIER`, `ACTUALITE`) garantit la persistance et l'intégrité des données.