diff --git a/GeoOptions_Documentation_Complete.html b/GeoOptions_Documentation_Complete.html index d6c34e5..16f7d7f 100644 --- a/GeoOptions_Documentation_Complete.html +++ b/GeoOptions_Documentation_Complete.html @@ -186,10 +186,14 @@ li { margin-bottom: 4px; font-size: 9.5pt; }
start_all.bat (Windows dev) ou pm2 (VPS)Input : Table asset_class_configs (7 desks) + specialist_reports + report_desk_links
Traitement : Pour chaque desk actif, le système charge les fondamentaux, la sensibilité macro par régime, les seuils de prix significatifs/extrêmes, et les 5 prochains rapports planifiés triés par date et importance.
+Input : Table asset_class_configs (7 desks) + specialist_reports + report_desk_links + cot_data + forward_curve_data
Traitement : Pour chaque desk actif, le système charge les fondamentaux, la sensibilité macro par régime, les seuils de prix significatifs/extrêmes, et les 5 prochains rapports planifiés triés par date et importance. Il enrichit le bloc avec :
+Output : Un bloc de contexte structuré par desk, injecté dans deux prompts distincts :
Les Specialist Desks modélisent la réalité d'un hedge fund multi-stratégies où chaque desk (forex, metals, agri, énergie, indices, crypto, obligations) a une culture, des drivers et des rapports critiques spécifiques que le trader généraliste ne connaît pas par défaut.
+Les Specialist Desks modélisent la réalité d'un hedge fund multi-stratégies où chaque desk (forex, metals, agri, énergie, indices, crypto, obligations) a une culture, des drivers et des rapports critiques spécifiques que le trader généraliste ne connaît pas par défaut. En Phase 6 v2, chaque desk est enrichi de données de positionnement marché en temps réel : COT CFTC, Forward Curves, Surprise Index et scorer Hawk/Dove.
Trois tables nouvelles créées en Phase 6 :
+Cinq tables dédiées (Phase 6) :
| Table | Rôle | Colonnes clés |
|---|---|---|
asset_class_configs | Configuration par desk (7 desks) | asset_class, display_name, icon, fundamentals (TEXT libre), macro_sensitivity (JSON), price_delta_thresholds (JSON) |
specialist_reports | Catalogue de rapports (manuel + auto) | id, name, source, cadence, next_date, importance (1–3), notes |
asset_class_configs | Configuration par desk (7 desks) | asset_class, display_name, icon, fundamentals (TEXT), macro_sensitivity (JSON), price_delta_thresholds (JSON) |
specialist_reports | Catalogue rapports manuel + auto | id, name, source, cadence, next_date, importance (1–3), consensus_estimate, actual_value, surprise_score, text_sentiment_score, text_sentiment_label, text_sentiment_summary |
report_desk_links | Liaison N:N reports ↔ desks | report_id, asset_class |
cot_data | Positionnement COT CFTC hebdo | commodity, asset_class, report_date, mm_long, mm_short, open_interest, net_position, net_pct_oi, change_net · UNIQUE(commodity, report_date) |
forward_curve_data | Structure terme futures | asset, asset_class, front_price, far_price, slope_pct, structure (contango/backwardation/flat), months_spread, fetch_date · UNIQUE(asset, fetch_date) |
| Prompt | Asset classes injectées | Contenu par desk |
|---|---|---|
score_patterns_with_context | Uniquement les asset classes présentes dans les patterns scorés ce cycle | Fondamentaux (≤300 chars), macro sensitivity (4 pairs régime→effet), price thresholds, 5 prochains rapports planifiés |
score_patterns_with_context | Uniquement les asset classes présentes dans les patterns scorés ce cycle | Fondamentaux, macro sensitivity, price thresholds, 5 prochains rapports, COT net% OI, forward curve structure, surprise scores récents |
suggest_patterns_from_market_context | Tous les 7 desks systématiquement | Identique — permet à l'IA de générer des suggestions sur tous les desks même si aucun pattern existant ne les couvre |
Format du bloc injecté dans le prompt (exemple desk Agri) :
-Format du bloc injecté dans le prompt (exemple desk Energy enrichi v2) :
+L'onglet COT Positioning affiche le positionnement spéculatif (non-commercial) hebdomadaire de 19 marchés, extrait directement de l'API publique CFTC (Socrata) sans clé API. Mise à jour chaque mardi soir (délai CFTC standard : données de vendredi publiées le mardi).
+ +| Asset Class | Marchés couverts | Catégorie CFTC |
|---|---|---|
| ⚡ Energy | WTI Crude (067651), Natural Gas (023651) | Non-commercial long/short |
| 🥇 Metals | Gold (088691), Silver (084691), Copper (085692) | Non-commercial long/short |
| 🌾 Agri | Corn, Wheat SRW, Soybeans, Soybean Oil, Cocoa, Coffee | Non-commercial long/short |
| 💱 Forex | Euro, Japanese Yen, British Pound, Swiss Franc, DXY Index | Non-commercial long/short |
| 📉 Bonds | Fed Funds (045601), US T-Bonds (020601), 10Y T-Notes (043602) | Non-commercial long/short |
"CRUDE OIL, LIGHT SWEET - NYMEX") est fragile — le CFTC renomme les marchés à chaque rachat d'exchange (COMEX → "COMMODITY EXCHANGE INC.", CBOT → "CHICAGO BOARD OF TRADE"). La solution retenue utilise les codes contrat CFTC (ex : 067651 pour WTI), stables depuis des décennies et indépendants du nom de l'exchange. Une seule requête Socrata suffit pour tous les 19 marchés.
+Métriques affichées par marché :
+net_pct_oi = (long − short) / open_interest × 100 — barre de positionnement net en % OIchange_net hebdomadaire — détecte les rotations en coursInterprétation opérationnelle :
+| Signal COT | Lecture | Implication trading |
|---|---|---|
| Net > +40% OI (ex : Gold +53%) | Positionnement spéculatif extrêmement long | Trade crowded — asymétrie baissière si catalyst négatif, short squeeze improbable |
| Net < −30% OI (ex : JPY −29%) | Positionnement spéculatif extrêmement court | Short squeeze risk élevé si pivot hawkish BOJ |
| Change_net > +10k/semaine | Accumulation rapide | Momentum spéculatif en train de s'installer |
| Change_net inversé vs net | Rotation début de retournement | Surveiller confirmation technique |
L'onglet Forward Curves compare le prix front-month au contrat M+3 pour 8 commodities (énergie + métaux + agri), via yfinance. La structure de courbe révèle la tension physique sur le marché sous-jacent.
+ +| Structure | Condition | Lecture | Implication |
|---|---|---|---|
| Backwardation | slope_pct < −0.15% | Front > Far — livraison immédiate prime | Marché physique tendu, stockages faibles — bullish spot |
| Contango | slope_pct > +0.15% | Far > Front — coût de portage positif | Abondance physique, storage play — pression baissière sur spot |
| Flat | ±0.15% | Équilibre offre/demande | Pas de signal directionnel fort |
Marchés couverts : WTI Crude (CL), Natural Gas (NG), Gold (GC), Silver (SI), Copper (HG), Corn (ZC), Wheat (ZW), Soybeans (ZS). Les tickers front-month et M+3 sont construits dynamiquement avec les codes mois CFTC (F=Jan, G=Feb, H=Mar, J=Apr, K=May, M=Jun, N=Jul, Q=Aug, U=Sep, V=Oct, X=Nov, Z=Dec).
+ +Pour chaque rapport dans le catalogue Specialist Desks, le trader peut saisir la valeur de consensus avant publication et l'actual après. Le système calcule automatiquement le surprise score = actual − consensus.
+ +| Champ | Saisie | Calcul |
|---|---|---|
consensus_estimate | Avant publication (Bloomberg/Reuters) | — |
actual_value | Après publication | — |
surprise_score | Auto | actual − consensus, calculé côté serveur |
Endpoint : PUT /api/specialist-desks/reports/{id}/result — met à jour les trois colonnes atomiquement.
Les surprises récentes sont injectées dans le contexte IA de l'Étape 4b :
+Disponible sur les desks Forex et Bonds, le scorer analyse le texte d'un rapport (discours de banquier central, communiqué Fed/ECB, minutes) et retourne une évaluation directionnelle sur l'axe Hawk / Dove. Pour les desks Energy/Metals/Agri, l'axe devient Bull / Bear.
+ +| Paramètre | Valeur |
|---|---|
| Modèle | GPT-4o-mini (response_format: json_object) |
| Score output | Float −1.0 (Dovish/Bearish) … +1.0 (Hawkish/Bullish) |
| Label output | Hawkish / Slightly Hawkish / Neutral / Slightly Dovish / Dovish |
| Autres champs | summary (1 phrase), key_phrases (3–5 extraits), confidence (0–1) |
| Persistance | Colonnes text_sentiment_score, text_sentiment_label, text_sentiment_summary dans specialist_reports |
Endpoint : POST /api/specialist-desks/score-text — accepte {"text": "...", "report_name": "FOMC Minutes", "desk": "bonds"}