feat: 6 AI desks complets — fundamental, report, sentiment (options triggers)

- Fundamental Desk: filtre corporate news (layoffs, M&A, earnings, credit)
  avec prompt dédié + dedup sémantique
- Report Desk: wiring desk config (days, min_importance, system_prompt)
- Sentiment Desk: 5 signaux VIX/SKEW pour options lab
  (vix_level thresholds, vix_spike %, vix_term_structure, vvix_extreme, skew_extreme)
  Chaque event contient options_note actionnable (vente puts, straddles, calendar spreads)
- check_new_market_events() couvre les 6 sources, charge desk configs dynamiquement
- Signal catalog: 12 signaux (7 technical + 5 sentiment), filtrés par desk_type dans UI
- AIDesks.tsx: FundamentalConfig + ReportConfig + SignalToggle filtré par desk type
- 3 nouveaux desks seedés dans init_db (idempotent)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OpenSquared
2026-06-26 09:21:29 +02:00
parent 97706dea7b
commit a12d7a1ef3
4 changed files with 670 additions and 90 deletions

View File

@@ -1030,6 +1030,61 @@ def init_db():
"instruments": json.dumps(["SPY","TLT","GLD","EURUSD=X","USO","HYG"]),
"config": json.dumps({"z_threshold": 1.5, "days": 7}),
},
{
"name": "Fundamental Desk",
"type": "fundamental",
"active": 1,
"system_prompt": (
"Tu identifies les événements fondamentaux CORPORATE qui impactent les marchés : "
"licenciements massifs, M&A, révisions de guidance, downgrades crédit, amendes réglementaires, "
"résultats earnings surprenants. Ignore les rumeurs et spéculations. "
"Concentre-toi sur les faits avérés avec impact sectoriel ou macro mesurable."
),
"instruments": json.dumps(["SPY","QQQ","HYG","NVDA","GS","AAPL","XOM","BTC-USD"]),
"config": json.dumps({
"min_impact": 0.45,
"lookback_hours": 72,
"max_evaluate": 20,
"dedup_enabled": True,
"dedup_lookback_days": 3,
"focus_types": ["layoffs","earnings","ma","credit","regulatory","guidance"],
}),
},
{
"name": "Report Desk",
"type": "report",
"active": 1,
"system_prompt": (
"Tu analyses les rapports institutionnels (COT, EIA, inventaires) pour en extraire "
"les signaux de positionnement et de flux qui impactent les marchés de matières premières "
"et les devises. Identifie les retournements de tendance dans les positions spéculatives."
),
"instruments": json.dumps(["USO","GLD","SLV","UNG","EURUSD=X","USDJPY=X","XOM"]),
"config": json.dumps({"days": 7, "min_importance": 3}),
},
{
"name": "Sentiment Desk — Options Lab",
"type": "sentiment",
"active": 1,
"system_prompt": (
"Tu es spécialiste des indicateurs de sentiment de marché pour le trading d'options. "
"Tu détectes les régimes de peur/euphorie extrêmes qui créent des opportunités de vol. "
"VIX > 25 = zone de vente de puts cash-secured. VIX > 35 = opportunités rares sur straddles. "
"SKEW > 140 = marché paye cher pour la protection downside. "
"Inversion terme structure VIX (front > back) = peur concentrée court terme."
),
"instruments": json.dumps(["SPY","QQQ","VXX","TLT","HYG","GLD"]),
"config": json.dumps({
"lookback_days": 5,
"signals": {
"vix_level": {"enabled": True, "thresholds": [20, 25, 30, 35, 45]},
"vix_spike": {"enabled": True, "min_pct_change": 15.0},
"vix_term_structure": {"enabled": True, "inversion_threshold": 1.05},
"vvix_extreme": {"enabled": True, "threshold": 100.0},
"skew_extreme": {"enabled": True, "low_threshold": 120.0, "high_threshold": 145.0},
},
}),
},
]
for _desk in _AI_DESK_DEFAULTS:
try: