Ajoute une interface graphique à finlab, en plus de la console Claude Code (les deux cohabitent sur finance.lab.local) : - dashboard/ : backend FastAPI (sans LLM/clé) exposant les données finlab en JSON (/api/portfolio, /api/scan, /api/ohlc, /api/plan, /api/alerts) + front statique (lightweight-charts) : graphiques chandeliers MM50/200 + volume, portefeuille (P&L/poids/secteurs), watchlists thématiques scannées, alertes, plan de trade R:R - Découplage code/data : finlab lit ses configs depuis FINLAB_HOME si défini (workspace persistant) ; repli sur le dossier du package en dév local - Image double usage (un build, deux conteneurs) : code → /opt/app, seed minimal (configs + persona + MCP) → workspace - Fix seed NFS (cause racine du workspace vide) : WORKDIR n'est plus sur le volume (le runtime le créait en root sur NFS) ; seed déplacé dans un initContainer robuste (recrée le dossier s'il est non-inscriptible) - Deployment : initContainer seed + 2 conteneurs (console ttyd -b /console, dashboard uvicorn) ; Service 2 ports ; IngressRoute 2 routes (/console + dashboard), basicAuth Validé en local (podman) : seed OK, dashboard /api/portfolio → 16k€/10 positions via FINLAB_HOME, endpoints ohlc/scan/plan/alerts OK, ttyd/claude/finlab présents. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| dashboard | ||
| finlab | ||
| webapp | ||
| workspace | ||
| .dockerignore | ||
| .gitignore | ||
| alerts.yaml | ||
| Dockerfile | ||
| entrypoint-console.sh | ||
| entrypoint-seed.sh | ||
| portfolio.yaml | ||
| README.md | ||
| requirements.txt | ||
| watchlists.yaml | ||
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
- Dashboard web (déploiement) —
finance.lab.local/: graphiques chandeliers, portefeuille, watchlists, alertes, plan de trade. Backenddashboard/server.py(FastAPI, sans LLM). - Console Claude Code web (déploiement) —
finance.lab.local/console/: vraie session Claude Code spécialisée finance, outils finlab en MCP. Voirk8s/apps/finlab/README.md. - CLI —
python -m finlab.cli digest|portfolio|tech|fundamentals|scan|plan|alerts. - MCP — serveur stdio
finlab.mcp_server, branché dans le.mcp.jsondu repo lab → outils finlab dans les sessions Claude Code du lab.
Le code lit ses configs depuis
FINLAB_HOMEsi 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.