mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-11-04 00:22:43 +02:00
feat(fred): name the euro-area macro series (#1465)
- get_macro_indicators accepts ecb_deposit_rate, ecb_main_refi_rate, euro_hicp, euro_core_hicp, euro_real_gdp, germany_10y, france_10y and eur_usd
This commit is contained in:
@@ -58,6 +58,25 @@ class FredResolutionTests(unittest.TestCase):
|
|||||||
self.assertEqual(fred._resolve_series_id("Fed Funds Rate"), "FEDFUNDS")
|
self.assertEqual(fred._resolve_series_id("Fed Funds Rate"), "FEDFUNDS")
|
||||||
self.assertEqual(fred._resolve_series_id("10y-treasury"), "DGS10")
|
self.assertEqual(fred._resolve_series_id("10y-treasury"), "DGS10")
|
||||||
|
|
||||||
|
def test_euro_area_aliases_map_to_series_ids(self):
|
||||||
|
# Euro-area context for non-US tickers (e.g. Euronext .PA): FRED mirrors
|
||||||
|
# the ECB policy rates, Eurostat HICP/GDP and OECD long-term yields.
|
||||||
|
expected = {
|
||||||
|
"ecb_deposit_rate": "ECBDFR",
|
||||||
|
"ecb_main_refi_rate": "ECBMRRFR",
|
||||||
|
"euro_hicp": "CP0000EZ19M086NEST",
|
||||||
|
"euro_core_hicp": "00XEFDEZ19M086NEST",
|
||||||
|
"euro_real_gdp": "CLVMNACSCAB1GQEA19",
|
||||||
|
"germany_10y": "IRLTLT01DEM156N",
|
||||||
|
"france_10y": "IRLTLT01FRM156N",
|
||||||
|
"eur_usd": "DEXUSEU",
|
||||||
|
}
|
||||||
|
for alias, series_id in expected.items():
|
||||||
|
with self.subTest(alias=alias):
|
||||||
|
self.assertEqual(fred._resolve_series_id(alias), series_id)
|
||||||
|
self.assertEqual(fred._resolve_series_id("ECB Deposit Rate"), "ECBDFR")
|
||||||
|
self.assertEqual(fred._resolve_series_id("euro-hicp"), "CP0000EZ19M086NEST")
|
||||||
|
|
||||||
def test_unknown_alias_is_treated_as_raw_series_id(self):
|
def test_unknown_alias_is_treated_as_raw_series_id(self):
|
||||||
# Power users can pass any FRED series ID; we uppercase by convention.
|
# Power users can pass any FRED series ID; we uppercase by convention.
|
||||||
self.assertEqual(fred._resolve_series_id("dgs30"), "DGS30")
|
self.assertEqual(fred._resolve_series_id("dgs30"), "DGS30")
|
||||||
|
|||||||
@@ -229,7 +229,9 @@ def get_macro_indicators(
|
|||||||
str,
|
str,
|
||||||
"Macro indicator: a friendly alias such as 'cpi', 'core_pce', "
|
"Macro indicator: a friendly alias such as 'cpi', 'core_pce', "
|
||||||
"'unemployment', 'fed_funds_rate', '10y_treasury', 'yield_curve', "
|
"'unemployment', 'fed_funds_rate', '10y_treasury', 'yield_curve', "
|
||||||
"'real_gdp', 'vix', or a raw FRED series ID such as 'CPIAUCSL'.",
|
"'real_gdp', 'vix', euro-area aliases such as 'ecb_deposit_rate', "
|
||||||
|
"'euro_hicp', 'euro_core_hicp', 'euro_real_gdp', 'germany_10y', "
|
||||||
|
"'france_10y', 'eur_usd', or a raw FRED series ID such as 'CPIAUCSL'.",
|
||||||
],
|
],
|
||||||
curr_date: Annotated[str, "Current date in yyyy-mm-dd format; the end of the window"],
|
curr_date: Annotated[str, "Current date in yyyy-mm-dd format; the end of the window"],
|
||||||
look_back_days: Annotated[
|
look_back_days: Annotated[
|
||||||
@@ -239,7 +241,8 @@ def get_macro_indicators(
|
|||||||
) -> str:
|
) -> str:
|
||||||
"""
|
"""
|
||||||
Retrieve a macroeconomic indicator time series from FRED (Federal Reserve
|
Retrieve a macroeconomic indicator time series from FRED (Federal Reserve
|
||||||
Economic Data): policy rates, Treasury yields, inflation, labor, and growth.
|
Economic Data): policy rates, Treasury yields, inflation, labor, and growth,
|
||||||
|
for the US and, through FRED's mirrored series, the euro area.
|
||||||
Returns the series title, units, frequency, the latest value, the change
|
Returns the series title, units, frequency, the latest value, the change
|
||||||
over the window, and a recent observation table. Uses the configured
|
over the window, and a recent observation table. Uses the configured
|
||||||
macro_data vendor.
|
macro_data vendor.
|
||||||
|
|||||||
+11
@@ -76,6 +76,17 @@ MACRO_SERIES = {
|
|||||||
"consumer_sentiment": "UMCSENT",
|
"consumer_sentiment": "UMCSENT",
|
||||||
"housing_starts": "HOUST",
|
"housing_starts": "HOUST",
|
||||||
"retail_sales": "RSAFS",
|
"retail_sales": "RSAFS",
|
||||||
|
# Euro area (for non-US tickers such as Euronext .PA): FRED mirrors the ECB
|
||||||
|
# policy rates, Eurostat HICP and GDP, and OECD long-term government yields,
|
||||||
|
# so the same vintage pinning keeps euro-area data point-in-time.
|
||||||
|
"ecb_deposit_rate": "ECBDFR",
|
||||||
|
"ecb_main_refi_rate": "ECBMRRFR",
|
||||||
|
"euro_hicp": "CP0000EZ19M086NEST",
|
||||||
|
"euro_core_hicp": "00XEFDEZ19M086NEST",
|
||||||
|
"euro_real_gdp": "CLVMNACSCAB1GQEA19",
|
||||||
|
"germany_10y": "IRLTLT01DEM156N",
|
||||||
|
"france_10y": "IRLTLT01FRM156N",
|
||||||
|
"eur_usd": "DEXUSEU",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user