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>
This commit is contained in:
caty21
2026-07-09 11:55:35 +02:00
co-authored by Claude Sonnet 5
parent 003ead0189
commit 50ae11c3c4
11 changed files with 285 additions and 703 deletions
-324
View File
@@ -1,324 +0,0 @@
{
"updated_at": "2026-07-08",
"source": "https://www.atlantafed.org/cenfis/market-probability-tracker",
"note": "Probabilités dérivées des options sur futures SOFR 3 mois (CME) — méthodologie Atlanta Fed, mise à jour quotidienne. Fourchettes exprimées en bps (350bps-375bps = 3.50%-3.75%). Alternative aux 30-day Fed Fund Futures (Investing.com Fed Rate Monitor).",
"asOf": "2026-07-07",
"windows": [
{
"windowStartIso": "2026-09-16",
"anchorRange": "350bps - 375bps",
"probCutPct": 1.11,
"probHikePct": 72.36,
"rate25": 373.91,
"rateMean": 389.01,
"rateMode": 377.79,
"rate75": 402.99,
"distribution": [
{
"rangeLabel": "350bps - 375bps",
"probPct": 27.21
},
{
"rangeLabel": "375bps - 400bps",
"probPct": 45.73
},
{
"rangeLabel": "400bps - 425bps",
"probPct": 21.41
},
{
"rangeLabel": "425bps - 450bps",
"probPct": 5.65
}
]
},
{
"windowStartIso": "2026-12-16",
"anchorRange": "350bps - 375bps",
"probCutPct": 6.94,
"probHikePct": 74.76,
"rate25": 374.76,
"rateMean": 402.98,
"rateMode": 380.27,
"rate75": 430.76,
"distribution": [
{
"rangeLabel": "325bps - 350bps",
"probPct": 5.09
},
{
"rangeLabel": "350bps - 375bps",
"probPct": 19.04
},
{
"rangeLabel": "375bps - 400bps",
"probPct": 24.57
},
{
"rangeLabel": "400bps - 425bps",
"probPct": 22.23
},
{
"rangeLabel": "425bps - 450bps",
"probPct": 18.38
},
{
"rangeLabel": "450bps - 475bps",
"probPct": 7.52
},
{
"rangeLabel": "475bps - 500bps",
"probPct": 2.16
},
{
"rangeLabel": "500bps - 525bps",
"probPct": 1.01
}
]
},
{
"windowStartIso": "2027-03-17",
"anchorRange": "350bps - 375bps",
"probCutPct": 12.73,
"probHikePct": 74.32,
"rate25": 373.96,
"rateMean": 408.93,
"rateMode": 397.83,
"rate75": 447.02,
"distribution": [
{
"rangeLabel": "225bps - 250bps",
"probPct": 0.55
},
{
"rangeLabel": "250bps - 275bps",
"probPct": 0.81
},
{
"rangeLabel": "275bps - 300bps",
"probPct": 1.1
},
{
"rangeLabel": "300bps - 325bps",
"probPct": 2.25
},
{
"rangeLabel": "325bps - 350bps",
"probPct": 6.3
},
{
"rangeLabel": "350bps - 375bps",
"probPct": 13.56
},
{
"rangeLabel": "375bps - 400bps",
"probPct": 19.03
},
{
"rangeLabel": "400bps - 425bps",
"probPct": 18.87
},
{
"rangeLabel": "425bps - 450bps",
"probPct": 15.35
},
{
"rangeLabel": "450bps - 475bps",
"probPct": 10.6
},
{
"rangeLabel": "475bps - 500bps",
"probPct": 5.95
},
{
"rangeLabel": "500bps - 525bps",
"probPct": 2.97
},
{
"rangeLabel": "525bps - 550bps",
"probPct": 1.62
},
{
"rangeLabel": "550bps - 575bps",
"probPct": 1.04
}
]
},
{
"windowStartIso": "2027-06-16",
"anchorRange": "350bps - 375bps",
"probCutPct": 19.16,
"probHikePct": 69.12,
"rate25": 363.67,
"rateMean": 407,
"rateMode": 400.61,
"rate75": 452.48,
"distribution": [
{
"rangeLabel": "150bps - 175bps",
"probPct": 0.39
},
{
"rangeLabel": "175bps - 200bps",
"probPct": 0.42
},
{
"rangeLabel": "200bps - 225bps",
"probPct": 0.56
},
{
"rangeLabel": "225bps - 250bps",
"probPct": 0.88
},
{
"rangeLabel": "250bps - 275bps",
"probPct": 1.41
},
{
"rangeLabel": "275bps - 300bps",
"probPct": 2.31
},
{
"rangeLabel": "300bps - 325bps",
"probPct": 4.1
},
{
"rangeLabel": "325bps - 350bps",
"probPct": 7.54
},
{
"rangeLabel": "350bps - 375bps",
"probPct": 12.3
},
{
"rangeLabel": "375bps - 400bps",
"probPct": 16.01
},
{
"rangeLabel": "400bps - 425bps",
"probPct": 16.15
},
{
"rangeLabel": "425bps - 450bps",
"probPct": 13.07
},
{
"rangeLabel": "450bps - 475bps",
"probPct": 9.11
},
{
"rangeLabel": "475bps - 500bps",
"probPct": 5.9
},
{
"rangeLabel": "500bps - 525bps",
"probPct": 3.73
},
{
"rangeLabel": "525bps - 550bps",
"probPct": 2.41
},
{
"rangeLabel": "550bps - 575bps",
"probPct": 1.65
},
{
"rangeLabel": "575bps - 600bps",
"probPct": 1.19
},
{
"rangeLabel": "600bps - 625bps",
"probPct": 0.86
}
]
},
{
"windowStartIso": "2027-09-15",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 349.37,
"rateMean": 401.41,
"rateMode": 391.24,
"rate75": 451.98,
"distribution": []
},
{
"windowStartIso": "2027-12-15",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 336.41,
"rateMean": 394.72,
"rateMode": 386.96,
"rate75": 448.58,
"distribution": []
},
{
"windowStartIso": "2028-03-15",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 325.08,
"rateMean": 390.04,
"rateMode": 382.35,
"rate75": 450.08,
"distribution": []
},
{
"windowStartIso": "2028-06-21",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 315.28,
"rateMean": 387.51,
"rateMode": 382.48,
"rate75": 451.82,
"distribution": []
},
{
"windowStartIso": "2028-09-20",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 311.02,
"rateMean": 386.52,
"rateMode": 383.63,
"rate75": 452.56,
"distribution": []
},
{
"windowStartIso": "2028-12-20",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 307.04,
"rateMean": 386.45,
"rateMode": 376.34,
"rate75": 454.85,
"distribution": []
},
{
"windowStartIso": "2029-03-21",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 291.57,
"rateMean": 386.97,
"rateMode": 363.95,
"rate75": 461.23,
"distribution": []
},
{
"windowStartIso": "2029-06-20",
"anchorRange": null,
"probCutPct": null,
"probHikePct": null,
"rate25": 268.96,
"rateMean": 387,
"rateMode": 354.61,
"rate75": 506.12,
"distribution": []
}
]
}
+1 -1
View File
@@ -1 +1 @@
{"ts":1783543879291,"data":{"current":{"NZD":{"currency":"NZD","nextMeetingProbPct":82,"nextMeetingIsHike":true,"nextMeetingIsNoChange":false,"bpsYearEnd":62,"publishedDate":"2026-07-03"},"USD":{"currency":"USD","nextMeetingProbPct":17,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":30,"publishedDate":"2026-07-03"},"EUR":{"currency":"EUR","nextMeetingProbPct":28,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":24,"publishedDate":"2026-07-03"},"JPY":{"currency":"JPY","nextMeetingProbPct":1,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":20,"publishedDate":"2026-07-03"},"GBP":{"currency":"GBP","nextMeetingProbPct":7,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":18,"publishedDate":"2026-07-03"},"AUD":{"currency":"AUD","nextMeetingProbPct":15,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":10,"publishedDate":"2026-07-03"},"CAD":{"currency":"CAD","nextMeetingProbPct":9,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":8,"publishedDate":"2026-07-03"},"CHF":{"currency":"CHF","nextMeetingProbPct":4,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":5,"publishedDate":"2026-07-03"}},"prev":{"NZD":{"currency":"NZD","nextMeetingProbPct":62,"nextMeetingIsHike":true,"nextMeetingIsNoChange":false,"bpsYearEnd":55,"publishedDate":"2026-06-26"},"USD":{"currency":"USD","nextMeetingProbPct":30,"nextMeetingIsHike":true,"nextMeetingIsNoChange":false,"bpsYearEnd":31,"publishedDate":"2026-06-26"},"EUR":{"currency":"EUR","nextMeetingProbPct":31,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":27,"publishedDate":"2026-06-26"},"GBP":{"currency":"GBP","nextMeetingProbPct":14,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":20,"publishedDate":"2026-06-26"},"JPY":{"currency":"JPY","nextMeetingProbPct":3,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":19,"publishedDate":"2026-06-26"},"CAD":{"currency":"CAD","nextMeetingProbPct":4,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":18,"publishedDate":"2026-06-26"},"AUD":{"currency":"AUD","nextMeetingProbPct":13,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":8,"publishedDate":"2026-06-26"},"CHF":{"currency":"CHF","nextMeetingProbPct":6,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":5,"publishedDate":"2026-06-26"}},"prevDate":"2026-06-26"}}
{"ts":1783590012160,"data":{"current":{"NZD":{"currency":"NZD","nextMeetingProbPct":82,"nextMeetingIsHike":true,"nextMeetingIsNoChange":false,"bpsYearEnd":62,"publishedDate":"2026-07-03"},"USD":{"currency":"USD","nextMeetingProbPct":17,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":30,"publishedDate":"2026-07-03"},"EUR":{"currency":"EUR","nextMeetingProbPct":28,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":24,"publishedDate":"2026-07-03"},"JPY":{"currency":"JPY","nextMeetingProbPct":1,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":20,"publishedDate":"2026-07-03"},"GBP":{"currency":"GBP","nextMeetingProbPct":7,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":18,"publishedDate":"2026-07-03"},"AUD":{"currency":"AUD","nextMeetingProbPct":15,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":10,"publishedDate":"2026-07-03"},"CAD":{"currency":"CAD","nextMeetingProbPct":9,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":8,"publishedDate":"2026-07-03"},"CHF":{"currency":"CHF","nextMeetingProbPct":4,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":5,"publishedDate":"2026-07-03"}},"prev":{"NZD":{"currency":"NZD","nextMeetingProbPct":62,"nextMeetingIsHike":true,"nextMeetingIsNoChange":false,"bpsYearEnd":55,"publishedDate":"2026-06-26"},"USD":{"currency":"USD","nextMeetingProbPct":30,"nextMeetingIsHike":true,"nextMeetingIsNoChange":false,"bpsYearEnd":31,"publishedDate":"2026-06-26"},"EUR":{"currency":"EUR","nextMeetingProbPct":31,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":27,"publishedDate":"2026-06-26"},"GBP":{"currency":"GBP","nextMeetingProbPct":14,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":20,"publishedDate":"2026-06-26"},"JPY":{"currency":"JPY","nextMeetingProbPct":3,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":19,"publishedDate":"2026-06-26"},"CAD":{"currency":"CAD","nextMeetingProbPct":4,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":18,"publishedDate":"2026-06-26"},"AUD":{"currency":"AUD","nextMeetingProbPct":13,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":8,"publishedDate":"2026-06-26"},"CHF":{"currency":"CHF","nextMeetingProbPct":6,"nextMeetingIsHike":false,"nextMeetingIsNoChange":true,"bpsYearEnd":5,"publishedDate":"2026-06-26"}},"prevDate":"2026-06-26"}}
+120 -57
View File
@@ -7,110 +7,110 @@
{
"meeting": "Jul 29",
"meeting_iso": "2026-07-29",
"implied_rate_post_meeting": 3.833,
"prob_move_pct": 33,
"implied_rate_post_meeting": 3.8165,
"prob_move_pct": 27,
"prob_is_cut": false,
"change_bps": 8.300000000000018,
"num_moves": 0.33200000000000074
"change_bps": 6.65,
"num_moves": 0.266
},
{
"meeting": "Sep 16",
"meeting_iso": "2026-09-16",
"implied_rate_post_meeting": 3.9648,
"prob_move_pct": 68,
"implied_rate_post_meeting": 3.9441,
"prob_move_pct": 64,
"prob_is_cut": false,
"change_bps": 21.47999999999999,
"num_moves": 0.8591999999999996
"change_bps": 19.410000000000018,
"num_moves": 0.7764000000000008
},
{
"meeting": "Oct 28",
"meeting_iso": "2026-10-28",
"implied_rate_post_meeting": 4.028,
"prob_move_pct": 76,
"implied_rate_post_meeting": 4.0013,
"prob_move_pct": 72,
"prob_is_cut": false,
"change_bps": 27.799999999999958,
"num_moves": 1.1119999999999983
"change_bps": 25.129999999999963,
"num_moves": 1.0051999999999985
},
{
"meeting": "Dec 9",
"meeting_iso": "2026-12-09",
"implied_rate_post_meeting": 4.1216,
"prob_move_pct": 85,
"implied_rate_post_meeting": 4.0998,
"prob_move_pct": 83,
"prob_is_cut": false,
"change_bps": 37.16,
"num_moves": 1.4864
"change_bps": 34.98000000000001,
"num_moves": 1.3992000000000004
},
{
"meeting": "Jan 27",
"meeting_iso": "2027-01-27",
"implied_rate_post_meeting": 4.1638,
"prob_move_pct": 88,
"implied_rate_post_meeting": 4.1415,
"prob_move_pct": 86,
"prob_is_cut": false,
"change_bps": 41.38000000000002,
"num_moves": 1.6552000000000007
"change_bps": 39.14999999999998,
"num_moves": 1.5659999999999992
},
{
"meeting": "Mar 17",
"meeting_iso": "2027-03-17",
"implied_rate_post_meeting": 4.2123,
"prob_move_pct": 90,
"implied_rate_post_meeting": 4.1949,
"prob_move_pct": 89,
"prob_is_cut": false,
"change_bps": 46.22999999999999,
"num_moves": 1.8491999999999995
"change_bps": 44.48999999999997,
"num_moves": 1.7795999999999987
},
{
"meeting": "Apr 28",
"meeting_iso": "2027-04-28",
"implied_rate_post_meeting": 4.2278,
"prob_move_pct": 91,
"implied_rate_post_meeting": 4.207,
"prob_move_pct": 89,
"prob_is_cut": false,
"change_bps": 47.78000000000002,
"num_moves": 1.911200000000001
"change_bps": 45.69999999999999,
"num_moves": 1.8279999999999996
},
{
"meeting": "Jun 9",
"meeting_iso": "2027-06-09",
"implied_rate_post_meeting": 4.2172,
"prob_move_pct": 90,
"implied_rate_post_meeting": 4.1903,
"prob_move_pct": 88,
"prob_is_cut": false,
"change_bps": 46.720000000000006,
"num_moves": 1.8688000000000002
"change_bps": 44.02999999999997,
"num_moves": 1.761199999999999
},
{
"meeting": "Jul 28",
"meeting_iso": "2027-07-28",
"implied_rate_post_meeting": 4.1827,
"prob_move_pct": 85,
"implied_rate_post_meeting": 4.1616,
"prob_move_pct": 84,
"prob_is_cut": false,
"change_bps": 43.26999999999997,
"num_moves": 1.7307999999999988
"change_bps": 41.16,
"num_moves": 1.6463999999999999
},
{
"meeting": "Sep 15",
"meeting_iso": "2027-09-15",
"implied_rate_post_meeting": 4.128,
"prob_move_pct": 79,
"implied_rate_post_meeting": 4.142,
"prob_move_pct": 82,
"prob_is_cut": false,
"change_bps": 37.80000000000001,
"num_moves": 1.5120000000000005
"change_bps": 39.20000000000003,
"num_moves": 1.5680000000000012
},
{
"meeting": "Oct 27",
"meeting_iso": "2027-10-27",
"implied_rate_post_meeting": 4.0686,
"prob_move_pct": 72,
"implied_rate_post_meeting": 4.1072,
"prob_move_pct": 77,
"prob_is_cut": false,
"change_bps": 31.86,
"num_moves": 1.2744
"change_bps": 35.71999999999997,
"num_moves": 1.4287999999999987
},
{
"meeting": "Dec 8",
"meeting_iso": "2027-12-08",
"implied_rate_post_meeting": 4.0492,
"prob_move_pct": 70,
"implied_rate_post_meeting": 4.0853,
"prob_move_pct": 75,
"prob_is_cut": false,
"change_bps": 29.91999999999999,
"num_moves": 1.1967999999999996
"change_bps": 33.530000000000015,
"num_moves": 1.3412000000000006
}
]
}
@@ -120,13 +120,40 @@
"midpoint": 2.4,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"implied_rate_post_meeting": 2.6399999999999997,
"meeting": "Jul 23",
"meeting_iso": "2026-07-23",
"implied_rate_post_meeting": 2.47,
"prob_move_pct": 28,
"prob_is_cut": false,
"change_bps": 24,
"num_moves": 0.96
"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
}
]
}
@@ -136,10 +163,46 @@
"midpoint": 3.75,
"rows": [
{
"meeting": "Dec",
"meeting_iso": "2026-12-31",
"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": 7,
"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
@@ -228,7 +291,7 @@
}
}
},
"fetchedAt": "2026-07-09T08:20:31.516Z",
"fetchedAt": "2026-07-09T09:45:09.636Z",
"snapshots": [
{
"data": {