summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-06-11 16:17:49 -0700
committerDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-06-11 16:17:49 -0700
commit4101af7ab3f453b7e816ccdd821fd58db8973fa2 (patch)
tree16d21ff1d985246a80bd0f2cf5c637a9802fd9aa
parentd2023766d5cbfee222c6ba596f54c16dfd4c1a65 (diff)
add treasury minus fed funds to yield curve
-rw-r--r--openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py4
-rw-r--r--openbb_platform/providers/fred/openbb_fred/models/yield_curve.py17
-rw-r--r--openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py7
3 files changed, 26 insertions, 2 deletions
diff --git a/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py b/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py
index 3956e73d98e..d8372614644 100644
--- a/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py
+++ b/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py
@@ -85,7 +85,9 @@ class FredHighQualityMarketCorporateBondFetcher(
dates = query.date.split(",")
dates = [d.replace(d[-2:], "01") if len(d) == 10 else d for d in dates]
dates = list(set(dates))
- dates = [f"&observation_date={date}" for date in dates if date] if dates else ""
+ dates = (
+ [f"&observation_date={date}" for date in dates if date] if dates else ""
+ )
URLS = [
f"https://api.stlouisfed.org/fred/release/tables?release_id=402&element_id={element_id}"
+ f"{date}&include_observation_values=true&api_key={api_key}"
diff --git a/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py b/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py
index 0be0ba37f87..0b8aa22e4a5 100644
--- a/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py
+++ b/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py
@@ -22,12 +22,27 @@ class FREDYieldCurveQueryParams(YieldCurveQueryParams):
__json_schema_extra__ = {"date": {"multiple_items_allowed": True}}
yield_curve_type: Literal[
- "nominal", "real", "breakeven", "corporate_spot", "corporate_par"
+ "nominal",
+ "real",
+ "breakeven",
+ "treasury_minus_fed_funds",
+ "corporate_spot",
+ "corporate_par",
] = Field(
default="nominal",
description="Yield curve type."
+ " Nominal and Real Rates are available daily, others are monthly."
+ " The closest date to the requested date will be returned.",
+ json_schema_extra={
+ "choices": [
+ "nominal",
+ "real",
+ "breakeven",
+ "treasury_minus_fed_funds",
+ "corporate_spot",
+ "corporate_par",
+ ]
+ },
)
diff --git a/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py b/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py
index a51cf745474..276ea7f7d2e 100644
--- a/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py
+++ b/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py
@@ -77,6 +77,13 @@ YIELD_CURVES = {
"T20YIEM": "year_20",
"T30YIEM": "year_30",
},
+ "treasury_minus_fed_funds": {
+ "T3MFF": "month_3",
+ "T6MFF": "month_6",
+ "T1YFF": "year_1",
+ "T5YFF": "year_5",
+ "T10YFF": "year_10",
+ },
"corporate_spot": {
"HQMCB6MT": "month_6",
"HQMCB1YR": "year_1",