Base de données accessible en Python

Bonjour à tous,

Me lançant dans l’aventure de bâtir un PEA full ETFs, j’aimerais orienter mon choix sur des données concrètes. Par exemple pour étudier la composition d’ETF je voudrais calculer sa zone de recouvrement et donc les répartitions par zone géographique, et par secteur d’acticité.

J’ai donc besoin de pouvoir automatiser, les calculs, et pour se faire j’ai choisi python. Mais il me faudrait des données :wink: J’ai trouvé la base etfdb mais qui ne couvre pas les ETFs français. Connaissez-vous des bases de données gratuites qui me permettrait de faire cela ?

Merci :wink:

Hello,

Tu peux « scraper » les données de certains ETF (peut être tous ? à confirmer) sur un site tel que quantalys, pour ensuite les utiliser pour tes calculs. Exemple avec un ETF pris au hasard : Amundi MSCI Europe Climate Action ETF D | LU2608817958 - Composition

Ca peut servir de bonne base pour commencer et récolter pas mal de données, et je pense qu’ils sont plutot à jour, mais à voir les limites en fonction du nombre d’ETF présents sur leur site.

Bonne aventure dans le dev de cet outil :wink:

Merci rakamonx, malheureusement tu ne peux avoir que les 10 premières lignes de la composition et qui ne représentent que 32.13% sur l’exemple que tu donnes.
Peut-être dois-je étudier les bases payantes sur une courte durée (1 mois) car ces informations ne doivent pas beaucoup varier (composition dont secteur et zone géogrphique)

La question reste donc entière :wink:

Non, tu peux télécharger toutes les positions et l’historique des prix en csv chez la plupart des sites des émetteurs d’ETF.

J’utilise l’historique des prix pour estimer les corrélations entre différents indices. Qu’est-ce que tu vas faire de ces données, en pratique ?

Je souhaite analyser la combinaison de plusieurs ETF : si je prends un MSCI World et un S&P 500, de nombreuses entreprises vont être présentes dans les 2 et donc « déséquilibrer » la répartition en fonction des priorités que je me serai fixées (ex Tech, énergie, % europe et % us …).
J’aurais donc besoin de faire un outil qui, pour un ensemble d’ETF, calcule le pourcentage total par secteurs d’activité, par actions présentes, et par zones géographiques. Pas besoin de + … pour l’instant

Hello @Mablungfr, je veux bien être au courant de tes avancées si tu arrives à trouver une solution ^^ Il faudrait pouvoir facilement trouver la composition complète de chaque ETF (pas juste le top 10), additionner les parts, éventuellement transformer en catégories/industries/etc, et sortir de jolis graphiques.

Même chose pour la géographie (l’exposition montrée sur Finary est juste administrative qui ne prend pas en compte les ventes internationales de chaque entreprise) et d’autres.

Je ne comprends pas pourquoi les compositions complètes ne sont pas une donnée commune…

C’est ce que je souhaite faire mais sans aller chercher individuellement les informations sur les sites des émetteurs. La constitution des ETF étant publique, il devrait y avoir une base de données quelque part

On parle de combien d’ETF ? et surtout de combien d’émetteurs ? S’il n’y vraiment rien, on devrait pouvoir se faire un petit serveur non ? Comme dit @vincent.p les CSV sont disponibles sur les sites d’Amundi et de iShares par exemple. On peut espérer qu’ils ont tous le même format pour un émetteur d’onnée. D’après justetf, ces deux emetteurs comptent pour plus d’un tiers du total (486+534 = 1020/2693). En rajoutant XTracker, on dépasse les 50% de couverture.

1 « J'aime »

@Mablungfr
Sur quelle format tu voudrais ta BDD ? Un csv ou un Excel qui compilerait les donnes ça irait ?

On pourrait mettre en place un repo GitHub où chacun viendrait déposer les fichiers brut des différents émetteurs.

Je peux arriver assez facilement a récupérer l’ensemble des fichiers du repo, appliquer un petit traitement pour tout compiler au format voulu, et mettre disposition sur le repo la BDD.

1 « J'aime »

Très bonne idée, on va donc commencer par construire notre BDD comme proposé. Je vais faire un script pour scraper les fichiers de chez blackrock. On récupère les csv ou xls avec les infos et j’injecte dans une BDD.

Quelqu’un regarde sur les autres émetteurs ?

1 « J'aime »

Pour ishares : GitHub - talsan/ishares: scrape etf holdings histories from iShares.com, with optional aws integration (s3 + athena)

Ils mettent à jour leurs fichiers CSV tous les jours je pense.

Merci n12t.

Je me suis concentré sur Amundi, car le site est le plus complexe et le plus grand nombre d’ETF qui entrent dans un PEA.

J’ai mis en place un scrapper en utilisant google chrome for testing que l’on peut automatiser en python avec selenium. Etape terminée, j’ai l’ensemble des csv pour tous les ETF (540). L’étape est pratiquement autonome donc pourra être lancée regulièrement.

Maintenant je vais créer un script pour charger toutes les données dans une base de données postgresql.

Pour l’instant je fais tout en local, je teste donc rien n’est propre mais je n’ai pas trop de temps à consacrer à ce projet mais on avance :wink:

A bientôt pour un nouveau point.

2 « J'aime »

Quand tu as un schéma de base, peux tu le partager pour voir comme on peut faire rentrer les données des autres émetteurs ?

De retour après quelques jours de vacances je reprends mes analyses. Il existe une BDD pour passer de ticker à ISIN ?

Apparemment pas mal on déjà essayé de chercher mais pas d’API publique en tout cas.
Par contre on peux télécharger une base ici de plusieurs places de marchés: Téléchargement des cotations, libellés et codes ISIN (abcbourse.com)