Permet de configurer des alertes « préviens-moi par mail quand NVDA atteint 200$ » depuis la Console IA. Un sidecar surveille les cours en continu. - finlab/watcher.py : boucle toutes les 5 min, lit price_alerts.yaml (workspace), évalue les seuils above/below, envoie un email au franchissement. Anti-spam (1 mail/seuil, état .watcher-state.json, ré-armé en ré-éditant). Modes --once / --test - Email via le relais postfix du lab (storage-01:25, SMTP_HOST) qui réécrit l'expéditeur en Gmail — AUCUN secret (pods k8s dans mynetworks) - price_alerts.yaml : config seedée dans le workspace (email_to + rules), éditée par la Console IA sur demande - deployment : conteneur sidecar `watcher` (boucle 5 min, ressources minimes) - Dockerfile : seed price_alerts.yaml ; persona console + admin/ia/finlab.md documentés Logique testée en local (SMTP mocké) : franchissement → envoi, anti-spam au 2e run, seuil non atteint → rien. 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 | ||
| price_alerts.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.