Files
OpenBB/openbb_platform/openbb/package/fixedincome_rate.py
montezdesousa f328a45b95 [Feature] - refactor examples (#6154)
* remove auto examples and split python from api

* add missing exampels

* rebuild

* query params focstring

* black

* add scoped examples

* group model imports in the router

* unblock api

* fix

* classify examples

* fix package identation

* black sig

* fix indentation without linter

* fix python examples

* remove doc

* pylint

* again

* add model validators

* commodity, crypto, currency

* filter examples

* fix python examples

* fix filter and build

* undo toml change

* add comment

* oop

* comment

* typing

* lint

* Update router.py

* Update econometrics_router.py

* fix to_python

* to_python

* to_python

* black

* fix multiple line field descriptions

* remove circular import

* add missing import

* pass indent as object attr

* doc

* doc

* this looks better

* forgot this

* fix: new examples adapted

* fix prev commit

* avoid future problems

* Update ownership_router.py

* rebuild + remove todo

* make description mandatory for python examples

* simple indent

* append_examples func works for both website and docstring

* Add example unit tests

* Edit example unit tests

* fix validator

* this works

* fix to_python

* fix mandatory docstrings

* typing

* shorter error msgs

* economy router

* fix more examples

* more examples

* more examples

* more examples

* field desc

* minor fix

* fix etf examples

* handling types better

* lint

* rename method

* rename var

* docstring + move method

* typing

* prompt

* rebuild

* prompt fix in PythonEx

* fix examples without model

* example mock data

* add get_field_type func to get field data type

* panel data

* mock data

* fix

* fix

* docstring

* ohlcv

* pylint

* quantitaive router

* simplify mock data

* fix remaining quantitative routers

* a bit more flexibility for examples

* lint

* mock dat from sample

* docstring

* assertion

* bugfix

* minor fix

* technical

* fix integration tests

* fix docstring

* econometrics examples

* econometrics examples

* remove warning

* add technical examples

* fix bad examples

* fix more examples

* update test rules

* remoce old pydantic referenc

* fix bug in treasury prices

* fix quantitative examples

* discovery router

* equity shorts

* equity shorts

* fix currency pairs

* fix sec_router example

* fix panel data to support all funcs

* black

* more examples fixes

* simplify test

* rebuild

* test doc

* add provider to some ex

* ^

* last

* add provider

* rebuild

* working examples

* noqa

* pylint

* pylint

* clean

* minor fix

* fix test

* lint

* ruff

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-03-09 23:22:40 +00:00

749 lines
26 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
import datetime
from typing import Literal, Optional, Union
from openbb_core.app.model.custom_parameter import OpenBBCustomParameter
from openbb_core.app.model.obbject import OBBject
from openbb_core.app.static.container import Container
from openbb_core.app.static.utils.decorators import exception_handler, validate
from openbb_core.app.static.utils.filters import filter_inputs
from typing_extensions import Annotated
class ROUTER_fixedincome_rate(Container):
"""/fixedincome/rate
ameribor
dpcredit
ecb
effr
effr_forecast
estr
iorb
sonia
"""
def __repr__(self) -> str:
return self.__doc__ or ""
@exception_handler
@validate
def ameribor(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Ameribor.
Ameribor (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of
short-term interbank borrowing. This rate is based on transactions in overnight unsecured loans conducted on the
American Financial Exchange (AFX).
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
parameter : Literal['overnight', 'term_30', 'term_90', '1_week_term_structure', '1_month_term_structure', '3_month_term_structure', '6_month_term_structure', '1_year_term_structure', '2_year_term_structure', '30_day_ma', '90_day_ma']
Period of AMERIBOR rate. (provider: fred)
Returns
-------
OBBject
results : List[AMERIBOR]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
AMERIBOR
--------
date : date
The date of the data.
rate : Optional[float]
AMERIBOR rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.ameribor(provider='fred')
>>> obb.fixedincome.rate.ameribor(parameter='30_day_ma', provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/ameribor",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/ameribor",
("fred",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def dpcredit(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Discount Window Primary Credit Rate.
A bank rate is the interest rate a nation's central bank charges to its domestic banks to borrow money.
The rates central banks charge are set to stabilize the economy.
In the United States, the Federal Reserve System's Board of Governors set the bank rate,
also known as the discount rate.
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
parameter : Literal['daily_excl_weekend', 'monthly', 'weekly', 'daily', 'annual']
FRED series ID of DWPCR data. (provider: fred)
Returns
-------
OBBject
results : List[DiscountWindowPrimaryCreditRate]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
DiscountWindowPrimaryCreditRate
-------------------------------
date : date
The date of the data.
rate : Optional[float]
Discount Window Primary Credit Rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.dpcredit(provider='fred')
>>> obb.fixedincome.rate.dpcredit(start_date='2023-02-01', end_date='2023-05-01', provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/dpcredit",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/dpcredit",
("fred",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def ecb(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
interest_rate_type: Annotated[
Literal["deposit", "lending", "refinancing"],
OpenBBCustomParameter(description="The type of interest rate."),
] = "lending",
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""European Central Bank Interest Rates.
The Governing Council of the ECB sets the key interest rates for the euro area:
- The interest rate on the main refinancing operations (MRO), which provide
the bulk of liquidity to the banking system.
- The rate on the deposit facility, which banks may use to make overnight deposits with the Eurosystem.
- The rate on the marginal lending facility, which offers overnight credit to banks from the Eurosystem.
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
interest_rate_type : Literal['deposit', 'lending', 'refinancing']
The type of interest rate.
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
Returns
-------
OBBject
results : List[EuropeanCentralBankInterestRates]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
EuropeanCentralBankInterestRates
--------------------------------
date : date
The date of the data.
rate : Optional[float]
European Central Bank Interest Rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.ecb(provider='fred')
>>> obb.fixedincome.rate.ecb(interest_rate_type='refinancing', provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/ecb",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/ecb",
("fred",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
"interest_rate_type": interest_rate_type,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def effr(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
provider: Annotated[
Optional[Literal["federal_reserve", "fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'federal_reserve' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Fed Funds Rate.
Get Effective Federal Funds Rate data. A bank rate is the interest rate a nation's central bank charges to its
domestic banks to borrow money. The rates central banks charge are set to stabilize the economy. In the
United States, the Federal Reserve System's Board of Governors set the bank rate, also known as the discount rate.
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['federal_reserve', 'fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'federal_reserve' if there is
no default.
parameter : Literal['monthly', 'daily', 'weekly', 'daily_excl_weekend', 'annual', 'biweekly', 'volume']
Period of FED rate. (provider: fred)
Returns
-------
OBBject
results : List[FEDFUNDS]
Serializable results.
provider : Optional[Literal['federal_reserve', 'fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
FEDFUNDS
--------
date : date
The date of the data.
rate : Optional[float]
FED rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.effr(provider='fred')
>>> obb.fixedincome.rate.effr(parameter='daily', provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/effr",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/effr",
("federal_reserve", "fred"),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def effr_forecast(
self,
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Fed Funds Rate Projections.
The projections for the federal funds rate are the value of the midpoint of the
projected appropriate target range for the federal funds rate or the projected
appropriate target level for the federal funds rate at the end of the specified
calendar year or over the longer run.
Parameters
----------
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
long_run : bool
Flag to show long run projections (provider: fred)
Returns
-------
OBBject
results : List[PROJECTIONS]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
PROJECTIONS
-----------
date : date
The date of the data.
range_high : Optional[float]
High projection of rates.
central_tendency_high : Optional[float]
Central tendency of high projection of rates.
median : Optional[float]
Median projection of rates.
range_midpoint : Optional[float]
Midpoint projection of rates.
central_tendency_midpoint : Optional[float]
Central tendency of midpoint projection of rates.
range_low : Optional[float]
Low projection of rates.
central_tendency_low : Optional[float]
Central tendency of low projection of rates.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.effr_forecast(provider='fred')
>>> obb.fixedincome.rate.effr_forecast(long_run=True, provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/effr_forecast",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/effr_forecast",
("fred",),
)
},
standard_params={},
extra_params=kwargs,
)
)
@exception_handler
@validate
def estr(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Euro Short-Term Rate.
The euro short-term rate (€STR) reflects the wholesale euro unsecured overnight borrowing costs of banks located in
the euro area. The €STR is published on each TARGET2 business day based on transactions conducted and settled on
the previous TARGET2 business day (the reporting date “T”) with a maturity date of T+1 which are deemed to have been
executed at arm’s length and thus reflect market rates in an unbiased way.
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
parameter : Literal['volume_weighted_trimmed_mean_rate', 'number_of_transactions', 'number_of_active_banks', 'total_volume', 'share_of_volume_of_the_5_largest_active_banks', 'rate_at_75th_percentile_of_volume', 'rate_at_25th_percentile_of_volume']
Period of ESTR rate. (provider: fred)
Returns
-------
OBBject
results : List[ESTR]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
ESTR
----
date : date
The date of the data.
rate : Optional[float]
ESTR rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.estr(provider='fred')
>>> obb.fixedincome.rate.estr(parameter='number_of_active_banks', provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/estr",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/estr",
("fred",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def iorb(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Interest on Reserve Balances.
Get Interest Rate on Reserve Balances data A bank rate is the interest rate a nation's central bank charges to its
domestic banks to borrow money. The rates central banks charge are set to stabilize the economy. In the
United States, the Federal Reserve System's Board of Governors set the bank rate, also known as the discount rate.
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
Returns
-------
OBBject
results : List[IORB]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
IORB
----
date : date
The date of the data.
rate : Optional[float]
IORB rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.iorb(provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/iorb",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/iorb",
("fred",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def sonia(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="Start date of the data, in YYYY-MM-DD format."
),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBCustomParameter(
description="End date of the data, in YYYY-MM-DD format."
),
] = None,
provider: Annotated[
Optional[Literal["fred"]],
OpenBBCustomParameter(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fred' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Sterling Overnight Index Average.
SONIA (Sterling Overnight Index Average) is an important interest rate benchmark. SONIA is based on actual
transactions and reflects the average of the interest rates that banks pay to borrow sterling overnight from other
financial institutions and other institutional investors.
Parameters
----------
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['fred']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'fred' if there is
no default.
parameter : Literal['rate', 'index', '10th_percentile', '25th_percentile', '75th_percentile', '90th_percentile', 'total_nominal_value']
Period of SONIA rate. (provider: fred)
Returns
-------
OBBject
results : List[SONIA]
Serializable results.
provider : Optional[Literal['fred']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
SONIA
-----
date : date
The date of the data.
rate : Optional[float]
SONIA rate.
Examples
--------
>>> from openbb import obb
>>> obb.fixedincome.rate.sonia(provider='fred')
>>> obb.fixedincome.rate.sonia(parameter='total_nominal_value', provider='fred')
""" # noqa: E501
return self._run(
"/fixedincome/rate/sonia",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/fixedincome/rate/sonia",
("fred",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)