Ce que tu peux faire, c’est top
@Victor361 as tu proposé a finary de reprendre tout ou partie de tes travaux pour une version simulateur de leur app?
@Sebastien615 je t’en prie !
@Maxlamenace Je peux tout faire, c’est pour ça que je demande
C’est juste une question de présentation des données
Et sinon je n’ai pas proposé à Finary, je suppose qu’ils ont leur système ![]()
Pays et sous-secteur dans ce cas
Je viens de découvrir un post interessant:
C’est peux etre une solution pour que ton app perdure.
Sinon autre idée, propose une adress ETH-20 que l’on puisse te faire des don…
hello tu as vercel aussi dans le même style ![]()
Merci beaucoup je vais m’y pencher !
Pour l’ETH ça pourrait être une bonne idée mais mon provider ne me permet pas de payer en crypto
Dommage que Finary ne communique pas si la fonctionnalité est bien avancée ou pas…
Bravo c’est top et très clair ! ![]()
en petites fonctionnalités pratiques,
- Pouvoir chercher par ISIN
- Charger directement une liste de codes ISIN
- Changer l’ordre des ETF qu’on a rentré
- Dans la HeatMap de similarité avoir le nom entier de l’ETF A et B dans le pop up au passage de la souris, plutôt que son diminutif
tu penses que tu pourrais ajouter :
- Amundi Nasdaq-100 Daily (2x) Leveraged UCITS ETF - FR0010342592
- Amundi PEA Eau (MSCI Water) UCITS ETF – C - FR0011882364
résultat étrange - 38.9% de corrélation sur ces deux ETF qui n’ont rien en commun
Lyxor Stoxx Europe 600 Insurance UCITS ETF Acc
Amundi PEA Japan TOPIX UCITS ETF
Génial ton projet ! Et merci pour le partage, super utile ![]()
Je serais aussi intéressé d’avoir la composition globale du portefeuille par position, en gros juste ces 2 graphiques mais indépendamment de l’overlap et avec le top 30-50 des positions :
A l’époque où l’API Finary était accessible je m’étais amusé à créer Finalynx, heureux d’aider à dev un truc ensemble si une occasion se présente ^^
EDIT: ma foi pourquoi ne pas l’ajouter moi-même, voici le résultat :
Si par hasard ça t’intéresse j’ai créé une PR pour l’ajouter pour tout le monde, bien sûr aucun souci sinon ^^
@Dathyon Merci beaucoup pour ton retour ! Je vais me pencher sur ça ! Pour ce qui est des ISIN, je vais travailler dessus mais c’est assez compliqué car sur les ETFs, de ce que j’ai vu, on résonne souvent en ticker ![]()
Pour le Japan l’erreur est « normale », il est en réplication synthétique donc si on analyse directement ses positions, on va se retrouver avec des sociétés européennes - cela devrait s’update dans la nuit ou max demain
(idem pour les autres ETFs)
@MadeInJack Un très grand merci pour ton travail ! Je n’accepte pas directement la PR mais c’est juste pour pouvoir ajouter ces stats à la section « Overview du portefeuille » :))
@Maxlamenace Je viens d’ajouter le nombre de positions du portefeuille, le top 10 des pays et des sous-secteurs ;))
Ça rigole pas les gars, top !
Peut-être un petit cookie pour se souvenir de notre dernière sélection et aussi la possibilité de faire une sauvegarde de son portefeuille.
Sinon une connection api avec finary ou autre tech comme le propose @NickFR avec ton plugin RealT
Malheureusement Streamlit ne permet pas de gérer les cookies… par contre je peux faire en sorte d’exporter la composition du portefeuille en JSON, donc possible derrière de les réimporter pour ne pas devoir tout renseigner de nouveau
Pour la connection avec l’API Finary, ça va demander beaucoup de travail je pense alors que ce projet n’est pas vraiment destiné à vivre très longtemps
Mais je garde l’idée sous la main si la motivation me prend !
J’avais pensé à un petit simulateur si on souhaite arbitrer un ETF vers un autre pour savoir au bout de combien de temps cela serait rentable ? (En prenant en compte les frais de gestion des ETFs et les frais de passage d’ordre du courtier)
Très chouette idée aussi, je m’en servirais bien
Franchement ça m’étonne à quel point Finary est minimal en stats/simulations même avec Finary Plus, il y a tellement à faire…
C’est vrai mais ça ne doit être qu’une question de rentabilité
Ce genre de fonctions prennent du temps à coder et n’intéressent qu’une poignée de boursicoteurs. Bien moins rentable que proposer une assurance bourrée de frais…
Json (import / expert) c’est parfait pour moi et je peux tester mais a mon avis nous pourrons faire un json en quelques second avec une photo et l’interface finary et l’aide de GPT
Par exemple:
{
« portfolio_name »: « Linxea Spirit PER — ETF subset »,
« currency »: « EUR »,
« as_of »: « 2025-08-15 »,
« positions »: [
{
« name »: « Amundi CAC 40 UCITS ETF Acc »,
« isin »: « FR0011330807 »,
« weight_pct »: 20.00
},
{
« name »: « Amundi Nasdaq-100 II UCITS ETF Acc »,
« isin »: « LU1689221024 »,
« weight_pct »: 20.00
},
{
« name »: « Amundi STOXX Europe 600 Technology UCITS ETF Acc »,
« isin »: « LU1834988518 »,
« weight_pct »: 10.00
},
{
« name »: « Amundi S&P 500 UCITS ETF EUR (C) »,
« isin »: « LU1681048804 »,
« weight_pct »: 20.00
},
{
« name »: « Amundi MSCI World UCITS ETF - EUR (C) »,
« isin »: « LU1681043599 »,
« weight_pct »: 10.00
},
{
« name »: « Amundi Index MSCI Europe SRI PAB UCITS ETF DR »,
« isin »: « LU1861137481 »,
« weight_pct »: 10.00
},
{
« name »: « Amundi MSCI Emerging Markets UCITS ETF »,
« isin »: « LU1681045370 »,
« weight_pct »: 10.00
}
]
}
Bien evidement tu nous proposera un template de JSON, je ne t’impose rien
Bien a toi @Victor361
Fonctionnalité ajoutée ![]()
Structure du JSON :
{
« portfolio_name »: « Portfolio_ETF_20250815_1443 »,
« created_date »: « 2025-08-15T14:43:41.036138 »,
« total_etfs »: 2,
« total_allocation »: 100.0,
« portfolio »: {
« PUST.PA »: 50.0,
« CW8.PA »: 50.0
},
« etfs »: [
{
« symbol »: « PUST.PA »,
« name »: « Amundi PEA Nasdaq-100 UCITS ETF Acc »,
« allocation_percent »: 50.0
},
{
« symbol »: « CW8.PA »,
« name »: « Amundi MSCI World UCITS ETF EUR (C) »,
« allocation_percent »: 50.0
}
]
}
Je vais voir si je peux faire qq de rapide en reprenant ton code pour l’intégrer dans ma tentative d’extension dès que je trouve un peu de temps: Bourse - Analyseur de chevauchement des holdings d'ETF · Issue #22 · nmathey/finahack · GitHub
Ce serait avec plaisir !
Super @Victor361 , vraiment du beau boulot ![]()
Est-ce que tu penses pouvoir laisser le choix de rentrer le poids de chaque ETF en euros ?
Ça permet d’être vraiment précis sur les pourcentages obtenus sans avoir à les calculer soit-même (qui a dit feignant ?
).
Pour ma part je veux bien que tu rajoutes les ETF suivants, si possible :
LU0533033667 - Amundi MSCI World Information Technology UCITS ETF EUR Acc
IE000U9ODG19 - iShares Global Aerospace & Defence UCITS ETF USD (Acc)
FR0010429068 - Amundi MSCI Emerging Markets III UCITS ETF EUR Acc
J’ai un ptit bug, sur 7 ETF il en affiche 2, par contre si je clique 5x sur ajouter c’est ok
Un screen shoot dans GPT et hop, le tour est jouer.
Voici un prompt dédié:
Analyse cette image de mon portefeuille d’ETF et produis un fichier JSON téléchargeable depuis /canevas respectant strictement la structure suivante : > { > "portfolio_name": "Nom du portefeuille", > "created_date": "Date et heure ISO 8601", > "total_etfs": nombre total d’ETF, > "total_allocation": 100.0, > "portfolio": { > "SYMBOL1": allocation en %, > "SYMBOL2": allocation en %, … > }, > "etfs": [ > {« symbol »: "SYMBOL1", « name »: "Nom complet de l’ETF", « allocation_percent »: %}, > {« symbol »: "SYMBOL2", « name »: "Nom complet de l’ETF", « allocation_percent »: %} > ] > } > Les symboles doivent être ceux affichés dans la colonne ‹ Fonds ›, l’allocation en % doit être lue depuis la colonne ‹ Allocation (%) ›, et les noms exacts doivent être copiés tels qu’affichés dans l’image.
Template JSON
json
{
"portfolio_name": "Nom du portefeuille",
"created_date": "YYYY-MM-DDTHH:MM:SS.ssssss",
"total_etfs": 2,
"total_allocation": 100.0,
"portfolio": {
"SYMBOL1": 0.0,
"SYMBOL2": 0.0
},
"etfs": [
{
"symbol": "SYMBOL1",
"name": "Nom complet ETF",
"allocation_percent": 0.0
},
{
"symbol": "SYMBOL2",
"name": "Nom complet ETF",
"allocation_percent": 0.0
}
]
}







