尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Alerte précoce sur les sociétés cotées américaines, construite uniquement à partir de leurs dépôts publics (SEC EDGAR) et de leurs cours de bourse : 12 signaux financiers + un modèle d'apprentissage profond, fusionnés en un niveau de risque par exercice (faible → modéré → élevé → critique), chaque score remontant au dépôt exact qui l'a produit.
En ligne : https://risk-detector-two.vercel.app · résultats et méthode : https://risk-detector-two.vercel.app/methodology
Avertissement — outil informatif à vocation pédagogique. Il ne constitue ni un conseil en investissement, ni une recommandation d'achat ou de vente. Les scores sont des indicateurs de qualité d'information, pas des prévisions de faillite.
| Signal | Ce qu'il mesure | Seuil d'alerte |
|---|---|---|
altman | Score Z d'Altman (solvabilité globale) | < 2,99 vigilance · < 1,81 défaillance |
piotroski | Score F sur 9 critères de amélioration comptable | F < 3 défaillance · F < 7 vigilance |
beneish | Score M de manipulation de résultats | M > −2,27 vigilance · M > −1,78 défaillance |
divergence | Bénéfice net en hausse + cash-flow en baisse, 2 années de suite | streak ≥ 2 défaillance |
runway | Trésorerie / brûlage mensuel de trésorerie | < 24 mois vigilance · < 12 mois défaillance |
late_filing | Rapports annuels déposés en retard (NT 10-K/10-Q) | 1 NT vigilance · ≥ 2 défaillance |
critical_8k | 8-K urgences : faillite (1.03), défaut (2.04), non-fiabilité (4.02)… | selon l'item, vigilance ou défaillance |
insider_sales | Ventes de dirigeants ouvertes (Form 4) rapportées à la capitalisation | ≥ 0,25 % vigilance · ≥ 1 % défaillance |
net_debt_ebitda | Dette nette / EBITDA | > 4× et en hausse défaillance |
dilution | Croissance annuelle des actions en circulation | > 5 % vigilance · > 10 % défaillance |
composite | Fusion pondérée des signaux disponibles | paliers 0,5 / 1,0 / 1,5 |
lstm | Probabilité de détresse sur séries d'indicateurs (PyTorch) | affiché à côté du score classique |
Deux principes guident l'implémentation : « donnée manquante » vaut mieux
qu'un faux score (un signal non calculable est absent, jamais noté 0), et
chaque score pointe son dépôt source (filings.url).
Cohorte de 547 faillites (premier 8-K « Item 1.03 » entre 2015 et 2025, collecté par recherche EDGAR) contre 328 témoins sains (S&P 500 jamais concernés), toujours en ne regardant que l'information disponible au moment de l'alerte :
| Règle d'alerte | Détection à 6 mois | à 12 mois | Faux positifs / an |
|---|---|---|---|
| Niveau ≥ modéré (règle retenue) | 64,9 % | 56,7 % | 9,3 % |
| Niveau ≥ modéré + une composante en défaillance | 63,8 % | 55,2 % | 8,5 % |
Cible de la feuille de route : 60–70 % de détection à 6 mois — atteinte.
Les poids des signaux ont été calibrés sur cette cohorte
(scripts/tune_weights.py), les métriques du modèle de deep learning sont
mesurées séparément (scripts/train_lstm.py) : sur ces données, les deux
approches se complètent, le classique garde la meilleure détection à 6 mois.
Le site publie ces résultats sur la page /methodology, avec des exemples de
faillites signalées à temps, signalées tard et manquées. Ses chiffres sont
figés dans frontend/app/methodology/page.tsx : les régénérer après tout
retune du composite.
Contrôle hors échantillon (uv run python -m scripts.validate_oos) : des
poids réglés uniquement sur les faillites 2015-2020, puis mesurés sur les 199
faillites 2021-2025, obtiennent le même écart détection − fausses alertes que
les poids de production (68,0 contre 68,0 ; 80,9 % / 12,9 % contre 74,9 % /
6,9 %). Le réglage ne montre pas de surapprentissage ; les poids individuels,
eux, sont instables d'une période à l'autre et ne mesurent pas
l'« importance » d'un indicateur.
app/jobs/nightly.py) ; les routes privées de liste de suivi ne modifient
que les données utilisateur et exigent une session Clerk vérifiée côté Next.Prérequis : Docker, uv,
Node ≥ 20 avec pnpm (corepack enable pnpm).
# 1. Configuration — SEC_USER_AGENT exige un nom + e-mail réels (règle SEC)
cp .env.example .env # PowerShell : Copy-Item .env.example .env
# 2. Base de données (PostgreSQL 17, port 5435)
docker compose up -d --wait
# 3. Dépendances Python
uv sync
# 4. Données de démonstration : le trio Apple / AMC / Bed Bath & Beyond
# (~10 min, réseau : premier accès SEC + Yahoo, ensuite mis en cache)
uv run python -m scripts.fetch_phase0
uv run python -m scripts.fetch_prices
uv run python -m scripts.fetch_submissions
uv run python -m scripts.load_postgres
uv run python -m app.jobs.nightly --no-refresh
# 5. API + site
uv run uvicorn app.api.main:app --reload --port 8011 # → http://localhost:8011/health
pnpm --dir frontend install
pnpm --dir frontend dev # → http://localhost:3000
La recherche et les fiches publiques fonctionnent sans compte. Pour activer
les comptes et la liste de suivi en local, copier frontend/.env.example vers
frontend/.env.local, configurer les clés Clerk et partager la même valeur de
WATCHLIST_API_SECRET entre ce fichier et le .env racine.
Tests : uv run pytest (209 tests collectés).
Mise en production (GitHub Actions + Render + Vercel + Neon + Clerk) : voir docs/DEPLOY.md.
Pour charger la cohorte complète du backtest (875 entreprises, ~1 h, réseau) :
uv run python -m scripts.build_cohort
uv run python -m scripts.fetch_phase0 --manifest data/backtest/companies.json
uv run python -m scripts.fetch_prices --manifest data/backtest/companies.json
uv run python -m scripts.fetch_submissions --manifest data/backtest/companies.json
uv run python -m scripts.load_postgres --manifest data/backtest/companies.json
uv run python -m app.jobs.nightly # ~1 h la première fois (cache EDGAR)
uv run python -m scripts.backtest # rejoue les métriques ci-dessus
app/ API FastAPI + moteurs (normalize, signals, edgar, dl, ingest,
backtest, jobs) — signaux purs et testables
scripts/ commandes batch : collecte SEC, ingestion, backtest, entraînement
tests/ suite pytest (209)
frontend/ application Next.js 16
data/ manifest de cohorte (versionné) + caches (gitignorés)
docker-compose.yml
Code sous licence MIT — voir CONTRIBUTING.md pour les conventions (identifiants et commits en anglais, commentaires et textes en français).