summaryrefslogtreecommitdiffstats
path: root/openbb_platform/core/openbb_core/provider/standard_models/eu_yield_curve.py
blob: eaf9efd68779d8c67219db3fd0229674db1baa81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""Euro Area Yield Curve 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 QUERY_DESCRIPTIONS


class EUYieldCurveQueryParams(QueryParams):
    """Euro Area Yield Curve Query."""

    date: Optional[dateType] = Field(
        default=None, description=QUERY_DESCRIPTIONS.get("date", "")
    )


class EUYieldCurveData(Data):
    """Euro Area Yield Curve Data."""

    maturity: Optional[float] = Field(description="Maturity, in years.", default=None)
    rate: Optional[float] = Field(
        description="Yield curve rate, as a normalized percent.",
        default=None,
        json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
    )