mohamedfrancissahi/brvm-cours-actions-2015-2026
⌗ datasetCours quotidiens des 50 actions de la BRVM et des indices, 2015–2026, extraits des bulletins officiels.
license: CC BY 4.0 language:
- français tags:
- finance
- bourse
- BRVM
- UEMOA
- côte d'ivoire
- séries temporelles
- risque pretty_name: Cours quotidiens des actions de la BRVM (2015–2026)
Cours quotidiens des actions de la BRVM, 2015–2026
Chaque séance de la Bourse Régionale des Valeurs Mobilières (BRVM, Abidjan) depuis janvier 2015 : cours, volumes, dividendes et ratios des 50 sociétés cotées sur la période, plus les indices du marché. L'ensemble est extrait du Bulletin Officiel de la Cote (BOC), le PDF que la BRVM publie chaque jour.
Ces données sont publiques, mais elles étaient éparpillées dans environ 2 900 PDF. Ce dataset les réunit en tables propres, prêtes pour pandas, R ou Excel.
| Période | 2 janvier 2015 → 29 octobre 2026 |
| Séances | 2 935 |
| Lignes actions | 131 221 (une ligne par société et par séance) |
| Sociétés | 50 (35 ivoiriennes, et 15 du Sénégal, du Burkina Faso, du Bénin, du Togo, du Mali et du Niger) |
| Indices | 19 séries (BRVM Composite, BRVM 10/30, Prestige, Principal, indices sectoriels, Composite Total Return) |
| Source | BRVM, Bulletin Officiel de la Cote (brvm.org et l'archive bfin.brvm.org) |
Fichiers
brvm_cours_actions.csv (une ligne par société et par séance)
| Colonne | Description |
|---|---|
date | Date de la séance (AAAA-MM-JJ) |
ticker | Symbole BRVM (ex. SNTS, ORAC, SGBC) |
societe, pays, secteur_code | Nom, pays et secteur actuels (harmonisés sur toute la période, voir brvm_societes.csv) |
cours_precedent | Cours de clôture de la séance précédente, tel qu'imprimé (FCFA) |
ouverture, cloture | Cours d'ouverture et de clôture du jour (FCFA). Vides si le titre n'a pas été échangé (NC) ou s'il est suspendu (SP) |
cours_moyen | Cours moyen du jour (imprimé seulement de 2015 à 2017) |
cours_reference | Cours de référence pour la séance suivante. Toujours renseigné : c'est la série de prix à utiliser |
variation_jour_pct | Variation du jour, en %, telle que publiée |
volume | Nombre de titres échangés |
valeur_fcfa | Montant échangé (FCFA) |
variation_annuelle_pct | Variation depuis le début de l'année, en % |
plus_bas_annuel, plus_haut_annuel | Fourchette annuelle (2015–2017 uniquement) |
dividende_net, dividende_date | Dernier dividende net payé (FCFA par action) et sa date |
rendement_net_pct, per | Rendement net et PER publiés (absents certaines années) |
compartiment | Compartiment de cotation (2015–2017) |
mention | Mentions du bulletin : NC non coté, SP suspendu, d ou Ex-c ex-dividende/coupon, Ex-d ex-droit, Val-T valeur théorique… (plusieurs séparées par ;) |
nom_bulletin, secteur_bulletin, section_bulletin | Libellés bruts imprimés ce jour-là (le nom, la classification sectorielle et le compartiment ont changé au fil des années) |
source | Nom du PDF d'origine |
brvm_societes.csv
Une ligne par ticker : nom actuel, pays, secteur (classification BRVM actuelle), première et dernière séance, nombre de séances et nombre de séances avec échanges.
brvm_indices.csv
Une ligne par indice et par séance : valeur, puis, quand le bulletin les publie, variation_jour_pct,
variation_annuelle_pct, nb_societes, volume, valeur_echangee et per_moyen.
Le BRVM Composite est présent les 2 935 jours. Les indices sectoriels changent de nomenclature
en 2024 (ancienne : Agriculture, Distribution, Finances, Industrie, Services publics, Transport,
Autres ; nouvelle : Consommation de base, Consommation discrétionnaire, Énergie, Industriels,
Services financiers, Services publics, Télécommunications). Pour 2015–2017, seuls le BRVM Composite et
le BRVM 10 sont extraits.
Méthode
- Téléchargement de tous les bulletins des jours ouvrés depuis 2015 sur
brvm.org, complétés par
l'archive - Extraction des positions de caractères dans les PDF (PDFKit), puis découpage des tableaux par colonnes. Chaque colonne est identifiée par son en-tête, ce qui permet de suivre les trois mises en page successives du bulletin (2015–2017, 2018–2022, 2023 et après).
- Contrôles automatiques :
- nombre de sociétés : sur les 2 208 bulletins qui impriment le « nombre de sociétés cotées », le nombre de lignes extraites correspond dans 100 % des cas ;
- montant ÷ volume compris entre les cours du jour : 111 397 lignes contrôlées, aucun écart ;
- variation publiée comparée à la variation recalculée, et cours précédent comparé à la référence de la veille : les écarts restants (moins de 0,5 %) correspondent à de vrais événements de marché (détachements de dividende, divisions d'actions, suspensions), listés dans
- contrôle croisé externe avec les séries de sikafinance.com pour 8 valeurs (20 623 rendements journaliers comparés) : 99,5 % d'accord. Les écarts restants viennent de jours où la série sikafinance est en retard d'une séance ; le bulletin officiel fait foi.
- Date imprimée et numéro du bulletin vérifiés pour chaque fichier. Un doublon a été écarté (le fichier du 29/10/2020 reproduit celui du 28).
bfin.brvm.org quand un fichier manque.
controles_qualite.csv ;
Limites connues
- Prix non ajustés. Les cours sont ceux publiés, sans correction pour les divisions d'actions ni pour les dividendes. Exemples de divisions : SONATEL 1:10 en octobre 2026, Vivo Energy CI 1:20 en 2016, Bernabé 1:20 en 2017, Onatel 1:2 en 2018, SMB 1:4 en 2019. Avant de calculer des rendements, repérer les sauts où
- Bulletins absents. Environ 150 jours ouvrés n'ont pas de bulletin : ce sont pour l'essentiel des jours fériés. D'après la numérotation, 15 bulletins sont réellement introuvables (2015-04-16, 2015-06-24, 6 en août 2015, 2017-07-26, 2022-12-08, 2024-04-15, 4 début décembre 2024).
- Données publiées telles quelles, coquilles comprises (exemple : variation de +116,22 % imprimée pour Vivo Energy le 30/12/2016). Le 16/11/2017, la colonne « variation du jour » est illisible dans le PDF et reste vide.
- Les obligations (titres d'État de l'UEMOA, etc.) figurent aussi dans le bulletin, mais **ne sont pas encore** dans ce dataset. Elles sont prévues pour la prochaine version.
cours_precedent ≠ cours_reference de la veille.
Licence et attribution
Les données de marché sont des faits publiés par la BRVM. Cette compilation est diffusée sous CC BY 4.0. Merci de citer :
Source : Bourse Régionale des Valeurs Mobilières (BRVM), Bulletin Officiel de la Cote ; compilation Mohamed Francis Sahi GONSANGBEU, dataset « Cours quotidiens des actions de la BRVM 2015–2026 ».
Ce dataset est indépendant et n'est ni affilié à la BRVM ni approuvé par elle. Les PDF d'origine ne sont pas redistribués. Ces données ne constituent pas un conseil en investissement.
Exemple
import pandas as pd
df = pd.read_csv("brvm_cours_actions.csv", parse_dates=["date"])
sonatel = df[df.ticker == "SNTS"].set_index("date")["cours_reference"]