Files
forex-dashboard/data/rate-probabilities.json
T
caty21 50ae11c3c4 feat: remplace Atlanta Fed par des futures Euribor/SONIA réels pour EUR/GBP
- Retire l'onglet Atlanta Fed MPT (USD) : jugé sans valeur ajoutée réelle.
- EUR/GBP n'avaient qu'un unique point synthétique (agrégat year-end
  InvestingLive) gonflé en fausses réunions plates à 0% sur Courbe/
  Probabilités/Réunions — d'où l'aspect cassé. Investing.com n'a de Rate
  Monitor pré-calculé (comme pour la Fed) ni pour la BCE ni pour la BoE
  (404 confirmé), donc pas d'équivalent direct au pipeline USD.
- Remplace ce point unique par un vrai scrape des futures Euribor 3M
  (Eurex) et Three-Month SONIA (ICE), cotés sur investing.com (delayed,
  gratuit, pas de login) : conversion prix→taux (100−prix), mapping sur
  le calendrier réel BCE/BoE (échéance la plus proche ≥ date de réunion,
  fenêtre de grâce de 60j au-delà du dernier contrat coté, sinon on
  s'arrête plutôt que d'inventer), probabilité approximée avec la
  convention bps/25 déjà utilisée pour le fallback InvestingLive.
- Résolution plus grossière que l'USD (mensuelle EUR, trimestrielle GBP)
  et clairement étiquetée comme telle dans un footnote dédié.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 11:55:35 +02:00

759 lines
22 KiB
JSON

