mirror of
https://github.com/caty21/forex-dashboard.git
synced 2026-07-27 20:37:45 +00:00
274c7f534e
Nouveau sous-onglet "Atlanta Fed" dans le bloc OIS de la card USD, méthodologie alternative aux 30-day Fed Fund Futures demandée : distribution du niveau de taux Fed déduite des options sur futures SOFR 3 mois (CME), publiée quotidiennement par la Fed d'Atlanta (Market Probability Tracker). Affiche Cut/Hold/Hike, la fourchette de taux SOFR implicite (25e-75e percentile), et la distribution complète par fourchette de 25bps pour la fenêtre trimestrielle la plus proche. - .github/scripts/fetch-atlanta-mpt.mjs : télécharge et parse mpt_histdata.xlsx (Atlanta Fed) avec un lecteur ZIP/OOXML maison — le paquet npm "xlsx" a des CVE critiques non patchées sur le registre public (SheetJS a arrêté d'y publier), donc pas de dépendance ajoutée pour ça. - .github/workflows/fetch-atlanta-mpt.yml : quotidien (donnée mise à jour 1x/jour par l'Atlanta Fed), + déclenchement manuel. - lib/atlantaFedMpt.ts + app/api/macro/route.ts : expose la donnée (USD only) via l'API macro existante. Sous-onglet "Réunions" (USD) : ajout du libellé de méthodologie demandé — "Probabilités = somme des % associés à chaque fourchette au-dessus/en-dessous de la fourchette actuelle · Investing.com Fed Rate Monitor, calculées à partir des 30-day Fed Fund Futures (CME)". Vérifié en direct : les deux sous-onglets s'affichent et les chiffres correspondent aux données brutes (72.4% hike / 1.1% cut / distribution 27.2-45.7-21.4-5.7% pour la fenêtre Sep 2026). Note en marge (hors scope, découverte pendant les tests) : /api/expectations prend ~24s à répondre, ce qui bloque l'affichage complet du dashboard (Promise.allSettled attend les 8 fetches). À investiguer séparément. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
// lib/atlantaFedMpt.ts
|
|
// Atlanta Fed Market Probability Tracker — méthodologie alternative aux 30-day
|
|
// Fed Fund Futures (Investing.com Fed Rate Monitor) : distribution du niveau
|
|
// de taux Fed déduite des options sur futures SOFR 3 mois (CME). Donnée
|
|
// statique maintenue par .github/workflows/fetch-atlanta-mpt.yml (quotidien).
|
|
// Source : https://www.atlantafed.org/cenfis/market-probability-tracker
|
|
|
|
import atlantaMptRaw from "@/data/atlanta-fed-mpt.json";
|
|
|
|
export interface AtlantaMptDistributionBucket {
|
|
rangeLabel: string; // "375bps - 400bps"
|
|
probPct: number;
|
|
}
|
|
|
|
export interface AtlantaMptWindow {
|
|
windowStartIso: string; // début de la fenêtre 3 mois référencée par le contrat SOFR
|
|
anchorRange: string | null; // fourchette cible FOMC à la date d'observation
|
|
probCutPct: number | null;
|
|
probHikePct: number | null;
|
|
rate25: number | null; // bps
|
|
rateMean: number | null; // bps
|
|
rateMode: number | null; // bps
|
|
rate75: number | null; // bps
|
|
distribution: AtlantaMptDistributionBucket[];
|
|
}
|
|
|
|
export interface AtlantaFedMpt {
|
|
updated_at: string;
|
|
asOf: string; // date d'observation des données (publication Atlanta Fed)
|
|
source: string;
|
|
note: string;
|
|
windows: AtlantaMptWindow[];
|
|
}
|
|
|
|
export function getAtlantaFedMpt(): AtlantaFedMpt | null {
|
|
try {
|
|
const data = atlantaMptRaw as AtlantaFedMpt;
|
|
if (!data?.windows?.length) return null;
|
|
return data;
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|