mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 22:24:42 +02:00
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>
57 lines
2.9 KiB
Markdown
57 lines
2.9 KiB
Markdown
# 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. **CLI** — `python -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
|
|
|
|
```bash
|
|
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.
|