summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Radovanovic <74266147+IgorWounds@users.noreply.github.com>2024-02-19 17:12:19 +0100
committerGitHub <noreply@github.com>2024-02-19 16:12:19 +0000
commit0b5260fc10d3395b375e542584b5e82b4d528afb (patch)
tree9f09a35c8b2af44c86bc52ae1a7df270f4c39355
parent9f1891931cca50ea43587bc38dfeb49006222a65 (diff)
[BugFix] - Fix POST docstring examples (#6095)
* Fix POST docstring examples. * Move router examples to command decorator
-rw-r--r--openbb_platform/core/openbb_core/app/static/package_builder.py24
-rw-r--r--openbb_platform/extensions/econometrics/openbb_econometrics/econometrics_router.py115
-rw-r--r--openbb_platform/extensions/quantitative/openbb_quantitative/quantitative_router.py148
-rw-r--r--openbb_platform/extensions/technical/openbb_technical/technical_router.py366
4 files changed, 328 insertions, 325 deletions
diff --git a/openbb_platform/core/openbb_core/app/static/package_builder.py b/openbb_platform/core/openbb_core/app/static/package_builder.py
index ea57bfbbd98..52a16185467 100644
--- a/openbb_platform/core/openbb_core/app/static/package_builder.py
+++ b/openbb_platform/core/openbb_core/app/static/package_builder.py
@@ -493,7 +493,7 @@ class MethodDefinition:
@staticmethod
def get_extra(field: FieldInfo) -> dict:
- """Get json schema extra"""
+ """Get json schema extra."""
field_default = getattr(field, "default", None)
if field_default:
return getattr(field_default, "json_schema_extra", {})
@@ -542,7 +542,6 @@ class MethodDefinition:
path: str, parameter_map: Dict[str, Parameter]
) -> OrderedDict[str, Parameter]:
"""Format the params."""
-
DEFAULT_REPLACEMENT = {
"provider": None,
}
@@ -701,13 +700,12 @@ class MethodDefinition:
):
"""Build the command method docstring."""
doc = func.__doc__
- if model_name:
- doc = DocstringGenerator.generate(
- func=func,
- formatted_params=formatted_params,
- model_name=model_name,
- examples=examples,
- )
+ doc = DocstringGenerator.generate(
+ func=func,
+ formatted_params=formatted_params,
+ model_name=model_name,
+ examples=examples,
+ )
code = f' """{doc} """ # noqa: E501\n\n' if doc else ""
return code
@@ -777,7 +775,7 @@ class MethodDefinition:
@classmethod
def get_expanded_type(cls, field_name: str, extra: Optional[dict] = None) -> object:
- """Expand the original field type"""
+ """Expand the original field type."""
if extra and "multiple_items_allowed" in extra:
return List[str]
return cls.TYPE_EXPANSION.get(field_name, ...)
@@ -1008,6 +1006,12 @@ class DocstringGenerator:
examples=examples,
)
return doc
+ if examples and examples != [""] and doc:
+ doc += "\n Examples\n --------\n"
+ doc += " >>> from openbb import obb\n"
+ for example in examples:
+ if example != "":
+ doc += f" >>> {example}\n"
return doc
@staticmethod
diff --git a/openbb_platform/extensions/econometrics/openbb_econometrics/econometrics_router.py b/openbb_platform/extensions/econometrics/openbb_econometrics/econometrics_router.py
index 5ef694fc90e..0c7b52529a0 100644
--- a/openbb_platform/extensions/econometrics/openbb_econometrics/econometrics_router.py
+++ b/openbb_platform/extensions/econometrics/openbb_econometrics/econometrics_router.py
@@ -29,7 +29,13 @@ from openbb_econometrics.utils import get_engle_granger_two_step_cointegration_t
router = Router(prefix="")
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.econometrics.correlation_matrix(data=stock_data)",
+ ],
+)
def correlation_matrix(data: List[Data]) -> OBBject[List[Data]]:
"""Get the correlation matrix of an input dataset.
@@ -47,12 +53,6 @@ def correlation_matrix(data: List[Data]) -> OBBject[List[Data]]:
-------
OBBject[List[Data]]:
Correlation matrix.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.correlation_matrix(data=stock_data)
"""
df = basemodel_to_df(data)
# remove non float columns from the dataframe to perform the correlation
@@ -70,7 +70,14 @@ def correlation_matrix(data: List[Data]) -> OBBject[List[Data]]:
return OBBject(results=ret)
-@router.command(methods=["POST"], include_in_schema=False)
+@router.command(
+ methods=["POST"],
+ include_in_schema=False,
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.ols_regression(data=stock_data, y_column="close", x_columns=["open", "high", "low"])',
+ ],
+)
def ols_regression(
data: List[Data],
y_column: str,
@@ -96,12 +103,6 @@ def ols_regression(
-------
OBBject[Dict]:
OBBject with the results being model and results objects.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.ols_regression(data=stock_data, y_column="close", x_columns=["open", "high", "low"])
"""
X = sm.add_constant(get_target_columns(basemodel_to_df(data), x_columns))
y = get_target_column(basemodel_to_df(data), y_column)
@@ -110,7 +111,13 @@ def ols_regression(
return OBBject(results={"model": model, "results": results})
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.ols_regression_summary(data=stock_data, y_column="close", x_columns=["open", "high", "low"])',
+ ],
+)
def ols_regression_summary(
data: List[Data],
y_column: str,
@@ -133,12 +140,6 @@ def ols_regression_summary(
-------
OBBject[Data]:
OBBject with the results being summary object.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.ols_regression_summary(data=stock_data, y_column="close", x_columns=["open", "high", "low"])
"""
X = sm.add_constant(get_target_columns(basemodel_to_df(data), x_columns))
y = get_target_column(basemodel_to_df(data), y_column)
@@ -183,7 +184,13 @@ def ols_regression_summary(
return OBBject(results=clean_results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.autocorrelation(data=stock_data, y_column="close", x_columns=["open", "high", "low"])',
+ ],
+)
def autocorrelation(
data: List[Data],
y_column: str,
@@ -212,12 +219,6 @@ def autocorrelation(
-------
OBBject[Dict]:
OBBject with the results being the score from the test.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.autocorrelation(data=stock_data, y_column="close", x_columns=["open", "high", "low"])
"""
X = sm.add_constant(get_target_columns(basemodel_to_df(data), x_columns))
y = get_target_column(basemodel_to_df(data), y_column)
@@ -225,7 +226,13 @@ def autocorrelation(
return OBBject(results=Data(score=durbin_watson(results.resid)))
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.residual_autocorrelation(data=stock_data, y_column="close", x_columns=["open", "high", "low"])',
+ ],
+)
def residual_autocorrelation(
data: List[Data],
y_column: str,
@@ -257,12 +264,6 @@ def residual_autocorrelation(
-------
OBBject[Data]:
OBBject with the results being the score from the test.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.residual_autocorrelation(data=stock_data, y_column="close", x_columns=["open", "high", "low"])
"""
X = sm.add_constant(get_target_columns(basemodel_to_df(data), x_columns))
y = get_target_column(basemodel_to_df(data), y_column)
@@ -280,7 +281,13 @@ def residual_autocorrelation(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.cointegration(data=stock_data, columns=["open", "close"])',
+ ],
+)
def cointegration(
data: List[Data],
columns: List[str],
@@ -309,12 +316,6 @@ def cointegration(
-------
OBBject[Data]:
OBBject with the results being the score from the test.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.cointegration(data=stock_data, columns=["open", "close"])
"""
pairs = list(combinations(columns, 2))
dataset = get_target_columns(basemodel_to_df(data), columns)
@@ -339,7 +340,13 @@ def cointegration(
return OBBject(results=result)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.causality(data=stock_data, y_column="close", x_column="open")',
+ ],
+)
def causality(
data: List[Data],
y_column: str,
@@ -371,12 +378,6 @@ def causality(
-------
OBBject[Data]:
OBBject with the results being the score from the test.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.causality(data=stock_data, y_column="close", x_column="open")
"""
X = get_target_column(basemodel_to_df(data), x_column)
y = get_target_column(basemodel_to_df(data), y_column)
@@ -396,7 +397,14 @@ def causality(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.econometrics.unit_root(data=stock_data, column="close")',
+ 'obb.econometrics.unit_root(data=stock_data, column="close", regression="ct")',
+ ],
+)
def unit_root(
data: List[Data],
column: str,
@@ -427,13 +435,6 @@ def unit_root(
-------
OBBject[Data]:
OBBject with the results being the score from the test.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.econometrics.unit_root(data=stock_data, column="close")
- >>> obb.econometrics.unit_root(data=stock_data, column="close", regression="ct")
"""
dataset = get_target_column(basemodel_to_df(data), column)
adfstat, pvalue, usedlag, nobs, _, icbest = adfuller(dataset, regression=regression)
diff --git a/openbb_platform/extensions/quantitative/openbb_quantitative/quantitative_router.py b/openbb_platform/extensions/quantitative/openbb_quantitative/quantitative_router.py
index ac1392ae0be..a381da937cb 100644
--- a/openbb_platform/extensions/quantitative/openbb_quantitative/quantitative_router.py
+++ b/openbb_platform/extensions/quantitative/openbb_quantitative/quantitative_router.py
@@ -30,7 +30,13 @@ from .models import (
router = Router(prefix="")
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.normality(data=stock_data, target='close')",
+ ],
+)
def normality(data: List[Data], target: str) -> OBBject[NormalityModel]:
"""Get Normality Statistics.
@@ -51,12 +57,6 @@ def normality(data: List[Data], target: str) -> OBBject[NormalityModel]:
-------
OBBject[NormalityModel]
Normality tests summary. See qa_models.NormalityModel for details.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.normality(data=stock_data, target="close")
"""
from scipy import stats # pylint: disable=import-outside-toplevel
@@ -80,7 +80,13 @@ def normality(data: List[Data], target: str) -> OBBject[NormalityModel]:
return OBBject(results=norm_summary)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.capm(data=stock_data, target='close')",
+ ],
+)
def capm(data: List[Data], target: str) -> OBBject[CAPMModel]:
"""Get Capital Asset Pricing Model (CAPM).
@@ -99,12 +105,6 @@ def capm(data: List[Data], target: str) -> OBBject[CAPMModel]:
-------
OBBject[CAPMModel]
CAPM model summary.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").results
- >>> obb.quantitative.capm(data=stock_data, target="close")
"""
import statsmodels.api as sm # pylint: disable=import-outside-toplevel # type: ignore
@@ -137,7 +137,13 @@ def capm(data: List[Data], target: str) -> OBBject[CAPMModel]:
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.omega_ratio(data=stock_data, target='close')",
+ ],
+)
def omega_ratio(
data: List[Data],
target: str,
@@ -165,12 +171,6 @@ def omega_ratio(
-------
OBBject[List[OmegaModel]]
Omega ratios.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.omega_ratio(data=stock_data, target="close")
"""
df = basemodel_to_df(data)
series_target = get_target_column(df, target)
@@ -195,7 +195,13 @@ def omega_ratio(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.kurtosis(data=stock_data, target='close', window=252)",
+ ],
+)
def kurtosis(
data: List[Data], target: str, window: PositiveInt = 21, index: str = "date"
) -> OBBject[List[Data]]:
@@ -223,12 +229,6 @@ def kurtosis(
-------
OBBject[List[Data]]
Kurtosis.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.kurtosis(data=stock_data, target="close", window=252)
"""
import pandas_ta as ta # pylint: disable=import-outside-toplevel # type: ignore
@@ -243,7 +243,14 @@ def kurtosis(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.unitroot_test(data=stock_data, target='close')",
+ 'obb.quantitative.unitroot_test(data=stock_data, target="close", fuller_reg="ct", kpss_reg="ct")',
+ ],
+)
def unitroot_test(
data: List[Data],
target: str,
@@ -275,13 +282,6 @@ def unitroot_test(
-------
OBBject[UnitRootModel]
Unit root tests summary.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.unitroot_test(data=stock_data, target="close")
- >>> obb.quantitative.unitroot_test(data=stock_data, target="close", fuller_reg="ct", kpss_reg="ct")
"""
# pylint: disable=import-outside-toplevel
from statsmodels.tsa import stattools # type: ignore
@@ -309,7 +309,14 @@ def unitroot_test(
return OBBject(results=unitroot_summary)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.sharpe_ratio(data=stock_data, target='close')",
+ "obb.quantitative.sharpe_ratio(data=stock_data, target='close', rfr=0.01, window=126)",
+ ],
+)
def sharpe_ratio(
data: List[Data],
target: str,
@@ -342,13 +349,6 @@ def sharpe_ratio(
-------
OBBject[List[Data]]
Sharpe ratio.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.sharpe_ratio(data=stock_data, target="close")
- >>> obb.quantitative.sharpe_ratio(data=stock_data, target="close", rfr=0.01, window=126)
"""
df = basemodel_to_df(data, index=index)
series_target = get_target_column(df, target)
@@ -363,7 +363,14 @@ def sharpe_ratio(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.sortino_ratio(data=stock_data, target='close')",
+ "obb.quantitative.sortino_ratio(data=stock_data, target='close', target_return=0.01, window=126, adjusted=True)",
+ ],
+)
def sortino_ratio(
data: List[Data],
target: str,
@@ -404,13 +411,6 @@ def sortino_ratio(
-------
OBBject[List[Data]]
Sortino ratio.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.sortino_ratio(data=stock_data, target="close")
- >>> obb.quantitative.sortino_ratio(data=stock_data, target="close", target_return=0.01, window=126, adjusted=True)
"""
df = basemodel_to_df(data, index=index)
series_target = get_target_column(df, target)
@@ -433,7 +433,13 @@ def sortino_ratio(
return OBBject(results=results_)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.skewness(data=stock_data, target='close', window=252)",
+ ],
+)
def skewness(
data: List[Data], target: str, window: PositiveInt = 21, index: str = "date"
) -> OBBject[List[Data]]:
@@ -459,12 +465,6 @@ def skewness(
-------
OBBject[List[Data]]
Skewness.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.skewness(data=stock_data, target="close", window=252)
"""
import pandas_ta as ta # pylint: disable=import-outside-toplevel # type: ignore
@@ -479,7 +479,14 @@ def skewness(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ 'obb.quantitative.quantile(data=stock_data, target="close", window=252, quantile_pct=0.25)',
+ "obb.quantitative.quantile(data=stock_data, target='close', window=252, quantile_pct=0.75)",
+ ],
+)
def quantile(
data: List[Data],
target: str,
@@ -510,13 +517,6 @@ def quantile(
-------
OBBject[List[Data]]
Quantile.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.quantile(data=stock_data, target="close", window=252, quantile_pct=0.25)
- >>> obb.quantitative.quantile(data=stock_data, target="close", window=252, quantile_pct=0.75)
"""
import pandas_ta as ta # pylint: disable=import-outside-toplevel # type: ignore
@@ -534,7 +534,13 @@ def quantile(
return OBBject(results=results_)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()",
+ "obb.quantitative.volatility(data=stock_data, target='close')",
+ ],
+)
def summary(data: List[Data], target: str) -> OBBject[SummaryModel]:
"""Get Summary Statistics.
@@ -556,12 +562,6 @@ def summary(data: List[Data], target: str) -> OBBject[SummaryModel]:
-------
OBBject[SummaryModel]
Summary table.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp").to_df()
- >>> obb.quantitative.summary(data=stock_data, target="close")
"""
df = basemodel_to_df(data)
series_target = get_target_column(df, target)
diff --git a/openbb_platform/extensions/technical/openbb_technical/technical_router.py b/openbb_platform/extensions/technical/openbb_technical/technical_router.py
index 6b3a430f60f..60b27220b95 100644
--- a/openbb_platform/extensions/technical/openbb_technical/technical_router.py
+++ b/openbb_platform/extensions/technical/openbb_technical/technical_router.py
@@ -22,7 +22,13 @@ from . import helpers
router = Router(prefix="")
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')",
+ "atr_data = obb.technical.atr(data=stock_data.results)",
+ ],
+)
def atr(
data: List[Data],
index: str = "date",
@@ -60,12 +66,6 @@ def atr(
-------
OBBject[List[Data]]
List of data with the indicator applied.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp")
- >>> atr_data = obb.technical.atr(data=stock_data.results)
"""
df = basemodel_to_df(data, index=index)
df_target = get_target_columns(df, ["high", "low", "close"])
@@ -79,7 +79,13 @@ def atr(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')",
+ "fib_data = obb.technical.fib(data=stock_data.results, period=120)",
+ ],
+)
def fib(
data: List[Data],
index: str = "date",
@@ -109,12 +115,6 @@ def fib(
-------
OBBject[List[Data]]
List of data with the indicator applied.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp")
- >>> fib_data = obb.technical.fib(data=stock_data.results, period=120)
"""
df = basemodel_to_df(data, index=index)
@@ -144,7 +144,13 @@ def fib(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')",
+ "obv_data = obb.technical.obv(data=stock_data.results, offset=0)",
+ ],
+)
def obv(
data: List[Data],
index: str = "date",
@@ -174,12 +180,6 @@ def obv(
-------
OBBject[List[Data]]
List of data with the indicator applied.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp")
- >>> obv_data = obb.technical.obv(data=stock_data.results, offset=0)
"""
df = basemodel_to_df(data, index=index)
df_target = get_target_columns(df, ["close", "volume"])
@@ -191,7 +191,13 @@ def obv(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')",
+ "fisher_data = obb.technical.fisher(data=stock_data.results, length=14, signal=1)",
+ ],
+)
def fisher(
data: List[Data],
index: str = "date",
@@ -221,12 +227,6 @@ def fisher(
-------
OBBject[List[Data]]
List of data with the indicator applied.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp")
- >>> fisher_data = obb.technical.fisher(data=stock_data.results, length=14, signal=1)
"""
df = basemodel_to_df(data, index=index)
df_target = get_target_columns(df, ["high", "low"])
@@ -238,7 +238,13 @@ def fisher(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')",
+ "adosc_data = obb.technical.adosc(data=stock_data.results, fast=3, slow=10, offset=0)",
+ ],
+)
def adosc(
data: List[Data],
index: str = "date",
@@ -271,12 +277,6 @@ def adosc(
Returns
-------
OBBject[List[Data]]
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp")
- >>> adosc_data = obb.technical.adosc(data=stock_data.results, fast=3, slow=10, offset=0)
"""
df = basemodel_to_df(data, index=index)
df_target = get_target_columns(df, ["high", "low", "close", "volume", "open"])
@@ -288,7 +288,13 @@ def adosc(
return OBBject(results=results)
-@router.command(methods=["POST"])
+@router.command(
+ methods=["POST"],
+ examples=[
+ "stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')",
+ "bbands_data = obb.technical.bbands(data=stock_data.results, target='close', length=50, std=2, mamode='sma')",
+ ],
+)
def bbands(
data: List[Data],
target: str = "close",
@@ -334,14 +340,6 @@ def bbands(
-------
OBBject[List[Data]]
The calculated data.
-
- Examples
- --------
- >>> from openbb import obb
- >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp")
- >>> bbands = obb.technical.bbands(
- >>> data=stock_data.results, target="close", length=50, std=2, mamode="sma", offset=0
- >>> )
"""
df = basemodel_to_df(data, index=index)