Agentic Trading Lab
에이전트와 대화하고, 거래 아이디어를 테스트하며, 코드 없이 실제 시장 데이터에 AI 트레이딩 에이전트를 적용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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).