diff options
63 files changed, 7503 insertions, 3422 deletions
diff --git a/openbb_platform/core/openbb_core/provider/standard_models/ameribor_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/ameribor.py index 4dad428a6a1..2edf6f66b67 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/ameribor_rates.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/ameribor.py @@ -13,7 +13,7 @@ from openbb_core.provider.utils.descriptions import ( ) -class AMERIBORQueryParams(QueryParams): +class AmeriborQueryParams(QueryParams): """AMERIBOR Query.""" start_date: Optional[dateType] = Field( @@ -26,8 +26,19 @@ class AMERIBORQueryParams(QueryParams): ) -class AMERIBORData(Data): +class AmeriborData(Data): """AMERIBOR Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="AMERIBOR rate.") + symbol: Optional[str] = Field( + default=None, description=DATA_DESCRIPTIONS.get("symbol", "") + ) + maturity: str = Field(description="Maturity length of the item.") + rate: float = Field( + description="Interest rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + title: Optional[str] = Field( + default=None, + description="Title of the series.", + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/cp.py b/openbb_platform/core/openbb_core/provider/standard_models/commercial_paper.py index 8fbc9888f4b..2f4fc5cdb5c 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/cp.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/commercial_paper.py @@ -3,9 +3,9 @@ from datetime import ( date as dateType, ) -from typing import Literal, Optional +from typing import Optional -from pydantic import Field, field_validator +from pydantic import Field from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.query_params import QueryParams @@ -26,28 +26,21 @@ class CommercialPaperParams(QueryParams): default=None, description=QUERY_DESCRIPTIONS.get("end_date", ""), ) - maturity: Literal["overnight", "7d", "15d", "30d", "60d", "90d"] = Field( - default="30d", - description="The maturity.", - ) - category: Literal["asset_backed", "financial", "nonfinancial"] = Field( - default="financial", - description="The category.", - ) - grade: Literal["aa", "a2_p2"] = Field( - default="aa", - description="The grade.", - ) - - @field_validator("maturity", "category", "grade", mode="before", check_fields=False) - @classmethod - def to_lower(cls, v: Optional[str]) -> Optional[str]: - """Convert field to lowercase.""" - return v.lower() if v else v class CommercialPaperData(Data): """Commercial Paper Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="Commercial Paper Rate.") + symbol: Optional[str] = Field( + default=None, description=DATA_DESCRIPTIONS.get("symbol", "") + ) + maturity: str = Field(description="Maturity length of the item.") + rate: float = Field( + description="Interest rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + title: Optional[str] = Field( + default=None, + description="Title of the series.", + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py deleted file mode 100644 index 0745183360c..00000000000 --- a/openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py +++ /dev/null @@ -1,33 +0,0 @@ -"""ESTR Standard Model.""" - -from datetime import date as dateType -from typing import Optional - -from pydantic import Field - -from openbb_core.provider.abstract.data import Data -from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) - - -class ESTRQueryParams(QueryParams): - """ESTR Query.""" - - start_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("start_date", ""), - ) - end_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("end_date", ""), - ) - - -class ESTRData(Data): - """ESTR Data.""" - - date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="ESTR rate.") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py b/openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py new file mode 100644 index 00000000000..dfe1959d37a --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py @@ -0,0 +1,67 @@ +"""Euro Short Term Rate Standard Model.""" + +from datetime import date as dateType +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class EuroShortTermRateQueryParams(QueryParams): + """Euro Short Term Rate Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class EuroShortTermRateData(Data): + """Euro Short Term Rate Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + rate: float = Field( + description="Volume-weighted trimmed mean rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_25: Optional[float] = Field( + default=None, + description="Rate at 25th percentile of volume.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_75: Optional[float] = Field( + default=None, + description="Rate at 75th percentile of volume.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + volume: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("volume", "")+ " (Millions of €EUR).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1e6, + }, + ) + transactions: Optional[int] = Field( + default=None, + description="Number of transactions.", + ) + number_of_banks: Optional[int] = Field( + default=None, + description="Number of active banks.", + ) + large_bank_share_of_volume: Optional[float] = Field( + default=None, + description="The percent of volume attributable to the 5 largest active banks.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/fed_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/fed_rates.py deleted file mode 100644 index 8ad438b12b2..00000000000 --- a/openbb_platform/core/openbb_core/provider/standard_models/fed_rates.py +++ /dev/null @@ -1,33 +0,0 @@ -"""FED Standard Model.""" - -from datetime import date as dateType -from typing import Optional - -from pydantic import Field - -from openbb_core.provider.abstract.data import Data -from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) - - -class FEDQueryParams(QueryParams): - """FED Query.""" - - start_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("start_date", ""), - ) - end_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("end_date", ""), - ) - - -class FEDData(Data): - """FED Data.""" - - date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="FED rate.") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py b/openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py new file mode 100644 index 00000000000..960f9fe624b --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py @@ -0,0 +1,75 @@ +"""Federal Funds Rate Standard Model.""" + +from datetime import date as dateType +from typing import Optional + |