{
"data": {
"USD": {
"today": {
"midpoint": 3.75,
"rows": [
{
"meeting": "Jul 29",
"meeting_iso": "2026-07-29",
"implied_rate_post_meeting": 3.8165,
"prob_move_pct": 27,
"prob_is_cut": false,
"change_bps": 6.65,
"num_moves": 0.266
},
{
"meeting": "Sep 16",
"meeting_iso": "2026-09-16",
"implied_rate_post_meeting": 3.9441,
"prob_move_pct": 64,
"prob_is_cut": false,
"change_bps": 19.410000000000018,
"num_moves": 0.7764000000000008
},
{
"meeting": "Oct 28",
"meeting_iso": "2026-10-28",
"implied_rate_post_meeting": 4.0013,
"prob_move_pct": 72,
"prob_is_cut": false,
"change_bps": 25.129999999999963,
"num_moves": 1.0051999999999985
},
{
"meeting": "Dec 9",
"meeting_iso": "2026-12-09",
"implied_rate_post_meeting": 4.0998,
"prob_move_pct": 83,
"prob_is_cut": false,
"change_bps": 34.98000000000001,
"num_moves": 1.3992000000000004
},
{
"meeting": "Jan 27",
"meeting_iso": "2027-01-27",
"implied_rate_post_meeting": 4.1415,
"prob_move_pct": 86,
"prob_is_cut": false,
"change_bps": 39.14999999999998,
"num_moves": 1.5659999999999992
},
{
"meeting": "Mar 17",
"meeting_iso": "2027-03-17",
"implied_rate_post_meeting": 4.1949,
"prob_move_pct": 89,
"prob_is_cut": false,
"change_bps": 44.48999999999997,
"num_moves": 1.7795999999999987
},
{
"meeting": "Apr 28",
"meeting_iso": "2027-04-28",
"implied_rate_post_meeting": 4.207,
"prob_move_pct": 89,
"prob_is_cut": false,
"change_bps": 45.69999999999999,
"num_moves": 1.8279999999999996
},
{
"meeting": "Jun 9",
"meeting_iso": "2027-06-09",
"implied_rate_post_meeting": 4.1903,
"prob_move_pct": 88,
"prob_is_cut": false,
"change_bps": 44.02999999999997,
"num_moves": 1.761199999999999
},
{
"meeting": "Jul 28",
"meeting_iso": "2027-07-28",
"implied_rate_post_meeting": 4.1616,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 41.16,
"num_moves": 1.6463999999999999
},
{
"meeting": "Sep 15",
"meeting_iso": "2027-09-15",
"implied_rate_post_meeting": 4.142,
"prob_move_pct": 82,
"prob_is_cut": false,
"change_bps": 39.20000000000003,
"num_moves": 1.5680000000000012
},
{
"meeting": "Oct 27",
"meeting_iso": "2027-10-27",
"implied_rate_post_meeting": 4.1072,
"prob_move_pct": 77,
"prob_is_cut": false,
"change_bps": 35.71999999999997,
"num_moves": 1.4287999999999987
},
{
"meeting": "Dec 8",
"meeting_iso": "2027-12-08",
"implied_rate_post_meeting": 4.0853,
"prob_move_pct": 75,
"prob_is_cut": false,
"change_bps": 33.530000000000015,
"num_moves": 1.3412000000000006
}
]
}
},
"EUR": {
"today": {
"midpoint": 2.4,
"rows": [
{
"meeting": "Jul 23",
"meeting_iso": "2026-07-23",
"implied_rate_post_meeting": 2.47,
"prob_move_pct": 28,
"prob_is_cut": false,
"change_bps": 7,
"num_moves": 0.28
},
{
"meeting": "Sep 10",
"meeting_iso": "2026-09-10",
"implied_rate_post_meeting": 2.56,
"prob_move_pct": 64,
"prob_is_cut": false,
"change_bps": 16,
"num_moves": 0.64
},
{
"meeting": "Oct 29",
"meeting_iso": "2026-10-29",
"implied_rate_post_meeting": 2.61,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 21,
"num_moves": 0.84
},
{
"meeting": "Dec 17",
"meeting_iso": "2026-12-17",
"implied_rate_post_meeting": 2.61,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 21,
"num_moves": 0.84
}
]
}
},
"GBP": {
"today": {
"midpoint": 3.75,
"rows": [
{
"meeting": "Jul 30",
"meeting_iso": "2026-07-30",
"implied_rate_post_meeting": 3.77,
"prob_move_pct": 8,
"prob_is_cut": false,
"change_bps": 2,
"num_moves": 0.08
},
{
"meeting": "Sep 17",
"meeting_iso": "2026-09-17",
"implied_rate_post_meeting": 3.93,
"prob_move_pct": 72,
"prob_is_cut": false,
"change_bps": 18,
"num_moves": 0.72
},
{
"meeting": "Nov 5",
"meeting_iso": "2026-11-05",
"implied_rate_post_meeting": 3.93,
"prob_move_pct": 72,
"prob_is_cut": false,
"change_bps": 18,
"num_moves": 0.72
},
{
"meeting": "Dec 17",
"meeting_iso": "2026-12-17",
"implied_rate_post_meeting": 3.93,
"prob_move_pct": 72,
"prob_is_cut": false,
"change_bps": 18,
"num_moves": 0.72
},
{
"meeting": "Feb 4",
"meeting_iso": "2027-02-04",
"implied_rate_post_meeting": 3.93,
"prob_move_pct": 72,
"prob_is_cut": false,
"change_bps": 18,
"num_moves": 0.72
}
]
}
},
"JPY": {
"today": {
"midpoint": 1,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 1.2,
"prob_move_pct": 1,
"prob_is_cut": false,
"change_bps": 20,
"num_moves": 0.8
}
]
}
},
"CAD": {
"today": {
"midpoint": 2.25,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.33,
"prob_move_pct": 9,
"prob_is_cut": false,
"change_bps": 8,
"num_moves": 0.32
}
]
}
},
"AUD": {
"today": {
"midpoint": 4.35,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 4.449999999999999,
"prob_move_pct": 15,
"prob_is_cut": false,
"change_bps": 10,
"num_moves": 0.4
}
]
}
},
"NZD": {
"today": {
"midpoint": 2.5,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 3.12,
"prob_move_pct": 82,
"prob_is_cut": false,
"change_bps": 62,
"num_moves": 2.48
}
]
}
},
"CHF": {
"today": {
"midpoint": 0,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 0.05,
"prob_move_pct": 4,
"prob_is_cut": false,
"change_bps": 5,
"num_moves": 0.2
}
]
}
}
},
"fetchedAt": "2026-07-09T09:45:09.636Z",
"snapshots": [
{
"data": {
"USD": {
"today": {
"midpoint": 3.75,
"rows": [
{
"meeting": "Jul 29",
"meeting_iso": "2026-07-29",
"implied_rate_post_meeting": 3.7998,
"prob_move_pct": 20,
"prob_is_cut": false,
"change_bps": 4.979999999999984,
"num_moves": 0.19919999999999938
},
{
"meeting": "Sep 16",
"meeting_iso": "2026-09-16",
"implied_rate_post_meeting": 3.908,
"prob_move_pct": 55,
"prob_is_cut": false,
"change_bps": 15.799999999999992,
"num_moves": 0.6319999999999997
},
{
"meeting": "Oct 28",
"meeting_iso": "2026-10-28",
"implied_rate_post_meeting": 3.96,
"prob_move_pct": 64,
"prob_is_cut": false,
"change_bps": 20.999999999999996,
"num_moves": 0.8399999999999999
},
{
"meeting": "Dec 9",
"meeting_iso": "2026-12-09",
"implied_rate_post_meeting": 4.055,
"prob_move_pct": 78,
"prob_is_cut": false,
"change_bps": 30.49999999999997,
"num_moves": 1.2199999999999989
},
{
"meeting": "Jan 27",
"meeting_iso": "2027-01-27",
"implied_rate_post_meeting": 4.0851,
"prob_move_pct": 80,
"prob_is_cut": false,
"change_bps": 33.50999999999998,
"num_moves": 1.3403999999999991
},
{
"meeting": "Mar 17",
"meeting_iso": "2027-03-17",
"implied_rate_post_meeting": 4.1286,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 37.85999999999996,
"num_moves": 1.5143999999999982
},
{
"meeting": "Apr 28",
"meeting_iso": "2027-04-28",
"implied_rate_post_meeting": 4.1322,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 38.22000000000001,
"num_moves": 1.5288000000000006
},
{
"meeting": "Jun 9",
"meeting_iso": "2027-06-09",
"implied_rate_post_meeting": 4.1065,
"prob_move_pct": 80,
"prob_is_cut": false,
"change_bps": 35.64999999999996,
"num_moves": 1.4259999999999986
},
{
"meeting": "Jul 28",
"meeting_iso": "2027-07-28",
"implied_rate_post_meeting": 4.0895,
"prob_move_pct": 78,
"prob_is_cut": false,
"change_bps": 33.95000000000002,
"num_moves": 1.3580000000000008
},
{
"meeting": "Sep 15",
"meeting_iso": "2027-09-15",
"implied_rate_post_meeting": 4.0654,
"prob_move_pct": 75,
"prob_is_cut": false,
"change_bps": 31.540000000000035,
"num_moves": 1.2616000000000014
},
{
"meeting": "Oct 27",
"meeting_iso": "2027-10-27",
"implied_rate_post_meeting": 4.0297,
"prob_move_pct": 70,
"prob_is_cut": false,
"change_bps": 27.970000000000006,
"num_moves": 1.1188000000000002
},
{
"meeting": "Dec 8",
"meeting_iso": "2027-12-08",
"implied_rate_post_meeting": 4.0103,
"prob_move_pct": 67,
"prob_is_cut": false,
"change_bps": 26.029999999999998,
"num_moves": 1.0412
}
]
}
},
"EUR": {
"today": {
"midpoint": 2.15,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.3899999999999997,
"prob_move_pct": 28,
"prob_is_cut": false,
"change_bps": 24,
"num_moves": 0.96
}
]
}
},
"GBP": {
"today": {
"midpoint": 3.75,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 3.93,
"prob_move_pct": 7,
"prob_is_cut": false,
"change_bps": 18,
"num_moves": 0.72
}
]
}
},
"JPY": {
"today": {
"midpoint": 0.75,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 0.95,
"prob_move_pct": 1,
"prob_is_cut": false,
"change_bps": 20,
"num_moves": 0.8
}
]
}
},
"CAD": {
"today": {
"midpoint": 2.25,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.33,
"prob_move_pct": 9,
"prob_is_cut": false,
"change_bps": 8,
"num_moves": 0.32
}
]
}
},
"AUD": {
"today": {
"midpoint": 4.35,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 4.449999999999999,
"prob_move_pct": 15,
"prob_is_cut": false,
"change_bps": 10,
"num_moves": 0.4
}
]
}
},
"NZD": {
"today": {
"midpoint": 2.25,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.87,
"prob_move_pct": 82,
"prob_is_cut": false,
"change_bps": 62,
"num_moves": 2.48
}
]
}
},
"CHF": {
"today": {
"midpoint": 0,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 0.05,
"prob_move_pct": 4,
"prob_is_cut": false,
"change_bps": 5,
"num_moves": 0.2
}
]
}
}
},
"fetchedAt": "2026-07-03T12:51:24.776Z"
}
],
"previousWeek": {
"USD": {
"today": {
"midpoint": 3.75,
"rows": [
{
"meeting": "Jul 29",
"meeting_iso": "2026-07-29",
"implied_rate_post_meeting": 3.7998,
"prob_move_pct": 20,
"prob_is_cut": false,
"change_bps": 4.979999999999984,
"num_moves": 0.19919999999999938
},
{
"meeting": "Sep 16",
"meeting_iso": "2026-09-16",
"implied_rate_post_meeting": 3.908,
"prob_move_pct": 55,
"prob_is_cut": false,
"change_bps": 15.799999999999992,
"num_moves": 0.6319999999999997
},
{
"meeting": "Oct 28",
"meeting_iso": "2026-10-28",
"implied_rate_post_meeting": 3.96,
"prob_move_pct": 64,
"prob_is_cut": false,
"change_bps": 20.999999999999996,
"num_moves": 0.8399999999999999
},
{
"meeting": "Dec 9",
"meeting_iso": "2026-12-09",
"implied_rate_post_meeting": 4.055,
"prob_move_pct": 78,
"prob_is_cut": false,
"change_bps": 30.49999999999997,
"num_moves": 1.2199999999999989
},
{
"meeting": "Jan 27",
"meeting_iso": "2027-01-27",
"implied_rate_post_meeting": 4.0851,
"prob_move_pct": 80,
"prob_is_cut": false,
"change_bps": 33.50999999999998,
"num_moves": 1.3403999999999991
},
{
"meeting": "Mar 17",
"meeting_iso": "2027-03-17",
"implied_rate_post_meeting": 4.1286,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 37.85999999999996,
"num_moves": 1.5143999999999982
},
{
"meeting": "Apr 28",
"meeting_iso": "2027-04-28",
"implied_rate_post_meeting": 4.1322,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 38.22000000000001,
"num_moves": 1.5288000000000006
},
{
"meeting": "Jun 9",
"meeting_iso": "2027-06-09",
"implied_rate_post_meeting": 4.1065,
"prob_move_pct": 80,
"prob_is_cut": false,
"change_bps": 35.64999999999996,
"num_moves": 1.4259999999999986
},
{
"meeting": "Jul 28",
"meeting_iso": "2027-07-28",
"implied_rate_post_meeting": 4.0895,
"prob_move_pct": 78,
"prob_is_cut": false,
"change_bps": 33.95000000000002,
"num_moves": 1.3580000000000008
},
{
"meeting": "Sep 15",
"meeting_iso": "2027-09-15",
"implied_rate_post_meeting": 4.0654,
"prob_move_pct": 75,
"prob_is_cut": false,
"change_bps": 31.540000000000035,
"num_moves": 1.2616000000000014
},
{
"meeting": "Oct 27",
"meeting_iso": "2027-10-27",
"implied_rate_post_meeting": 4.0297,
"prob_move_pct": 70,
"prob_is_cut": false,
"change_bps": 27.970000000000006,
"num_moves": 1.1188000000000002
},
{
"meeting": "Dec 8",
"meeting_iso": "2027-12-08",
"implied_rate_post_meeting": 4.0103,
"prob_move_pct": 67,
"prob_is_cut": false,
"change_bps": 26.029999999999998,
"num_moves": 1.0412
}
]
}
},
"EUR": {
"today": {
"midpoint": 2.15,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.3899999999999997,
"prob_move_pct": 28,
"prob_is_cut": false,
"change_bps": 24,
"num_moves": 0.96
}
]
}
},
"GBP": {
"today": {
"midpoint": 3.75,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 3.93,
"prob_move_pct": 7,
"prob_is_cut": false,
"change_bps": 18,
"num_moves": 0.72
}
]
}
},
"JPY": {
"today": {
"midpoint": 0.75,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 0.95,
"prob_move_pct": 1,
"prob_is_cut": false,
"change_bps": 20,
"num_moves": 0.8
}
]
}
},
"CAD": {
"today": {
"midpoint": 2.25,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.33,
"prob_move_pct": 9,
"prob_is_cut": false,
"change_bps": 8,
"num_moves": 0.32
}
]
}
},
"AUD": {
"today": {
"midpoint": 4.35,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 4.449999999999999,
"prob_move_pct": 15,
"prob_is_cut": false,
"change_bps": 10,
"num_moves": 0.4
}
]
}
},
"NZD": {
"today": {
"midpoint": 2.25,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.87,
"prob_move_pct": 82,
"prob_is_cut": false,
"change_bps": 62,
"num_moves": 2.48
}
]
}
},
"CHF": {
"today": {
"midpoint": 0,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 0.05,
"prob_move_pct": 4,
"prob_is_cut": false,
"change_bps": 5,
"num_moves": 0.2
}
]
}
}
},
"previousWeekFetchedAt": "2026-07-03T12:51:24.776Z"
}