Funk-lab/tools/finlab
ALI YESILKAYA 73e2ad30db
feat(finlab): boutons d'analyse rapide (digest/analyse/plan/fondamental/opport./alertes) (#70)
Panneau « Actions rapides » sur le dashboard : 6 boutons one-click qui renvoient
une analyse finlab instantanée (déterministe, gratuite, sans LLM), dans une modale.

- 📊 Analyse (action sélectionnée) : technique (RSI/MACD/MM/signaux) + fondamental
  (PER/PEG/ROE/marges/dette/reco/cible) + plan R:R, combinés en une fiche
- 📐 Plan R:R, 📈 Fondamentaux (action sélectionnée) ; 📋 Digest, 🔭 Opportunités,
  🔔 Alertes (global)
- Backend : endpoints /api/digest, /api/fundamentals, /api/analyze
- Fix : fundamental.compare_portfolio() utilisait l'ancien schéma mono-compte
  (pf["positions"]) → cassé par le multi-comptes ; passe par data.portfolio_tickers()

Vérifié : endpoints OK (TestClient), rendu modale au navigateur (Playwright) —
fiche Analyse NVDA complète (technique + fondamental + plan). JS node --check OK.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 11:51:40 +02:00
..
dashboard feat(finlab): boutons d'analyse rapide (digest/analyse/plan/fondamental/opport./alertes) (#70) 2026-06-30 11:51:40 +02:00
finlab feat(finlab): boutons d'analyse rapide (digest/analyse/plan/fondamental/opport./alertes) (#70) 2026-06-30 11:51:40 +02:00
webapp feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse (#64) 2026-06-29 23:26:09 +02:00
workspace feat(finlab): import de relevé par image (upload dashboard → scan Console IA) (#69) 2026-06-30 11:00:29 +02:00
.dockerignore feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse (#64) 2026-06-29 23:26:09 +02:00
.gitignore feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse (#64) 2026-06-29 23:26:09 +02:00
alerts.yaml feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse (#64) 2026-06-29 23:26:09 +02:00
Dockerfile feat(finlab): dashboard web (graphiques/portefeuille/actions) + fix seed NFS (#65) 2026-06-30 00:57:23 +02:00
entrypoint-console.sh feat(finlab): dashboard web (graphiques/portefeuille/actions) + fix seed NFS (#65) 2026-06-30 00:57:23 +02:00
entrypoint-seed.sh feat(finlab): dashboard web (graphiques/portefeuille/actions) + fix seed NFS (#65) 2026-06-30 00:57:23 +02:00
portfolio.yaml feat(finlab): portefeuilles multi-comptes (courtier/banque) + onglets dashboard (#67) 2026-06-30 01:40:20 +02:00
README.md feat(finlab): dashboard web (graphiques/portefeuille/actions) + fix seed NFS (#65) 2026-06-30 00:57:23 +02:00
requirements.txt feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse (#64) 2026-06-29 23:26:09 +02:00
watchlists.yaml feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse (#64) 2026-06-29 23:26:09 +02:00

finlab — boîte à outils d'analyse de marché

Analyse de marché locale (données Yahoo Finance, gratuit/sans clé) + une console Claude Code finance déployée in-cluster. Paper trading optionnel via Alpaca (argent fictif).

⚠️ Outil d'analyse et d'aide à la décision. Ne passe aucun ordre réel. Tu restes seul décideur de tes opérations réelles (Revolut ou ailleurs).

Les 4 briques (finlab/)

Brique Module Ce que ça fait
Suivi de portefeuille tracker Valeur, P&L, poids, expo sectorielle, concentration
Analyse technique technical RSI, MACD, MM50/200, Bollinger, ATR + signaux
Analyse fondamentale fundamental PER, PEG, marges, ROE, croissance, dette, cible analystes
Paper trading paper Compte/positions/ordres fictifs Alpaca

Glu : data (fetch + cache), scanner (watchlists), digest (rapport compact), alerts, plan (plan de trade R:R), cli, mcp_server.

Quatre façons de l'utiliser

  1. Dashboard web (déploiement) — finance.lab.local/ : graphiques chandeliers, portefeuille, watchlists, alertes, plan de trade. Backend dashboard/server.py (FastAPI, sans LLM).
  2. Console Claude Code web (déploiement) — finance.lab.local/console/ : vraie session Claude Code spécialisée finance, outils finlab en MCP. Voir k8s/apps/finlab/README.md.
  3. CLIpython -m finlab.cli digest|portfolio|tech|fundamentals|scan|plan|alerts.
  4. MCP — serveur stdio finlab.mcp_server, branché dans le .mcp.json du repo lab → outils finlab dans les sessions Claude Code du lab.

Le code lit ses configs depuis FINLAB_HOME si défini (déploiement : workspace persistant), sinon depuis le dossier du package (dév local). Le dashboard se lance en local : FINLAB_HOME=$PWD PYTHONPATH=$PWD .venv/bin/uvicorn dashboard.server:app --port 8800.

Le portefeuille se modifie dans portfolio.yaml, les watchlists dans watchlists.yaml (thèmes : energy_power, chips, cables_optical_network, software_cloud, datacenter_infra), les règles d'alerte dans alerts.yaml.

Dév local

python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
PYTHONPATH=. .venv/bin/python -m finlab.cli digest

App web FastAPI (alternative, non déployée)

webapp/server.py — chat Claude Opus via API Anthropic (facturé), persona webapp/finance_soul.md, tool-use finlab, SSE. Conservée comme surface HTTP requêtable optionnelle ; le déploiement in-cluster utilise la console Claude Code (abonnement, non facturé) et non cette app. Lancer en local : ANTHROPIC_API_KEY=... .venv/bin/python -m webapp.server.

Limites

  • Yahoo peut brider/différer ; certains champs fondamentaux sont vides.
  • Le P&L EUR utilise le taux de change actuel (léger écart sur le PRU vs Revolut).
  • Indicateurs techniques et cibles analystes ne sont pas des recommandations.