mirror of
https://github.com/caty21/forex-dashboard.git
synced 2026-08-16 22:18:06 +00:00
feat: redesign OIS block — SOFR live data primary, analyst (IL) secondary
Section 1 (SOFR/OIS live, prominent): - Large current rate → year-end implied + Δbps in bold colored type - Probability chart across all meetings - Per-meeting table: date, HOLD/HIKE?/HIKE, prob%, implied rate - Peak meeting highlighted in amber Section 2 (G. Dellamotta / InvestingLive, below): - Analyst year-end bps + next-meeting direction (from IL article) - Article date shown - Weekly delta arrows (vs previous article) — lowered bps threshold to 5bps Add ILCurrent type to CBRatePath to carry analyst absolute values server-side. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
764070a63a
commit
ce53f97b5b
+19
-2
@@ -24,13 +24,22 @@ export interface ILWeeklyDelta {
|
||||
prevDate: string; // date de l'article de référence (semaine précédente)
|
||||
}
|
||||
|
||||
export interface ILCurrent {
|
||||
bpsYearEnd: number; // bps fin d'an selon l'article IL courant
|
||||
probPct: number; // probabilité de move à la prochaine réunion (IL)
|
||||
isNoChange: boolean; // l'analyste anticipe un statu quo
|
||||
isCut: boolean; // l'analyste anticipe une baisse
|
||||
articleDate: string; // date de publication de l'article (YYYY-MM-DD)
|
||||
}
|
||||
|
||||
export interface CBRatePath {
|
||||
currency: Currency;
|
||||
asOf: string; // "2026-05-31"
|
||||
currentRate: number;
|
||||
meetings: RateProbMeeting[];
|
||||
peakMeeting: RateProbMeeting | null; // réunion avec proba max de mouvement
|
||||
yearEndImplied: number | null; // taux impliqué à la dernière réunion connue
|
||||
yearEndImplied: number | null; // taux impliqué à la dernière réunion connue (SOFR)
|
||||
ilCurrent?: ILCurrent; // valeurs absolues de l'article IL courant
|
||||
ilDelta?: ILWeeklyDelta; // delta vs article IL semaine précédente
|
||||
}
|
||||
|
||||
@@ -256,7 +265,15 @@ export async function fetchAllCBPaths(): Promise<RateProbData> {
|
||||
};
|
||||
}
|
||||
|
||||
data[ccy] = { ...path, yearEndImplied, ...(ilDelta ? { ilDelta } : {}) };
|
||||
const ilCurrent: ILCurrent = {
|
||||
bpsYearEnd: ilEntry.bpsYearEnd,
|
||||
probPct: ilEntry.nextMeetingProbPct,
|
||||
isNoChange: ilEntry.nextMeetingIsNoChange,
|
||||
isCut: !ilEntry.nextMeetingIsHike && !ilEntry.nextMeetingIsNoChange,
|
||||
articleDate: ilEntry.publishedDate,
|
||||
};
|
||||
|
||||
data[ccy] = { ...path, yearEndImplied, ilCurrent, ...(ilDelta ? { ilDelta } : {}) };
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
Reference in New Issue
Block a user