From 4495d4d2f57c3bbd880672a61abb0d23ea184aed Mon Sep 17 00:00:00 2001 From: James Maslek Date: Tue, 15 Nov 2022 09:46:29 -0500 Subject: [PATCH] Refactoring econometrics for SDK usability (#3379) * Econometrics enhancements * Docsring * norm show chart when true * isort + lint * Make coint sdk friendly * mypy? * Why you miss this locally pylint? * Clean up granger command * Tests * #3323 * Fix up dwat function * Fix rounding error in test--hopefully * Update bgod and bpag * testing mypy * small commit to help rebase? * Update Panel OLS stuff. Need some more examples and to fix mypy * add docstring example * update controller complete and duplicate printing Co-authored-by: Jeroen Bouma --- .pre-commit-config.yaml | 14 +- .../econometrics/econometrics_controller.py | 175 +-- .../econometrics/econometrics_helpers.py | 1 + .../econometrics/econometrics_model.py | 87 +- .../econometrics/econometrics_view.py | 142 +-- .../econometrics/regression_model.py | 410 +++--- .../econometrics/regression_view.py | 97 +- .../miscellaneous/library/trail_map.csv | 1118 ++++++++--------- ...ality[time_series_y0-time_series_x0-3].csv | 5 + ...ality[time_series_y1-time_series_x1-2].csv | 5 + ...ality[time_series_y2-time_series_x2-1].csv | 5 + .../econometrics/test_econometrics_model.py | 6 +- .../econometrics/test_econometrics_view.py | 18 +- .../test_call_bgod[other0].txt | 1 - .../test_call_bgod[other1].txt | 1 - .../test_call_bgod[other2].txt | 1 - .../test_call_bpag[other0].txt | 1 - .../test_call_bpag[other1].txt | 1 - .../test_call_bpag[other2].txt | 1 - .../test_call_coint[other0].txt | 1 - .../test_call_coint[other1].txt | 1 - .../test_call_coint[other2].txt | 1 - .../test_call_compare.txt | 1 - .../test_call_desc[other0].txt | 1 - .../test_call_desc[other1].txt | 1 - .../test_call_desc[other2].txt | 1 - .../test_call_dwat[other0].txt | 1 - .../test_call_dwat[other1].txt | 1 - .../test_call_dwat[other2].txt | 1 - .../test_call_granger[other0].txt | 1 - .../test_call_granger[other1].txt | 1 - .../test_call_granger[other2].txt | 1 - .../test_call_index.txt | 1 - .../test_call_norm[other0].txt | 1 - .../test_call_norm[other1].txt | 1 - .../test_call_norm[other2].txt | 1 - .../test_call_norm[other3].txt | 1 - .../test_call_ols[other0].txt | 1 - .../test_call_ols[other1].txt | 1 - .../test_call_ols[other2].txt | 1 - .../test_call_panel[other0].txt | 1 - .../test_call_panel[other1].txt | 1 - .../test_call_root[other0].txt | 1 - .../test_call_root[other1].txt | 1 - .../test_call_root[other2].txt | 1 - .../test_call_root[other3].txt | 1 - .../test_call_show[other0].txt | 1 - .../test_call_show[other1].txt | 1 - .../test_call_show[other2].txt | 1 - .../test_call_show[other3].txt | 1 - .../test_call_type[other0].txt | 1 - .../test_call_type[other1].txt | 1 - .../test_call_type[other2].txt | 1 - .../test_call_type[other3].txt | 1 - .../test_call_type[other4].txt | 1 - .../test_call_type[other5].txt | 1 - ...integration_test[datasets0-True-False].txt | 4 +- ...ntegration_test[datasets1-False-False].txt | 4 +- 58 files changed, 1079 insertions(+), 1055 deletions(-) create mode 100644 tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y0-time_series_x0-3].csv create mode 100644 tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y1-time_series_x1-2].csv create mode 100644 tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y2-time_series_x2-1].csv diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e24f4921727..014ebc43576 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,12 +42,16 @@ repos: "--quiet-level=2", "--skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,build/pyinstaller/*,./website/config.toml", ] - - repo: https://github.com/pre-commit/mirrors-mypy - rev: "v0.982" + - repo: local hooks: - - id: mypy - args: ["--ignore-missing-imports", 'openbb_terminal'] - additional_dependencies: [types-all] + - id: mypy + name: mypy + description: '' + entry: mypy + language: python + 'types_or': [python, pyi] + args: ["--ignore-missing-imports", "--scripts-are-modules"] + require_serial: true - repo: https://github.com/kynan/nbstripout rev: 0.6.1 hooks: diff --git a/openbb_terminal/econometrics/econometrics_controller.py b/openbb_terminal/econometrics/econometrics_controller.py index 8dddced9ae6..6d07840f6bb 100644 --- a/openbb_terminal/econometrics/econometrics_controller.py +++ b/openbb_terminal/econometrics/econometrics_controller.py @@ -5,40 +5,42 @@ __docformat__ = "numpy" import argparse import logging -from itertools import chain import os +from itertools import chain from pathlib import Path -from typing import List, Dict, Any +from typing import Any, Dict, List import numpy as np import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - -import openbb_terminal.econometrics.regression_model -import openbb_terminal.econometrics.regression_view -from openbb_terminal.core.config.paths import USER_CUSTOM_IMPORTS_DIRECTORY from openbb_terminal import feature_flags as obbff -from openbb_terminal.core.config.paths import USER_EXPORTS_DIRECTORY +from openbb_terminal.common import common_model +from openbb_terminal.core.config.paths import ( + USER_CUSTOM_IMPORTS_DIRECTORY, + USER_EXPORTS_DIRECTORY, +) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import ( - check_positive, - check_positive_float, - NO_EXPORT, - EXPORT_ONLY_FIGURES_ALLOWED, - EXPORT_ONLY_RAW_DATA_ALLOWED, - EXPORT_BOTH_RAW_DATA_AND_FIGURES, - export_data, +from openbb_terminal.econometrics import ( + econometrics_model, + econometrics_view, + regression_model, + regression_view, ) from openbb_terminal.helper_funcs import ( - print_rich_table, + EXPORT_BOTH_RAW_DATA_AND_FIGURES, + EXPORT_ONLY_FIGURES_ALLOWED, + EXPORT_ONLY_RAW_DATA_ALLOWED, + NO_EXPORT, check_list_values, + check_positive, + check_positive_float, + export_data, + print_rich_table, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText -from openbb_terminal.econometrics import econometrics_model, econometrics_view -from openbb_terminal.common import common_model +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) @@ -88,6 +90,19 @@ class EconometricsController(BaseController): "pie", "hexbin", ] + + PANEL_CHOICES = [ + "pols", + "re", + "bols", + "fe", + "fdols", + "POLS", + "RE", + "BOLS", + "FE", + "FDOLS", + ] PATH = "/econometrics/" loaded_dataset_cols = "\n" @@ -170,7 +185,7 @@ class EconometricsController(BaseController): choices["support"] = self.SUPPORT_CHOICES choices["about"] = self.ABOUT_CHOICES - + choices["panel"]["-r"] = {c: {} for c in self.PANEL_CHOICES} self.completer = NestedCompleter.from_nested_dict(choices) def update_runtime_choices(self): @@ -262,13 +277,11 @@ class EconometricsController(BaseController): mt.add_cmd("bpag", self.files and self.regression["OLS"]["model"]) console.print(text=mt.menu_text, menu="Econometrics") + console.print() def custom_reset(self): """Class specific component of reset command""" - if self.files: - load_files = [f"load -f {file}" for file in self.files] - return ["econometrics"] + load_files - return [] + return ["econometrics"] def update_loaded(self): self.list_dataset_cols = [] @@ -355,7 +368,7 @@ class EconometricsController(BaseController): if not file: console.print( - "[red]The file/dataset selected does not exist.[/red]\n" + "[red]The file/dataset selected does not exist.[/red]" ) return else: @@ -372,7 +385,7 @@ class EconometricsController(BaseController): # check if this dataset has been added already if alias in self.files: console.print( - "[red]The file/dataset selected has already been loaded.[/red]\n" + "[red]The file/dataset selected has already been loaded.[/red]" ) return @@ -388,8 +401,6 @@ class EconometricsController(BaseController): self.update_loaded() - console.print() - @log_start_end(log=logger) def call_export(self, other_args: List[str]): """Process export command""" @@ -1189,6 +1200,13 @@ class EconometricsController(BaseController): ), required="-h" not in other_args, ) + parser.add_argument( + "--no-output", + action="store_true", + default=False, + help="Hide the output of the regression", + dest="no_output", + ) if other_args and "-" not in other_args[0][0]: other_args.insert(0, "-d") @@ -1204,15 +1222,25 @@ class EconometricsController(BaseController): ) elif ns_parser.dependent in self.choices["regressions"]: ( - self.regression["OLS"]["data"], - self.regression["OLS"]["dependent"], - self.regression["OLS"]["independent"], - self.regression["OLS"]["model"], - ) = openbb_terminal.econometrics.regression_model.get_ols( + regression_df, + dependent_variable, + independent_variables, + ) = regression_model.get_regression_data( [ns_parser.dependent] + ns_parser.independent, self.datasets, - export=ns_parser.export, + "OLS", ) + self.regression["OLS"]["data"] = regression_df + self.regression["OLS"]["dependent"] = dependent_variable + self.regression["OLS"]["independent"] = independent_variables + model = regression_model.get_ols( + regression_df[dependent_variable], + regression_df[independent_variables], + ) + self.regression["OLS"]["model"] = model + if not ns_parser.no_output: + console.print(model.summary()) + else: console.print( f"{ns_parser.dependent} not in {','.join(self.choices['regressions'])}\n" @@ -1273,7 +1301,7 @@ class EconometricsController(BaseController): else: return console.print(f"Can not find {dataset}. Did you load the data?") - return econometrics_view.display_norm( + econometrics_view.display_norm( data, dataset, column, ns_parser.plot, ns_parser.export ) @@ -1386,18 +1414,7 @@ class EconometricsController(BaseController): "-r", "--regression", type=str, - choices=[ - "pols", - "re", - "bols", - "fe", - "fdols", - "POLS", - "RE", - "BOLS", - "FE", - "FDOLS", - ], + choices=self.PANEL_CHOICES, dest="type", help="The type of regression you wish to perform. This can be either pols (Pooled OLS), " "re (Random Effects), bols (Between OLS), fe (Fixed Effects) or fdols (First Difference OLS)", @@ -1459,7 +1476,7 @@ class EconometricsController(BaseController): ) # Ensure that OLS is always ran to be able to perform tests - regression_types = ["OLS", ns_parser.type.upper()] + regression_types = [ns_parser.type.upper(), "OLS"] for regression in regression_types: regression_name = regression @@ -1470,18 +1487,29 @@ class EconometricsController(BaseController): regression_name = regression_name + "_IE" ( - self.regression[regression_name]["data"], - self.regression[regression_name]["dependent"], - self.regression[regression_name]["independent"], - self.regression[regression_name]["model"], - ) = openbb_terminal.econometrics.regression_view.display_panel( + regression_df, + dependent_variable, + independent_variables, + ) = regression_model.get_regression_data( + [ns_parser.dependent] + ns_parser.independent, self.datasets, - regression_vars, + regression, + ) + self.regression[regression]["data"] = regression_df + self.regression[regression]["dependent"] = dependent_variable + self.regression[regression][ + "independent" + ] = independent_variables + self.regression[regression_name][ + "model" + ] = regression_view.display_panel( + regression_df[dependent_variable], + regression_df[independent_variables], regression, ns_parser.entity_effects, ns_parser.time_effects, + ns_parser.export, ) - console.print() else: console.print( f"{ns_parser.dependent} not in {','.join(self.choices['regressions'])}\n" @@ -1501,9 +1529,7 @@ class EconometricsController(BaseController): parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED ) if ns_parser: - openbb_terminal.econometrics.regression_model.get_comparison( - self.regression, ns_parser.export - ) + regression_model.get_comparison(self.regression, ns_parser.export) console.print() @log_start_end(log=logger) @@ -1538,9 +1564,9 @@ class EconometricsController(BaseController): dependent_variable = self.regression["OLS"]["data"][ self.regression["OLS"]["dependent"] ] - openbb_terminal.econometrics.regression_view.display_dwat( + regression_view.display_dwat( + self.regression["OLS"]["model"], dependent_variable, - self.regression["OLS"]["model"].resid, ns_parser.plot, ns_parser.export, ) @@ -1578,7 +1604,7 @@ class EconometricsController(BaseController): "Perform an OLS regression before estimating the Breusch-Godfrey statistic.\n" ) else: - openbb_terminal.econometrics.regression_view.display_bgod( + regression_view.display_bgod( self.regression["OLS"]["model"], ns_parser.lags, ns_parser.export ) @@ -1590,7 +1616,7 @@ class EconometricsController(BaseController): formatter_class=argparse.ArgumentDefaultsHelpFormatter, prog="bpag", description=( - "Show Breusch-Pagan heteroscedasticity test results." + "Show Breusch-Pagan heteroscedasticity test results. " "Needs OLS to be run in advance with independent and dependent variables" ), ) @@ -1605,7 +1631,7 @@ class EconometricsController(BaseController): "Perform an OLS regression before estimating the Breusch-Pagan statistic.\n" ) else: - openbb_terminal.econometrics.regression_view.display_bpag( + regression_view.display_bpag( self.regression["OLS"]["model"], ns_parser.export ) @@ -1626,6 +1652,7 @@ class EconometricsController(BaseController): "by the second time series.", type=str, dest="ts", + metavar="Available time series", ) parser.add_argument( "-l", @@ -1708,24 +1735,24 @@ class EconometricsController(BaseController): if ns_parser: if ns_parser.ts: - + # We are going to pass through a variable number of series, so datasets will be a list of series if len(ns_parser.ts) > 1: - datasets = {} - for stock in ns_parser.ts: - if "." not in stock: + datasets = [] + for series in ns_parser.ts: + if "." not in series: console.print( "[red]Invalid time series format. Should be dataset.column, " "e.g. historical.open[/red]\n" ) else: - dataset, column = stock.split(".") - datasets[stock] = self.datasets[dataset][column] + dataset, column = series.split(".") + datasets.append(self.datasets[dataset][column]) econometrics_view.display_cointegration_test( - datasets, - ns_parser.significant, - ns_parser.plot, - ns_parser.export, + *datasets, + significant=ns_parser.significant, + plot=ns_parser.plot, + export=ns_parser.export, ) else: diff --git a/openbb_terminal/econometrics/econometrics_helpers.py b/openbb_terminal/econometrics/econometrics_helpers.py index ff3ee551adb..a706c12eefd 100644 --- a/openbb_terminal/econometrics/econometrics_helpers.py +++ b/openbb_terminal/econometrics/econometrics_helpers.py @@ -1,4 +1,5 @@ from typing import Dict + import pandas as pd diff --git a/openbb_terminal/econometrics/econometrics_model.py b/openbb_terminal/econometrics/econometrics_model.py index a6fee0e2aa2..ac65f0a9aeb 100644 --- a/openbb_terminal/econometrics/econometrics_model.py +++ b/openbb_terminal/econometrics/econometrics_model.py @@ -5,14 +5,16 @@ __docformat__ = "numpy" import logging import warnings -from typing import Dict, Union, Any, Optional +from itertools import combinations +from typing import Any, Dict, Optional, Union import pandas as pd -from scipy import stats import statsmodels.api as sm -from statsmodels.tsa.stattools import adfuller, kpss, grangercausalitytests +from scipy import stats +from statsmodels.tsa.stattools import adfuller, grangercausalitytests, kpss from openbb_terminal.decorators import log_start_end +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) @@ -205,7 +207,7 @@ def get_root( @log_start_end(log=logger) -def get_granger_causality(dependent_series, independent_series, lags): +def get_granger_causality(dependent_series, independent_series, lags=3): """Calculate granger tests Parameters @@ -221,7 +223,82 @@ def get_granger_causality(dependent_series, independent_series, lags): granger = grangercausalitytests(granger_set, [lags], verbose=False) - return granger + for test in granger[lags][0]: + # As ssr_chi2test and lrtest have one less value in the tuple, we fill + # this value with a '-' to allow the conversion to a DataFrame + if len(granger[lags][0][test]) != 4: + pars = granger[lags][0][test] + granger[lags][0][test] = (pars[0], pars[1], "-", pars[2]) + + granger_df = pd.DataFrame( + granger[lags][0], index=["F-test", "P-value", "Count", "Lags"] + ).T + + return granger_df + + +# TODO: Maybe make a new function to return z instead of having this flag. +# TODO: Allow for numpy arrays as well +def get_coint_df( + *datasets: pd.Series, return_z: bool = False +) -> Union[pd.DataFrame, Dict]: + """Calculate cointegration tests between variable number of input series + + Parameters + ---------- + datasets : pd.Series + Input series to test cointegration for + return_z : bool + Flag to return the z data to plot + + Returns + ------- + Union[pd.DataFrame,Dict] + Dataframe with results of cointegration tests or a Dict of the z results + """ + result: Dict[str, list] = {} + z_values: Dict[str, pd.Series] = {} + + # The *datasets lets us pass in a variable number of arguments + # Here we are getting all possible combinations of unique inputs + + pairs = list(combinations(datasets, 2)) + for x, y in pairs: + if sum(y.isnull()) > 0: + console.print( + f"The Series {y} has nan-values. Please consider dropping or filling these " + f"values with 'clean'." + ) + elif sum(x.isnull()) > 0: + console.print( + f"The Series {x.name} has nan-values. Please consider dropping or filling these " + f"values with 'clean'." + ) + elif not y.index.equals(x.index): + console.print( + f"The Series {y.name} and {x.name} do not have the same index." + ) + ( + c, + gamma, + alpha, + z, + adfstat, + pvalue, + ) = get_engle_granger_two_step_cointegration_test(x, y) + result[f"{x.name}/{y.name}"] = [c, gamma, alpha, adfstat, pvalue] + z_values[f"{x.name}/{y.name}"] = z + + if result and z_values: + if return_z: + return z_values + df = pd.DataFrame.from_dict( + result, + orient="index", + columns=["Constant", "Gamma", "Alpha", "Dickey-Fuller", "P Value"], + ) + return df + return pd.DataFrame() def get_engle_granger_two_step_cointegration_test(dependent_series, independent_series): diff --git a/openbb_terminal/econometrics/econometrics_view.py b/openbb_terminal/econometrics/econometrics_view.py index 975b457f658..334c735e487 100644 --- a/openbb_terminal/econometrics/econometrics_view.py +++ b/openbb_terminal/econometrics/econometrics_view.py @@ -3,27 +3,20 @@ __docformat__ = "numpy" import logging import os -from itertools import combinations -from typing import Dict, Optional, List, Union +from typing import Dict, List, Optional, Union -from matplotlib.units import ConversionError import matplotlib.pyplot as plt import pandas as pd +from matplotlib.units import ConversionError from pandas.plotting import register_matplotlib_converters from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import ( - export_data, - plot_autoscale, -) -from openbb_terminal.helper_funcs import ( - print_rich_table, -) -from openbb_terminal.rich_config import console -from openbb_terminal.econometrics import econometrics_model from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import log_start_end +from openbb_terminal.econometrics import econometrics_model from openbb_terminal.econometrics.econometrics_helpers import get_ending +from openbb_terminal.helper_funcs import export_data, plot_autoscale, print_rich_table +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) @@ -137,7 +130,7 @@ def display_norm( data: pd.Series, dataset: str = "", column: str = "", - plot: bool = False, + plot: bool = True, export: str = "", external_axes: Optional[List[plt.axes]] = None, ): @@ -284,21 +277,10 @@ def display_granger( f"{independent_series.dtype}. Consider using the command 'type' to change this." ) else: - granger = econometrics_model.get_granger_causality( + granger_df = econometrics_model.get_granger_causality( dependent_series, independent_series, lags ) - for test in granger[lags][0]: - # As ssr_chi2test and lrtest have one less value in the tuple, we fill - # this value with a '-' to allow the conversion to a DataFrame - if len(granger[lags][0][test]) != 4: - pars = granger[lags][0][test] - granger[lags][0][test] = (pars[0], pars[1], "-", pars[2]) - - granger_df = pd.DataFrame( - granger[lags][0], index=["F-test", "P-value", "Count", "Lags"] - ).T - print_rich_table( granger_df, headers=list(granger_df.columns), @@ -306,7 +288,7 @@ def display_granger( title=f"Granger Causality Test [Y: {dependent_series.name} | X: {independent_series.name} | Lags: {lags}]", ) - result_ftest = round(granger[lags][0]["params_ftest"][1], 3) + result_ftest = round(granger_df.loc["params_ftest"]["P-value"], 3) if result_ftest > confidence_level: console.print( @@ -330,9 +312,9 @@ def display_granger( @log_start_end(log=logger) def display_cointegration_test( - datasets: Union[pd.DataFrame, Dict[str, pd.Series]], + *datasets: pd.Series, significant: bool = False, - plot: bool = False, + plot: bool = True, export: str = "", external_axes: Optional[List[plt.axes]] = None, ): @@ -355,8 +337,8 @@ def display_cointegration_test( Parameters ---------- - datasets: Union[pd.DataFrame, Dict[str, pd.Series]] - All time series to perform co-integration tests on. + datasets: pd.Series + Variable number of series to test for cointegration significant: float Show only companies that have p-values lower than this percentage plot: bool @@ -366,81 +348,45 @@ def display_cointegration_test( external_axes:Optional[List[plt.axes]] External axes to plot on """ + if len(datasets) < 2: + console.print("[red]Co-integration requires at least two time series.[/red]") + return - pairs = list(combinations(datasets.keys(), 2)) - result: Dict[str, list] = {} - z_values: Dict[str, pd.Series] = {} + df: pd.DataFrame = econometrics_model.get_coint_df(*datasets) - for x, y in pairs: - if sum(datasets[y].isnull()) > 0: - console.print( - f"The Series {y} has nan-values. Please consider dropping or filling these " - f"values with 'clean'." - ) - elif sum(datasets[x].isnull()) > 0: - console.print( - f"The Series {x} has nan-values. Please consider dropping or filling these " - f"values with 'clean'." - ) - elif not datasets[y].index.equals(datasets[x].index): - console.print(f"The Series {y} and {x} do not have the same index.") + if significant: + console.print( + f"Only showing pairs that are statistically significant ({significant} > p-value)." + ) + df = df[significant > df["P Value"]] + console.print() + + print_rich_table( + df, + headers=list(df.columns), + show_index=True, + index_name="Pairs", + title="Cointegration Tests", + ) + + if plot: + if external_axes is None: + _, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI) else: - try: - ( - c, - gamma, - alpha, - z, - adfstat, - pvalue, - ) = econometrics_model.get_engle_granger_two_step_cointegration_test( - datasets[x], datasets[y] - ) - result[f"{x}/{y}"] = [c, gamma, alpha, adfstat, pvalue] - z_values[f"{x}/{y}"] = z - except ValueError: - console.print( - "[red]Error: please only send string and integer columns[/red]\n" - ) + ax = external_axes[0] - if result and z_values: - df = pd.DataFrame.from_dict( - result, - orient="index", - columns=["Constant", "Gamma", "Alpha", "Dickey-Fuller", "P Value"], - ) + z_values = econometrics_model.get_coint_df(*datasets, return_z=True) - if significant: - console.print( - f"Only showing pairs that are statistically significant ({significant} > p-value)." - ) - df = df[significant > df["P Value"]] - console.print() + for pair, values in z_values.items(): + ax.plot(values, label=pair) - print_rich_table( - df, - headers=list(df.columns), - show_index=True, - index_name="Pairs", - title="Cointegration Tests", - ) + ax.legend() + ax.set_title("Error correction terms") - if plot: - if external_axes is None: - _, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI) - else: - ax = external_axes[0] + theme.style_primary_axis(ax) - for pair, values in z_values.items(): - ax.plot(values, label=pair) - - ax.legend() - ax.set_title("Error correction terms") - - theme.style_primary_axis(ax) - - if external_axes is None: - theme.visualize_output() + if external_axes is None: + theme.visualize_output() export_data( export, diff --git a/openbb_terminal/econometrics/regression_model.py b/openbb_terminal/econometrics/regression_model.py index 7cfa15b082d..c38fabf20e7 100644 --- a/openbb_terminal/econometrics/regression_model.py +++ b/openbb_terminal/econometrics/regression_model.py @@ -1,70 +1,107 @@ """Regression Model""" __docformat__ = "numpy" +import logging import os import warnings -import logging -from typing import List, Tuple, Dict, Any +from typing import Any, Dict, List, Tuple import pandas as pd +import statsmodels +import statsmodels.api as sm from linearmodels import PooledOLS from linearmodels.panel import ( - RandomEffects, BetweenOLS, - PanelOLS, FirstDifferenceOLS, + PanelOLS, + RandomEffects, compare, ) from pandas import DataFrame from statsmodels.api import add_constant -import statsmodels.api as sm from statsmodels.stats.api import het_breuschpagan from statsmodels.stats.diagnostic import acorr_breusch_godfrey from statsmodels.stats.stattools import durbin_watson from openbb_terminal.decorators import log_start_end +from openbb_terminal.econometrics.econometrics_helpers import get_datasets from openbb_terminal.helper_funcs import export_data from openbb_terminal.rich_config import console -from openbb_terminal.econometrics.econometrics_helpers import get_datasets logger = logging.getLogger(__name__) def get_regressions_results( - regression_type: str, - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], + Y: pd.DataFrame, + X: pd.DataFrame, + regression_type: str = "OLS", entity_effects: bool = False, time_effects: bool = False, -) -> Tuple[DataFrame, Any, List[Any], Any]: +) -> Any: """Based on the regression type, this function decides what regression to run. - Parameters - ---------- - regression_type: str - The type of regression you wish to execute. - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. - entity_effects: bool - Whether to apply Fixed Effects on entities. - time_effects: bool - Whether to apply Fixed Effects on time. + Parameters + ---------- + Y: pd.DataFrame + Dataframe containing the dependent variable. + X: pd.DataFrame + Dataframe containing the independent variables. + regression_type: str + The type of regression you wish to execute. + entity_effects: bool + Whether to apply Fixed Effects on entities. + time_effects: bool + Whether to apply Fixed Effects on time. - Returns - ------- - The dataset used, the dependent variable, the independent variable and - the regression model. + Returns + ------- + A regression model + + Examples + -------- + >>> from openbb_terminal.sdk import openbb + >>> df = openbb.econometrics.load("wage_panel") + >>> df = df.set_index(["nr","year"]) + >>> X = df[["exper","educ","union"]] + >>> Y = df["lwage"] + >>> pooled_ols_model = openbb.econometrics.panel(Y,X,"POLS") + >>> print(pooled_ols_model.summary) + PooledOLS Estimation Summary + ================================================================================ + Dep. Variable: lwage R-squared: 0.1634 + Estimator: PooledOLS R-squared (Between): 0.1686 + No. Observations: 4360 R-squared (Within): 0.1575 + Date: Sun, Nov 13 2022 R-squared (Overall): 0.1634 + Time: 13:04:02 Log-likelihood -3050.4 + Cov. Estimator: Unadjusted + F-statistic: 283.68 + Entities: 545 P-value 0.0000 + Avg Obs: 8.0000 Distribution: F(3,4356) + Min Obs: 8.0000 + Max Obs: 8.0000 F-statistic (robust): 283.68 + P-value 0.0000 + Time periods: 8 Distribution: F(3,4356) + Avg Obs: 545.00 + Min Obs: 545.00 + Max Obs: 545.00 + + Parameter Estimates + ============================================================================== + Parameter Std. Err. T-stat P-value Lower CI Upper CI + ------------------------------------------------------------------------------ + const -0.0308 0.0620 -0.4965 0.6196 -0.1523 0.0908 + exper 0.0561 0.0028 20.220 0.0000 0.0507 0.0616 + educ 0.1080 0.0045 24.034 0.0000 0.0992 0.1168 + union 0.1777 0.0172 10.344 0.0000 0.1441 0.2114 + ============================================================================== """ regressions = { - "OLS": lambda: get_ols(regression_variables, data, False), - "POLS": lambda: get_pols(regression_variables, data), - "RE": lambda: get_re(regression_variables, data), - "BOLS": lambda: get_bols(regression_variables, data), - "FE": lambda: get_fe(regression_variables, data, entity_effects, time_effects), - "FDOLS": lambda: get_fdols(regression_variables, data), + "OLS": lambda: get_ols(Y, X), + "POLS": lambda: get_pols(Y, X), + "RE": lambda: get_re(Y, X), + "BOLS": lambda: get_bols(Y, X), + "FE": lambda: get_fe(Y, X, entity_effects, time_effects), + "FDOLS": lambda: get_fdols(Y, X), } if regression_type in regressions: return regressions[regression_type]() @@ -134,212 +171,185 @@ def get_regression_data( @log_start_end(log=logger) def get_ols( - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], - show_regression: bool = True, - export: str = "", -) -> Tuple[DataFrame, Any, List[Any], Any]: + Y: pd.DataFrame, + X: pd.DataFrame, +) -> Any: """Performs an OLS regression on timeseries data. [Source: Statsmodels] - Parameters - ---------- - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. - show_regression: bool - Whether to show the regression results table. - export: str - Format to export data + Parameters + ---------- + Y: pd.DataFrame + Dependent variable series. + X: pd.DataFrame + Dataframe of independent variables series. - Returns - ------- - The dataset used, the dependent variable, the independent variable and - the OLS model. + Returns + ------- + statsmodels.regression.linear_model.RegressionResultsWrapper + Regression model wrapper from statsmodels. + + Examples + ------- + >>> import openbb_terminal.sdk as openbb + >>> df = openbb.econometrics.load("wage_panel") + >>> OLS_model = openbb.econometrics.OLS(df["lwage"], df[["educ", "exper", "expersq"]]) + >>> print(OLS_model.summary()) + OLS Regression Results + ======================================================================================= + Dep. Variable: lwage R-squared (uncentered): 0.920 + Model: OLS Adj. R-squared (uncentered): 0.919 + Method: Least Squares F-statistic: 1.659e+04 + Date: Thu, 10 Nov 2022 Prob (F-statistic): 0.00 + Time: 15:28:11 Log-Likelihood: -3091.3 + No. Observations: 4360 AIC: 6189. + Df Residuals: 4357 BIC: 6208. + Df Model: 3 + Covariance Type: nonrobust + ============================================================================== + coef std err t P>|t| [0.025 0.975] + ------------------------------------------------------------------------------ + educ 0.0986 0.002 39.879 0.000 0.094 0.103 + exper 0.1018 0.009 10.737 0.000 0.083 0.120 + expersq -0.0034 0.001 -4.894 0.000 -0.005 -0.002 + ============================================================================== + Omnibus: 1249.642 Durbin-Watson: 0.954 + Prob(Omnibus): 0.000 Jarque-Bera (JB): 9627.436 + Skew: -1.152 Prob(JB): 0.00 + Kurtosis: 9.905 Cond. No. 86.4 + ============================================================================== + + Notes: + [1] R² is computed without centering (uncentered) since the model does not contain a constant. + [2] Standard Errors assume that the covariance matrix of the errors is correctly specified. """ - regression_df, dependent_variable, independent_variables = get_regression_data( - regression_variables, data, "OLS" - ) - if regression_df.empty: + if X.empty or Y.empty: model = None else: with warnings.catch_warnings(record=True) as warning_messages: - model = sm.OLS( - regression_df[dependent_variable], regression_df[independent_variables] - ).fit() - - if show_regression: - console.print(model.summary()) - console.print("") + model = sm.OLS(Y, X).fit() if len(warning_messages) > 0: console.print("Warnings:") for warning in warning_messages: console.print(f"[red]{warning.message}[/red]".replace("\n", "")) - if export: - results_as_html = model.summary().tables[1].as_html() - df = pd.read_html(results_as_html, header=0, index_col=0)[0] - - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - f"{dependent_variable}_ols_regression", - df, - ) - else: - console.print("") - - return regression_df, dependent_variable, independent_variables, model + return model @log_start_end(log=logger) -def get_pols( - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], -) -> Tuple[DataFrame, Any, List[Any], Any]: +def get_pols(Y: pd.DataFrame, X: pd.DataFrame) -> Any: """PooledOLS is just plain OLS that understands that various panel data structures. It is useful as a base model. [Source: LinearModels] Parameters ---------- - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. + Y: pd.DataFrame + Dataframe containing the dependent variable. + X: pd.DataFrame + Dataframe containing the independent variables. Returns ------- - The dataset used, the dependent variable, the independent variable and - the Pooled OLS model. + PooledOLS model """ - regression_df, dependent_variable, independent_variables = get_regression_data( - regression_variables, data, "POLS" - ) - - if regression_df.empty: + if Y.empty or X.empty: model = None else: with warnings.catch_warnings(record=True) as warning_messages: - exogenous = add_constant(regression_df[independent_variables]) - model = PooledOLS(regression_df[dependent_variable], exogenous).fit() - console.print(model) + exogenous = add_constant(X) + model = PooledOLS(Y, exogenous).fit() if len(warning_messages) > 0: console.print("Warnings:") for warning in warning_messages: console.print(f"[red]{warning.message}[/red]".replace("\n", "")) - return regression_df, dependent_variable, independent_variables, model + return model @log_start_end(log=logger) -def get_re( - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], -) -> Tuple[DataFrame, Any, List[Any], Any]: +def get_re(Y: pd.DataFrame, X: pd.DataFrame) -> Any: """The random effects model is virtually identical to the pooled OLS model except that is accounts for the structure of the model and so is more efficient. Random effects uses a quasi-demeaning strategy which subtracts the time average of the within entity values to account for the common shock. [Source: LinearModels] Parameters ---------- - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. + Y: pd.DataFrame + Dataframe containing the dependent variable. + X: pd.DataFrame + Dataframe containing the independent variables. Returns ------- - The dataset used, the dependent variable, the independent variable and - the RandomEffects model. + RandomEffects model """ - regression_df, dependent_variable, independent_variables = get_regression_data( - regression_variables, data, "RE" - ) - - if regression_df.empty: + if X.empty or Y.empty: model = None else: with warnings.catch_warnings(record=True) as warning_messages: - exogenous = add_constant(regression_df[independent_variables]) - model = RandomEffects(regression_df[dependent_variable], exogenous).fit() - console.print(model) + exogenous = add_constant(X) + model = RandomEffects(Y, exogenous).fit() if len(warning_messages) > 0: console.print("Warnings:") for warning in warning_messages: console.print(f"[red]{warning.message}[/red]".replace("\n", "")) - return regression_df, dependent_variable, independent_variables, model + return model @log_start_end(log=logger) -def get_bols( - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], -) -> Tuple[DataFrame, Any, List[Any], Any]: +def get_bols(Y: pd.DataFrame, X: pd.DataFrame) -> Any: """The between estimator is an alternative, usually less efficient estimator, can can be used to estimate model parameters. It is particular simple since it first computes the time averages of y and x and then runs a simple regression using these averages. [Source: LinearModels] Parameters ---------- - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. + Y: pd.DataFrame + Dataframe containing the dependent variable. + X: pd.DataFrame + Dataframe containing the independent variables. Returns ------- - The dataset used, the dependent variable, the independent variable and - the Between OLS model. + BetweenOLS model """ - - regression_df, dependent_variable, independent_variables = get_regression_data( - regression_variables, data, "BOLS" - ) - - if regression_df.empty: + if Y.empty or X.empty: model = None else: with warnings.catch_warnings(record=True) as warning_messages: - exogenous = add_constant(regression_df[independent_variables]) - model = BetweenOLS(regression_df[dependent_variable], exogenous).fit() - console.print(model) + exogenous = add_constant(X) + model = BetweenOLS(Y, exogenous).fit() if len(warning_messages) > 0: console.print("Warnings:") for warning in warning_messages: console.print(f"[red]{warning.message}[/red]".replace("\n", "")) - return regression_df, dependent_variable, independent_variables, model + return model @log_start_end(log=logger) def get_fe( - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], + Y: pd.DataFrame, + X: pd.DataFrame, entity_effects: bool = False, time_effects: bool = False, -) -> Tuple[DataFrame, Any, List[Any], Any]: +) -> Any: """When effects are correlated with the regressors the RE and BE estimators are not consistent. The usual solution is to use Fixed Effects which are called entity_effects when applied to entities and time_effects when applied to the time dimension. [Source: LinearModels] Parameters ---------- - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. + Y: pd.DataFrame + Dataframe containing the dependent variable. + X: pd.DataFrame + Dataframe containing the independent variables. entity_effects : bool Whether to include entity effects time_effects : bool @@ -347,40 +357,30 @@ def get_fe( Returns ------- - The dataset used, the dependent variable, the independent variable and - the OLS model. + PanelOLS model with Fixed Effects """ - - regression_df, dependent_variable, independent_variables = get_regression_data( - regression_variables, data, "FE" - ) - - if regression_df.empty: + if X.empty or Y.empty: model = None else: with warnings.catch_warnings(record=True) as warning_messages: - exogenous = add_constant(regression_df[independent_variables]) + exogenous = add_constant(X) model = PanelOLS( - regression_df[dependent_variable], + Y, exogenous, entity_effects=entity_effects, time_effects=time_effects, ).fit() - console.print(model) if len(warning_messages) > 0: console.print("Warnings:") for warning in warning_messages: console.print(f"[red]{warning.message}[/red]".replace("\n", "")) - return regression_df, dependent_variable, independent_variables, model + return model @log_start_end(log=logger) -def get_fdols( - regression_variables: List[Tuple], - data: Dict[str, pd.DataFrame], -) -> Tuple[DataFrame, Any, List[Any], Any]: +def get_fdols(Y: pd.DataFrame, X: pd.DataFrame) -> Any: """First differencing is an alternative to using fixed effects when there might be correlation. When using first differences, time-invariant variables must be excluded. Additionally, only one linear time-trending variable can be included since this will look like a constant. @@ -389,41 +389,31 @@ def get_fdols( Parameters ---------- - regression_variables : list - The regressions variables entered where the first variable is - the dependent variable. - data : dict - A dictionary containing the datasets. + Y: pd.DataFrame + Dataframe containing the dependent variable. + X: pd.DataFrame + Dataframe containing the independent variables. Returns ------- - The dataset used, the dependent variable, the independent variable and - the OLS model. + First Difference OLS model """ - - regression_df, dependent_variable, independent_variables = get_regression_data( - regression_variables, data, "FDOLS" - ) - - if regression_df.empty: + if X.empty or Y.empty: model = None else: with warnings.catch_warnings(record=True) as warning_messages: - model = FirstDifferenceOLS( - regression_df[dependent_variable], regression_df[independent_variables] - ).fit() - console.print(model) + model = FirstDifferenceOLS(Y, X).fit() if len(warning_messages) > 0: console.print("Warnings:") for warning in warning_messages: console.print(f"[red]{warning.message}[/red]".replace("\n", "")) - return regression_df, dependent_variable, independent_variables, model + return model @log_start_end(log=logger) -def get_comparison(regressions, export: str = ""): +def get_comparison(regressions: Dict, export: str = ""): """Compare regression results between Panel Data regressions. Parameters @@ -471,51 +461,76 @@ def get_comparison(regressions, export: str = ""): @log_start_end(log=logger) -def get_dwat(residual: pd.DataFrame) -> pd.DataFrame: - """Calculate test statistics for Durbing Watson autocorrelation +def get_dwat( + model: statsmodels.regression.linear_model.RegressionResultsWrapper, +) -> float: + """Calculate test statistics for Durbin Watson autocorrelation Parameters ---------- - residual : OLS Model - Model containing residual values. + model : statsmodels.regression.linear_model.RegressionResultsWrapper + Previously fit statsmodels OLS. Returns ------- - Test statistic of the Durbin Watson test. + float + Test statistic of the Durbin Watson test. + + Notes + ------ + When using chart = True, the dependent variable in the regression must be passed to view the residuals + + Example + ------- + >>> from openbb_terminal.sdk import openbb + >>> df = openbb.econometrics.load("wage_panel") + >>> Y, X = df["lwage"], df[["exper","educ"]] + >>> model = openbb.econometrics.ols(Y,X) + >>> durbin_watson_value = openbb.econometrics.dwat(model) + >>> durbin_watson_value + 0.96 """ # Durbin Watson test: The test statistic is approximately equal to 2*(1-r) where r is the # sample autocorrelation of the residuals. Thus, for r == 0, indicating no serial correlation, # the test statistic equals 2. This statistic will always be between 0 and 4. The closer # to 0 the statistic, the more evidence for positive serial correlation. The closer to 4, # the more evidence for negative serial correlation. - result = durbin_watson(residual) + result = durbin_watson(model.resid) return round(result, 2) @log_start_end(log=logger) -def get_bgod(model: pd.DataFrame, lags: int = 3) -> tuple: +def get_bgod( + model: statsmodels.regression.linear_model.RegressionResultsWrapper, lags: int = 3 +) -> pd.DataFrame: """Calculate test statistics for autocorrelation Parameters ---------- model : OLS Model - Model containing residual values. + OLS model that has been fit. lags : int The amount of lags. Returns ------- - Test results from the Breusch-Godfrey Test + pd.DataFrame + Test results from the Breusch-Godfrey Test """ lm_stat, p_value, f_stat, fp_value = acorr_breusch_godfrey(model, nlags=lags) - return lm_stat, p_value, f_stat, fp_value + return pd.DataFrame( + [lm_stat, p_value, f_stat, fp_value], + index=["lm-stat", "p-value", "f-stat", "fp-value"], + ) @log_start_end(log=logger) -def get_bpag(model: pd.DataFrame) -> tuple: +def get_bpag( + model: statsmodels.regression.linear_model.RegressionResultsWrapper, +) -> pd.DataFrame: """Calculate test statistics for heteroscedasticity Parameters @@ -525,9 +540,12 @@ def get_bpag(model: pd.DataFrame) -> tuple: Returns ------- - Test results from the Breusch-Pagan Test + pd.DataFrame + Test results from the Breusch-Pagan Test """ lm_stat, p_value, f_stat, fp_value = het_breuschpagan(model.resid, model.model.exog) - - return lm_stat, p_value, f_stat, fp_value + return pd.DataFrame( + [lm_stat, p_value, f_stat, fp_value], + index=["lm-stat", "p-value", "f-stat", "fp-value"], + ) diff --git a/openbb_terminal/econometrics/regression_view.py b/openbb_terminal/econometrics/regression_view.py index 653c11cc968..76704f6f0d1 100644 --- a/openbb_terminal/econometrics/regression_view.py +++ b/openbb_terminal/econometrics/regression_view.py @@ -1,29 +1,28 @@ """Regression View""" __docformat__ = "numpy" -from typing import Optional, List, Tuple, Dict -import os import logging +import os +from typing import List, Optional + import pandas as pd from matplotlib import pyplot as plt +import statsmodels from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import plot_autoscale, export_data -from openbb_terminal.rich_config import console -from openbb_terminal.econometrics import regression_model -from openbb_terminal.helper_funcs import ( - print_rich_table, -) from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import log_start_end +from openbb_terminal.econometrics import regression_model +from openbb_terminal.helper_funcs import export_data, plot_autoscale, print_rich_table +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) @log_start_end(log=logger) def display_panel( - data: Dict[str, pd.DataFrame], - regression_variables: List[Tuple], + Y: pd.DataFrame, + X: pd.DataFrame, regression_type: str = "OLS", entity_effects: bool = False, time_effects: bool = False, @@ -54,23 +53,20 @@ def display_panel( The dataset used, the dependent variable, the independent variable and the regression model. """ - ( - regression_df, - dependent, - independent, - model, - ) = regression_model.get_regressions_results( + model = regression_model.get_regressions_results( + Y, + X, regression_type, - regression_variables, - data, entity_effects, time_effects, ) + if regression_type != "OLS": + console.print(model) if export: results_as_html = model.summary.tables[1].as_html() df = pd.read_html(results_as_html, header=0, index_col=0)[0] - + dependent = Y.columns[0] export_data( export, os.path.dirname(os.path.abspath(__file__)), @@ -78,14 +74,14 @@ def display_panel( df, ) - return regression_df, dependent, independent, model + return model @log_start_end(log=logger) def display_dwat( + model: statsmodels.regression.linear_model.RegressionResultsWrapper, dependent_variable: pd.Series, - residual: pd.DataFrame, - plot: bool = False, + plot: bool = True, export: str = "", external_axes: Optional[List[plt.axes]] = None, ): @@ -93,10 +89,10 @@ def display_dwat( Parameters ---------- + model : OLS Model + A fit statsmodels OLS model. dependent_variable : pd.Series - The dependent variable. - residual : OLS Model - The residual of an OLS model. + The dependent variable for plotting plot : bool Whether to plot the residuals export : str @@ -104,7 +100,7 @@ def display_dwat( external_axes: Optional[List[plt.axes]] External axes to plot on """ - autocorr = regression_model.get_dwat(residual) + autocorr = regression_model.get_dwat(model) if 1.5 < autocorr < 2.5: console.print( @@ -123,7 +119,7 @@ def display_dwat( else: ax = external_axes[0] - ax.scatter(dependent_variable, residual) + ax.scatter(dependent_variable, model.resid) ax.axhline(y=0, color="r", linestyle="-") ax.set_ylabel("Residual") ax.set_xlabel(dependent_variable.name.capitalize()) @@ -140,33 +136,25 @@ def display_dwat( autocorr, ) - console.print() - @log_start_end(log=logger) -def display_bgod(model: pd.DataFrame, lags: int = 3, export: str = ""): +def display_bgod( + model: statsmodels.regression.linear_model.RegressionResultsWrapper, + lags: int = 3, + export: str = "", +): """Show Breusch-Godfrey autocorrelation test Parameters ---------- model : OLS Model - Model containing residual values. + OLS model that has been fit. lags : int The amount of lags included. export : str Format to export data """ - ( - lm_stat, - p_value, - f_stat, - fp_value, - ) = regression_model.get_bgod(model, lags) - - df = pd.DataFrame( - [lm_stat, p_value, f_stat, fp_value], - index=["LM-stat", "p-value", "f-stat", "fp-value"], - ) + df = regression_model.get_bgod(model, lags) print_rich_table( df, @@ -174,7 +162,7 @@ def display_bgod(model: pd.DataFrame, lags: int = 3, export: str = ""): show_index=True, title=f"Breusch-Godfrey autocorrelation test [Lags: {lags}]", ) - + p_value = df.loc["p-value"][0] if p_value > 0.05: console.print( f"{round(p_value, 2)} indicates the autocorrelation. Consider re-estimating with " @@ -191,27 +179,20 @@ def display_bgod(model: pd.DataFrame, lags: int = 3, export: str = ""): @log_start_end(log=logger) -def display_bpag(model: pd.DataFrame, export: str = ""): +def display_bpag( + model: statsmodels.regression.linear_model.RegressionResultsWrapper, + export: str = "", +): """Show Breusch-Pagan heteroscedasticity test Parameters ---------- model : OLS Model - Model containing residual values. + OLS model that has been fit. export : str Format to export data """ - ( - lm_stat, - p_value, - f_stat, - fp_value, - ) = regression_model.get_bpag(model) - - df = pd.DataFrame( - [lm_stat, p_value, f_stat, fp_value], - index=["lm-stat", "p-value", "f-stat", "fp-value"], - ) + df = regression_model.get_bpag(model) print_rich_table( df, @@ -219,7 +200,7 @@ def display_bpag(model: pd.DataFrame, export: str = ""): show_index=True, title="Breusch-Pagan heteroscedasticity test", ) - + p_value = df.loc["p-value"][0] if p_value > 0.05: console.print( f"{round(p_value, 2)} indicates heteroscedasticity. Consider taking the log " diff --git a/openbb_terminal/miscellaneous/library/trail_map.csv b/openbb_terminal/miscellaneous/library/trail_map.csv index b27ea51c9d1..c1581e87642 100644 --- a/openbb_terminal/miscellaneous/library/trail_map.csv +++ b/openbb_terminal/miscellaneous/library/trail_map.csv @@ -1,559 +1,559 @@ -trail,model,view -alt.covid.slopes,openbb_terminal.alternative.covid.covid_model.get_case_slopes,openbb_terminal.alternative.covid.covid_view.display_case_slopes -alt.covid.global_cases,openbb_terminal.alternative.covid.covid_model.get_global_cases, -alt.covid.global_deaths,openbb_terminal.alternative.covid.covid_model.get_global_deaths, -alt.covid.ov,openbb_terminal.alternative.covid.covid_model.get_covid_ov,openbb_terminal.alternative.covid.covid_view.display_covid_ov -alt.covid.stat,openbb_terminal.alternative.covid.covid_model.get_covid_stat,openbb_terminal.alternative.covid.covid_view.display_covid_stat -alt.oss.github_data,openbb_terminal.alternative.oss.github_model.get_github_data, -alt.oss.summary,openbb_terminal.alternative.oss.github_model.get_repo_summary,openbb_terminal.alternative.oss.github_view.display_repo_summary -alt.oss.history,openbb_terminal.alternative.oss.github_model.get_stars_history,openbb_terminal.alternative.oss.github_view.display_star_history -alt.oss.top,openbb_terminal.alternative.oss.github_model.get_top_repos,openbb_terminal.alternative.oss.github_view.display_top_repos -alt.oss.search,openbb_terminal.alternative.oss.github_model.search_repos, -alt.oss._make_request,openbb_terminal.alternative.oss.runa_model._make_request, -alt.oss._retry_session,openbb_terminal.alternative.oss.runa_model._retry_session, -alt.oss.ross,openbb_terminal.alternative.oss.runa_model.get_startups,openbb_terminal.alternative.oss.runa_view.display_rossindex -stocks.ba.headlines,openbb_terminal.common.behavioural_analysis.finbrain_model.get_sentiment,openbb_terminal.common.behavioural_analysis.finbrain_view.display_sentiment_analysis -stocks.ba.mentions,openbb_terminal.common.behavioural_analysis.google_model.get_mentions,openbb_terminal.common.behavioural_analysis.google_view.display_mentions -stocks.ba.queries,openbb_terminal.common.behavioural_analysis.google_model.get_queries, -stocks.ba.regions,openbb_terminal.common.behavioural_analysis.google_model.get_regions,openbb_terminal.common.behavioural_analysis.google_view.display_regions -stocks.ba.rise,openbb_terminal.common.behavioural_analysis.google_model.get_rise, -stocks.ba.getdd,openbb_terminal.common.behavioural_analysis.reddit_model.get_due_dilligence, -stocks.ba.popular,openbb_terminal.common.behavioural_analysis.reddit_model.get_popular_tickers,openbb_terminal.common.behavioural_analysis.reddit_view.display_popular_tickers -stocks.ba.redditsent,openbb_terminal.common.behavioural_analysis.reddit_model.get_posts_about,openbb_terminal.common.behavioural_analysis.reddit_view.display_redditsent -stocks.ba.text_sent,openbb_terminal.common.behavioural_analysis.reddit_model.get_sentiment, -stocks.ba.spac,openbb_terminal.common.behavioural_analysis.reddit_model.get_spac, -stocks.ba.spacc,openbb_terminal.common.behavioural_analysis.reddit_model.get_spac_community, -stocks.ba.watchlist,openbb_terminal.common.behavioural_analysis.reddit_model.get_watchlists,openbb_terminal.common.behavioural_analysis.reddit_view.display_watchlist -stocks.ba.wsb,openbb_terminal.common.behavioural_analysis.reddit_model.get_wsb_community, -stocks.ba.hist,openbb_terminal.common.behavioural_analysis.sentimentinvestor_model.get_historical,openbb_terminal.common.behavioural_analysis.sentimentinvestor_view.display_historical -stocks.ba.trend,openbb_terminal.common.behavioural_analysis.sentimentinvestor_model.get_trending,openbb_terminal.common.behavioural_analysis.sentimentinvestor_view.display_trending -stocks.ba.bullbear,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_bullbear,openbb_terminal.common.behavioural_analysis.stocktwits_view.display_bullbear -stocks.ba.messages,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_messages,openbb_terminal.common.behavioural_analysis.stocktwits_view.display_messages -stocks.ba.stalker,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_stalker, -stocks.ba.trending,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_trending, -stocks.ba.infer,openbb_terminal.common.behavioural_analysis.twitter_model.load_analyze_tweets,openbb_terminal.common.behavioural_analysis.twitter_view.display_inference -stocks.ba.sentiment,openbb_terminal.common.behavioural_analysis.twitter_model.get_sentiment,openbb_terminal.common.behavioural_analysis.twitter_view.display_sentiment -etf.news,openbb_terminal.common.newsapi_model.get_news,openbb_terminal.common.newsapi_view.display_news -news,openbb_terminal.common.feedparser_model.get_news, -qa.bw,openbb_terminal.common.quantitative_analysis.qa_view.display_bw,openbb_terminal.common.quantitative_analysis.qa_view.display_bw -qa.calculate_adjusted_var,openbb_terminal.common.quantitative_analysis.qa_model.calculate_adjusted_var, -qa.es,openbb_terminal.common.quantitative_analysis.qa_model.get_es,openbb_terminal.common.quantitative_analysis.qa_view.display_es -qa.normality,openbb_terminal.common.quantitative_analysis.qa_model.get_normality,openbb_terminal.common.quantitative_analysis.qa_view.display_normality -qa.omega,openbb_terminal.common.quantitative_analysis.qa_model.get_omega,openbb_terminal.common.quantitative_analysis.qa_view.display_omega -qa.decompose,openbb_terminal.common.quantitative_analysis.qa_model.get_seasonal_decomposition, -qa.sharpe,openbb_terminal.common.quantitative_analysis.qa_model.get_sharpe,openbb_terminal.common.quantitative_analysis.qa_view.display_sharpe -qa.sortino,openbb_terminal.common.quantitative_analysis.qa_model.get_sortino,openbb_terminal.common.quantitative_analysis.qa_view.display_sortino -qa.summary,openbb_terminal.common.quantitative_analysis.qa_model.get_summary,openbb_terminal.common.quantitative_analysis.qa_view.display_summary -qa.unitroot,openbb_terminal.common.quantitative_analysis.qa_model.get_unitroot,openbb_terminal.common.quantitative_analysis.qa_view.display_unitroot -qa.var,openbb_terminal.common.quantitative_analysis.qa_model.get_var,openbb_terminal.common.quantitative_analysis.qa_view.display_var -qa.kurtosis,openbb_terminal.common.quantitative_analysis.rolling_model.get_kurtosis,openbb_terminal.common.quantitative_analysis.rolling_view.display_kurtosis -qa.quantile,openbb_terminal.common.quantitative_analysis.rolling_model.get_quantile,openbb_terminal.common.quantitative_analysis.rolling_view.display_quantile -qa.rolling,openbb_terminal.common.quantitative_analysis.rolling_model.get_rolling_avg,openbb_terminal.common.quantitative_analysis.rolling_view.display_mean_std -qa.skew,openbb_terminal.common.quantitative_analysis.rolling_model.get_skew,openbb_terminal.common.quantitative_analysis.rolling_view.display_skew -qa.spread,openbb_terminal.common.quantitative_analysis.rolling_model.get_spread,openbb_terminal.common.quantitative_analysis.rolling_view.display_spread -ta.fib,openbb_terminal.common.technical_analysis.custom_indicators_model.calculate_fib_levels,openbb_terminal.common.technical_analysis.custom_indicators_view.fibonacci_retracement -ta.cci,openbb_terminal.common.technical_analysis.momentum_model.cci,openbb_terminal.common.technical_analysis.momentum_view.display_cci -ta.cg,openbb_terminal.common.technical_analysis.momentum_model.cg,openbb_terminal.common.technical_analysis.momentum_view.display_cg -ta.fisher,openbb_terminal.common.technical_analysis.momentum_model.fisher,openbb_terminal.common.technical_analysis.momentum_view.display_fisher -ta.macd,openbb_terminal.common.technical_analysis.momentum_model.macd,openbb_terminal.common.technical_analysis.momentum_view.display_macd -ta.rsi,openbb_terminal.common.technical_analysis.momentum_model.rsi,openbb_terminal.common.technical_analysis.momentum_view.display_rsi -ta.stoch,openbb_terminal.common.technical_analysis.momentum_model.stoch,openbb_terminal.common.technical_analysis.momentum_view.display_stoch -ta.ma,openbb_terminal.common.technical_analysis.overlap_view.view_ma,openbb_terminal.common.technical_analysis.overlap_view.view_ma -ta.ema,openbb_terminal.common.technical_analysis.overlap_model.ema, -ta.hma,openbb_terminal.common.technical_analysis.overlap_model.hma, -ta.sma,openbb_terminal.common.technical_analysis.overlap_model.sma, -ta.vwap,openbb_terminal.common.technical_analysis.overlap_model.vwap,openbb_terminal.common.technical_analysis.overlap_view.view_vwap -ta.wma,openbb_terminal.common.technical_analysis.overlap_model.wma, -ta.zlma,openbb_terminal.common.technical_analysis.overlap_model.zlma, -ta.adx,openbb_terminal.common.technical_analysis.trend_indicators_model.adx,openbb_terminal.common.technical_analysis.trend_indicators_view.display_adx -ta.aroon,openbb_terminal.common.technical_analysis.trend_indicators_model.aroon,openbb_terminal.common.technical_analysis.trend_indicators_view.display_aroon -ta.bbands,openbb_terminal.common.technical_analysis.volatility_model.bbands,openbb_terminal.common.technical_analysis.volatility_view.display_bbands -ta.donchian,openbb_terminal.common.technical_analysis.volatility_model.donchian,openbb_terminal.common.technical_analysis.volatility_view.display_donchian -ta.kc,openbb_terminal.common.technical_analysis.volatility_model.kc,openbb_terminal.common.technical_analysis.volatility_view.view_kc -ta.ad,openbb_terminal.common.technical_analysis.volume_model.ad,openbb_terminal.common.technical_analysis.volume_view.display_ad -ta.adosc,openbb_terminal.common.technical_analysis.volume_model.adosc,openbb_terminal.common.technical_analysis.volume_view.display_adosc -ta.obv,openbb_terminal.common.technical_analysis.volume_model.obv,openbb_terminal.common.technical_analysis.volume_view.display_obv -ta.atr,openbb_terminal.common.technical_analysis.volatility_model.atr,openbb_terminal.common.technical_analysis.volatility_view.display_atr -crypto.defi.vaults,openbb_terminal.cryptocurrency.defi.coindix_model.get_defi_vaults,openbb_terminal.cryptocurrency.defi.coindix_view.display_defi_vaults -crypto.defi.anchor_data,openbb_terminal.cryptocurrency.defi.cryptosaurio_model.get_anchor_data,openbb_terminal.cryptocurrency.defi.cryptosaurio_view.display_anchor_data -crypto.defi.swaps,openbb_terminal.cryptocurrency.defi.graph_model.get_last_uni_swaps,openbb_terminal.cryptocurrency.defi.graph_view.display_last_uni_swaps -crypto.defi.pools,openbb_terminal.cryptocurrency.defi.graph_model.get_uni_pools_by_volume,openbb_terminal.cryptocurrency.defi.graph_view.display_uni_pools -crypto.defi.tokens,openbb_terminal.cryptocurrency.defi.graph_model.get_uni_tokens,openbb_terminal.cryptocurrency.defi.graph_view.display_uni_tokens -crypto.defi.pairs,openbb_terminal.cryptocurrency.defi.graph_model.get_uniswap_pool_recently_added,openbb_terminal.cryptocurrency.defi.graph_view.display_recently_added -crypto.defi.stats,openbb_terminal.cryptocurrency.defi.graph_model.get_uniswap_stats,openbb_terminal.cryptocurrency.defi.graph_view.display_uni_stats -crypto.defi.dtvl,openbb_terminal.cryptocurrency.defi.llama_model.get_defi_protocol,openbb_terminal.cryptocurrency.defi.llama_view.display_historical_tvl -crypto.defi.ldapps,openbb_terminal.cryptocurrency.defi.llama_model.get_defi_protocols,openbb_terminal.cryptocurrency.defi.llama_view.display_defi_protocols -crypto.defi.stvl,openbb_terminal.cryptocurrency.defi.llama_model.get_defi_tvl,openbb_terminal.cryptocurrency.defi.llama_view.display_defi_tvl -crypto.defi.gdapps,openbb_terminal.cryptocurrency.defi.llama_model.get_grouped_defi_protocols,openbb_terminal.cryptocurrency.defi.llama_view.display_grouped_defi_protocols -crypto.defi.luna_supply,openbb_terminal.cryptocurrency.defi.smartstake_model.get_luna_supply_stats,openbb_terminal.cryptocurrency.defi.smartstake_view.display_luna_circ_supply_change -crypto.defi.newsletters,openbb_terminal.cryptocurrency.defi.substack_model.get_newsletters,openbb_terminal.cryptocurrency.defi.substack_view.display_newsletters -crypto.defi.aterra,openbb_terminal.cryptocurrency.defi.terraengineer_model.get_history_asset_from_terra_address,openbb_terminal.cryptocurrency.defi.terraengineer_view.display_terra_asset_history -crypto.defi.ayr,openbb_terminal.cryptocurrency.defi.terraengineer_model.get_anchor_yield_reserve,openbb_terminal.cryptocurrency.defi.terraengineer_view.display_anchor_yield_reserve -crypto.defi.gacc,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_account_growth,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_account_growth -crypto.defi.gov_proposals,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_proposals,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_gov_proposals -crypto.defi.sinfo,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_staking_account_info,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_account_staking_info -crypto.defi.sratio,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_staking_ratio_history,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_staking_ratio_history -crypto.defi.sreturn,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_staking_returns_history,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_staking_returns_history -crypto.defi.validators,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_validators,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_validators -crypto.disc.cmctop,openbb_terminal.cryptocurrency.discovery.coinmarketcap_model.get_cmc_top_n,openbb_terminal.cryptocurrency.discovery.coinmarketcap_view.display_cmc_top_coins -crypto.disc.cpsearch,openbb_terminal.cryptocurrency.discovery.coinpaprika_model.get_search_results,openbb_terminal.cryptocurrency.discovery.coinpaprika_view.display_search_results -crypto.disc.top_dapps,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_dapps,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_dapps -crypto.disc.top_dexes,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_dexes,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_dexes -crypto.disc.top_games,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_games,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_games -crypto.disc.top_nfts,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_nfts,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_nfts -crypto.disc.categories_keys,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_categories_keys, -crypto.disc.coin_list,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coin_list, -crypto.disc.coins,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coins,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_coins -crypto.disc.coins_for_given_exchange,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coins_for_given_exchange, -crypto.disc.gainers_or_losers,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_gainers_or_losers, -crypto.disc.gainers,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_gainers,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_gainers -crypto.disc.losers,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_losers,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_losers -crypto.disc.trending,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_trending_coins,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_trending -crypto.dd.trading_pairs,openbb_terminal.cryptocurrency.due_diligence.binance_model._get_trading_pairs, -crypto.dd.check_valid_binance_str,openbb_terminal.cryptocurrency.due_diligence.binance_model.check_valid_binance_str, -crypto.dd.all_binance_trading_pairs,openbb_terminal.cryptocurrency.due_diligence.binance_model.get_all_binance_trading_pairs, -crypto.dd.binance_available_quotes_for_each_coin,openbb_terminal.cryptocurrency.due_diligence.binance_model.get_binance_available_quotes_for_each_coin, -crypto.dd.balance,openbb_terminal.cryptocurrency.due_diligence.binance_view.get_balance,openbb_terminal.cryptocurrency.due_diligence.binance_view.display_balance -crypto.dd.ob,openbb_terminal.cryptocurrency.due_diligence.ccxt_model.get_orderbook,openbb_terminal.cryptocurrency.due_diligence.ccxt_view.display_order_book -crypto.dd.show_available_pairs_for_given_symbol,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.show_available_pairs_for_given_symbol, -crypto.dd.exchanges,openbb_terminal.cryptocurrency.due_diligence.ccxt_model.get_exchanges, -crypto.dd.candles,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.get_candles,openbb_terminal.cryptocurrency.due_diligence.coinbase_view.display_candles -crypto.dd.stats,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.get_product_stats,openbb_terminal.cryptocurrency.due_diligence.coinbase_view.display_stats -crypto.dd.trades,openbb_terminal.cryptocurrency.due_diligence.ccxt_model.get_trades,openbb_terminal.cryptocurrency.due_diligence.ccxt_view.display_trades -crypto.dd.trading_pair_info,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.get_trading_pair_info, -crypto.dd.oi,openbb_terminal.cryptocurrency.due_diligence.coinglass_model.get_open_interest_per_exchange,openbb_terminal.cryptocurrency.due_diligence.coinglass_view.display_open_interest -crypto.dd.basic,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.basic_coin_info,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_basic -crypto.dd.coin,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin, -crypto.dd.events,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_events_by_id,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_events -crypto.dd.ex,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_exchanges_by_id,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_exchanges -crypto.dd.mkt,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_markets_by_id,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_markets -crypto.dd.twitter,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_twitter_timeline,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_twitter -crypto.dd.ohlc_historical,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_ohlc_historical, -crypto.dd.ps,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_tickers_info_for_coin,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_price_supply -crypto.dd.news,openbb_terminal.cryptocurrency.overview.cryptopanic_model.get_news,openbb_terminal.cryptocurrency.due_diligence.cryptopanic_view.display_news -crypto.dd.headlines,openbb_terminal.common.behavioural_analysis.finbrain_model.get_sentiment,openbb_terminal.cryptocurrency.due_diligence.finbrain_crypto_view.display_crypto_sentiment_analysis -crypto.dd.active,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_active_addresses,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_active_addresses -crypto.dd.close,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_close_price, -crypto.dd.eb,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_exchange_balances,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_exchange_balances -crypto.dd.change,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_exchange_net_position_change,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_exchange_net_position_change -crypto.onchain.hr,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_hashrate,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_hashrate -crypto.dd.nonzero,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_non_zero_addresses,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_non_zero_addresses -crypto.dd.get_mt,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_available_timeseries,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_messari_timeseries_list -crypto.dd.fr,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_fundraising,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_fundraising -crypto.dd.gov,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_governance,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_governance -crypto.dd.inv,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_investors,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_investors -crypto.dd.links,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_links,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_links -crypto.dd.mcapdom,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_marketcap_dominance,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_marketcap_dominance -crypto.dd.mt,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_messari_timeseries,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_messari_timeseries -crypto.dd.pi,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_project_product_info,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_project_info -crypto.dd.rm,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_roadmap,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_roadmap -crypto.dd.team,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_team,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_team -crypto.dd.tk,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_tokenomics,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_tokenomics -crypto.dd.coin_market_chart,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model.get_coin_market_chart, -crypto.dd.pr,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model.get_coin_potential_returns,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_view.display_coin_potential_returns -crypto.dd.tokenomics,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model.get_coin_tokenomics, -crypto.dd.gh,openbb_terminal.cryptocurrency.due_diligence.santiment_model.get_github_activity,openbb_terminal.cryptocurrency.due_diligence.santiment_view.display_github_activity -crypto.nft.stats,openbb_terminal.cryptocurrency.nft.opensea_model.get_collection_stats,openbb_terminal.cryptocurrency.nft.opensea_view.display_collection_stats -crypto.nft.fp,openbb_terminal.cryptocurrency.nft.nftpricefloor_model.get_floor_price,openbb_terminal.cryptocurrency.nft.nftpricefloor_view.display_floor_price -crypto.nft.collections,openbb_terminal.cryptocurrency.nft.nftpricefloor_model.get_collections,openbb_terminal.cryptocurrency.nft.nftpricefloor_view.display_collections -crypto.onchain.dvcp,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_daily_dex_volume_for_given_pair,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_daily_volume_for_given_pair -crypto.onchain.lt,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_dex_trades_by_exchange,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_dex_trades -crypto.onchain.dex_trades_monthly,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_dex_trades_monthly, -crypto.onchain.erc20_tokens,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_erc20_tokens, -crypto.onchain.ueat,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_ethereum_unique_senders,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_ethereum_unique_senders -crypto.onchain.ttcp,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_most_traded_pairs,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_most_traded_pairs -crypto.onchain.baas,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_spread_for_crypto_pair,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_spread_for_crypto_pair -crypto.onchain.tv,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_token_volume_on_dexes,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_dex_volume_for_token -crypto.onchain.query_graph,openbb_terminal.cryptocurrency.onchain.bitquery_model.query_graph, -crypto.onchain.btc_supply,openbb_terminal.cryptocurrency.onchain.blockchain_model.get_btc_circulating_supply,openbb_terminal.cryptocurrency.onchain.blockchain_view.display_btc_circulating_supply -crypto.onchain.btc_transac,openbb_terminal.cryptocurrency.onchain.blockchain_model.get_btc_confirmed_transactions,openbb_terminal.cryptocurrency.onchain.blockchain_view.display_btc_confirmed_transactions -crypto.onchain.gwei,openbb_terminal.cryptocurrency.onchain.ethgasstation_model.get_gwei_fees,openbb_terminal.cryptocurrency.onchain.ethgasstation_view.display_gwei_fees -crypto.onchain.hist,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_address_history,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_address_history -crypto.onchain.balance,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_address_info,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_address_info -crypto.onchain.token_decimals,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_decimals, -crypto.onchain.prices,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_historical_price,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_token_historical_prices -crypto.onchain.th,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_history,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_token_history -crypto.onchain.info,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_info,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_token_info -crypto.onchain.holders,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_top_token_holders,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_top_token_holders -crypto.onchain.top,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_top_tokens,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_top_tokens -crypto.onchain.tx,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_tx_info,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_tx_info -crypto.onchain.whales,openbb_terminal.cryptocurrency.onchain.whale_alert_model.get_whales_transactions,openbb_terminal.cryptocurrency.onchain.whale_alert_view.display_whales_transactions -crypto.ov.altindex,openbb_terminal.cryptocurrency.overview.blockchaincenter_model.get_altcoin_index,openbb_terminal.cryptocurrency.overview.blockchaincenter_view.display_altcoin_index -crypto.ov.btcrb,openbb_terminal.cryptocurrency.overview.glassnode_model.get_btc_rainbow,openbb_terminal.cryptocurrency.overview.glassnode_view.display_btc_rainbow -crypto.ov.cbpairs,openbb_terminal.cryptocurrency.overview.coinbase_model.get_trading_pairs,openbb_terminal.cryptocurrency.overview.coinbase_view.display_trading_pairs -crypto.ov.cpplatforms,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_all_contract_platforms,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_platforms -crypto.ov.cpinfo,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_coins_info,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_coins_info -crypto.ov.cpmarkets,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_coins_market_info,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_coins_market_info -crypto.ov.cpcontracts,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_contract_platform,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_contracts -crypto.ov.cpexmarkets,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_exchanges_market,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_exchange_markets -crypto.ov.cpglobal,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_global_market,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_global_market -crypto.ov.list_of_coins,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_list_of_coins, -crypto.ov.cpexchanges,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_list_of_exchanges,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_exchanges -crypto.ov.news,openbb_terminal.cryptocurrency.overview.cryptopanic_model.get_news,openbb_terminal.cryptocurrency.overview.cryptopanic_view.display_news -crypto.ov.cr,openbb_terminal.cryptocurrency.overview.loanscan_model.get_rates,openbb_terminal.cryptocurrency.overview.loanscan_view.display_crypto_rates -crypto.ov.cgderivatives,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_derivatives,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_derivatives -crypto.ov.cgexrates,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_exchange_rates,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_exchange_rates -crypto.ov.exchanges,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_exchanges,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_exchanges -crypto.ov.cgproducts,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_finance_products,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_products -crypto.ov.platforms,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_financial_platforms,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_platforms -crypto.ov.cgdefi,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_global_defi_info,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_global_defi_info -crypto.ov.global_info,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_global_info, -crypto.ov.cgglobal,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_global_markets_info,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_global_market_info -crypto.ov.cghold,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_holdings_overview,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_holdings_overview -crypto.ov.cgindexes,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_indexes,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_indexes -crypto.ov.cgstables,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_stable_coins,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_stablecoins -crypto.ov.cgcategories,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_top_crypto_categories,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_categories -crypto.ov.cghm,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coins,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_crypto_heatmap -crypto.ov.crypto_hack,openbb_terminal.cryptocurrency.overview.rekt_model.get_crypto_hack, -crypto.ov.crypto_hack_slugs,openbb_terminal.cryptocurrency.overview.rekt_model.get_crypto_hack_slugs, -crypto.ov.crypto_hacks,openbb_terminal.cryptocurrency.overview.rekt_model.get_crypto_hacks,openbb_terminal.cryptocurrency.overview.rekt_view.display_crypto_hacks -crypto.ov.wfpe,openbb_terminal.cryptocurrency.overview.withdrawalfees_model.get_crypto_withdrawal_fees,openbb_terminal.cryptocurrency.overview.withdrawalfees_view.display_crypto_withdrawal_fees -crypto.ov.ewf,openbb_terminal.cryptocurrency.overview.withdrawalfees_model.get_overall_exchange_withdrawal_fees,openbb_terminal.cryptocurrency.overview.withdrawalfees_view.display_overall_exchange_withdrawal_fees -crypto.ov.wf,openbb_terminal.cryptocurrency.overview.withdrawalfees_model.get_overall_withdrawal_fees,openbb_terminal.cryptocurrency.overview.withdrawalfees_view.display_overall_withdrawal_fees -crypto.tools.apy,openbb_terminal.cryptocurrency.tools.tools_model.calculate_apy,openbb_terminal.cryptocurrency.tools.tools_view.display_apy -crypto.tools.il,openbb_terminal.cryptocurrency.tools.tools_model.calculate_il,openbb_terminal.cryptocurrency.tools.tools_view.display_il -econometrics.clean,openbb_terminal.econometrics.econometrics_model.clean, -econometrics.coint,openbb_terminal.econometrics.econometrics_model.get_engle_granger_two_step_cointegration_test,openbb_terminal.econometrics.econometrics_view.display_cointegration_test -econometrics.granger,openbb_terminal.econometrics.econometrics_model.get_granger_causality,openbb_terminal.econometrics.econometrics_view.display_granger -econometrics.norm,openbb_terminal.econometrics.econometrics_model.get_normality,openbb_terminal.econometrics.econometrics_view.display_norm -econometrics.options,openbb_terminal.econometrics.econometrics_model.get_options,openbb_terminal.econometrics.econometrics_view.show_options -econometrics.root,openbb_terminal.econometrics.econometrics_model.get_root,openbb_terminal.econometrics.econometrics_view.display_root -econometrics.load,openbb_terminal.common.common_model.load, -econometrics.bgod,openbb_terminal.econometrics.regression_model.get_bgod,openbb_terminal.econometrics.regression_view.display_bgod -econometrics.bols,openbb_terminal.econometrics.regression_model.get_bols, -econometrics.bpag,openbb_terminal.econometrics.regression_model.get_bpag,openbb_terminal.econometrics.regression_view.display_bpag -econometrics.comparison,openbb_terminal.econometrics.regression_model.get_comparison, -econometrics.dwat,openbb_terminal.econometrics.regression_model.get_dwat,openbb_terminal.econometrics.regression_view.display_dwat -econometrics.fdols,openbb_terminal.econometrics.regression_model.get_fdols, -econometrics.fe,openbb_terminal.econometrics.regression_model.get_fe, -econometrics.ols,openbb_terminal.econometrics.regression_model.get_ols, -econometrics.pols,openbb_terminal.econometrics.regression_model.get_pols, -econometrics.re,openbb_terminal.econometrics.regression_model.get_re, -econometrics.get_regression_data,openbb_terminal.econometrics.regression_model.get_regression_data, -econometrics.panel,openbb_terminal.econometrics.regression_model.get_regressions_results,openbb_terminal.econometrics.regression_view.display_panel -economy.cpi,openbb_terminal.economy.alphavantage_model.get_cpi,openbb_terminal.economy.alphavantage_view.display_cpi -economy.gdpc,openbb_terminal.economy.alphavantage_model.get_gdp_capita,openbb_terminal.economy.alphavantage_view.display_gdp_capita -economy.inf,openbb_terminal.economy.alphavantage_model.get_inflation,openbb_terminal.economy.alphavantage_view.display_inflation -economy.gdp,openbb_terminal.economy.alphavantage_model.get_real_gdp,openbb_terminal.economy.alphavantage_view.display_real_gdp -economy.rtps,openbb_terminal.economy.alphavantage_model.get_sector_data,openbb_terminal.economy.alphavantage_view.realtime_performance_sector -economy.tyld,openbb_terminal.economy.alphavantage_model.get_treasury_yield,openbb_terminal.economy.alphavantage_view.display_treasury_yield -economy.unemp,openbb_terminal.economy.alphavantage_model.get_unemployment,openbb_terminal.economy.alphavantage_view.display_unemployment -economy.macro,openbb_terminal.economy.econdb_model.get_aggregated_macro_data,openbb_terminal.economy.econdb_view.show_macro_data -economy.macro_parameters,openbb_terminal.economy.econdb_model.get_macro_parameters, -economy.macro_countries,openbb_terminal.economy.econdb_model.get_macro_countries, -economy.treasury,openbb_terminal.economy.econdb_model.get_treasuries,openbb_terminal.economy.econdb_view.show_treasuries -economy.treasury_maturities,openbb_terminal.economy.econdb_model.get_treasury_maturities, -economy.future,openbb_terminal.economy.finviz_model.get_futures, -economy.spectrum,openbb_terminal.economy.finviz_model.get_spectrum_data,openbb_terminal.economy.finviz_view.display_spectrum -economy.valuation,openbb_terminal.economy.finviz_model.get_valuation_data, -economy.performance,openbb_terminal.economy.finviz_model.get_performance_data, -economy.perfmap,openbb_terminal.economy.finviz_model.get_performance_map, -economy.fred_series,openbb_terminal.economy.fred_model.get_aggregated_series_data,openbb_terminal.economy.fred_view.display_fred_series -economy.fred_ids,openbb_terminal.economy.fred_model.get_series_ids, -economy.fred_notes,openbb_terminal.economy.fred_model.get_series_notes, -economy.fred_yield_curve,openbb_terminal.economy.fred_model.get_yield_curve,openbb_terminal.economy.fred_view.display_yield_curve -economy.get_events_countries,openbb_terminal.economy.investingcom_model.get_events_countries, -economy.events,openbb_terminal.economy.nasdaq_model.get_economic_calendar, -economy.get_ycrv_countries,openbb_terminal.economy.investingcom_model.get_ycrv_countries, -economy.ycrv,openbb_terminal.economy.fred_model.get_yield_curve,openbb_terminal.economy.fred_view.display_yield_curve -economy.country_codes,openbb_terminal.economy.nasdaq_model.get_country_codes, -economy.bigmac,openbb_terminal.economy.nasdaq_model.get_big_mac_indices,openbb_terminal.economy.nasdaq_view.display_big_mac_index -economy.glbonds,openbb_terminal.economy.wsj_model.global_bonds, -economy.currencies,openbb_terminal.economy.wsj_model.global_currencies, -economy.overview,openbb_terminal.economy.wsj_model.market_overview, -economy.futures,openbb_terminal.economy.wsj_model.top_commodities, -economy.usbonds,openbb_terminal.economy.wsj_model.us_bonds, -economy.indices,openbb_terminal.economy.wsj_model.us_indices, -economy.index,openbb_terminal.economy.yfinance_model.get_indices,openbb_terminal.economy.yfinance_view.show_indices -economy.available_indices,openbb_terminal.economy.yfinance_model.get_available_indices, -economy.search_index,openbb_terminal.economy.yfinance_model.get_search_indices, -etf.disc.mover,openbb_terminal.etf.discovery.wsj_model.etf_movers,openbb_terminal.etf.discovery.wsj_view.show_top_mover -etf.etf_by_category,openbb_terminal.etf.financedatabase_model.get_etfs_by_category,openbb_terminal.etf.financedatabase_view.display_etf_by_category -etf.ld,openbb_terminal.etf.financedatabase_model.get_etfs_by_description,openbb_terminal.etf.financedatabase_view.display_etf_by_description -etf.ln,openbb_terminal.etf.financedatabase_model.get_etfs_by_name,openbb_terminal.etf.financedatabase_view.display_etf_by_name -etf.scr.screen,openbb_terminal.etf.screener.screener_model.etf_screener,openbb_terminal.etf.screener.screener_view.view_screener -etf.holdings,openbb_terminal.etf.stockanalysis_model.get_etf_holdings,openbb_terminal.etf.stockanalysis_view.view_holdings -etf.symbols,openbb_terminal.etf.stockanalysis_model.get_all_names_symbols, -etf.overview,openbb_terminal.etf.stockanalysis_model.get_etf_overview,openbb_terminal.etf.stockanalysis_view.view_overview -etf.etf_by_name,openbb_terminal.etf.stockanalysis_model.get_etfs_by_name,openbb_terminal.etf.stockanalysis_view.display_etf_by_name -etf.weights,openbb_terminal.etf.yfinance_model.get_etf_sector_weightings,openbb_terminal.etf.yfinance_view.display_etf_weightings -etf.summary,openbb_terminal.etf.yfinance_model.get_etf_summary_description,openbb_terminal.etf.yfinance_view.display_etf_description -forex.get_currency_list,openbb_terminal.forex.av_model.get_currency_list, -forex.hist,openbb_terminal.forex.av_model.get_historical, -forex.quote,openbb_terminal.forex.av_model.get_quote,openbb_terminal.forex.av_view.display_quote -forex.oanda.fwd,openbb_terminal.forex.fxempire_model.get_forward_rates,openbb_terminal.forex.fxempire_view.display_forward_rates -forex.oanda.summary,openbb_terminal.forex.oanda.oanda_model.account_summary_request,openbb_terminal.forex.oanda.oanda_view.get_account_summary -forex.oanda.cancel,openbb_terminal.forex.oanda.oanda_model.cancel_pending_order_request,openbb_terminal.forex.oanda.oanda_view.cancel_pending_order -forex.oanda.close,openbb_terminal.forex.oanda.oanda_model.close_trades_request,openbb_terminal.forex.oanda.oanda_view.close_trade -forex.oanda.order,openbb_terminal.forex.oanda.oanda_model.create_order_request,openbb_terminal.forex.oanda.oanda_view.create_order -forex.oanda.price,openbb_terminal.forex.oanda.oanda_model.fx_price_request,openbb_terminal.forex.oanda.oanda_view.get_fx_price -forex.oanda.calendar,openbb_terminal.forex.oanda.oanda_model.get_calendar_request,openbb_terminal.forex.oanda.oanda_view.calendar -forex.oanda.candles,openbb_terminal.forex.oanda.oanda_model.get_candles_dataframe,openbb_terminal.forex.oanda.oanda_view.show_candles -forex.oanda.openpositions,openbb_terminal.forex.oanda.oanda_model.open_positions_request,openbb_terminal.forex.oanda.oanda_view.get_open_positions -forex.oanda.opentrades,openbb_terminal.forex.oanda.oanda_model.open_trades_request,openbb_terminal.forex.oanda.oanda_view.get_open_trades -forex.oanda.listorders,openbb_terminal.forex.oanda.oanda_model.order_history_request,openbb_terminal.forex.oanda.oanda_view.list_orders -forex.oanda.orderbook,openbb_terminal.forex.oanda.oanda_model.orderbook_plot_data_request,openbb_terminal.forex.oanda.oanda_view.get_order_book -forex.oanda.pending,openbb_terminal.forex.oanda.oanda_model.pending_orders_request,openbb_terminal.forex.oanda.oanda_view.get_pending_orders -forex.oanda.positionbook,openbb_terminal.forex.oanda.oanda_model.positionbook_plot_data_request,openbb_terminal.forex.oanda.oanda_view.get_position_book -portfolio.load,openbb_terminal.portfolio.portfolio_model.generate_portfolio, -portfolio.show,openbb_terminal.portfolio.portfolio_model.get_transactions, -portfolio.bench,openbb_terminal.portfolio.portfolio_model.set_benchmark, -portfolio.holdv,openbb_terminal.portfolio.portfolio_model.get_holdings_value,openbb_terminal.portfolio.portfolio_view.display_holdings_value -portfolio.holdp,openbb_terminal.portfolio.portfolio_model.get_holdings_percentage,openbb_terminal.portfolio.portfolio_view.display_holdings_percentage -portfolio.mret,openbb_terminal.portfolio.portfolio_model.get_monthly_returns,openbb_terminal.portfolio.portfolio_view.display_monthly_returns -portfolio.yret,openbb_terminal.portfolio.portfolio_model.get_yearly_returns,openbb_terminal.portfolio.portfolio_view.display_yearly_returns -portfolio.dret,openbb_terminal.portfolio.portfolio_model.get_daily_returns,openbb_terminal.portfolio.portfolio_view.display_daily_returns -portfolio.distr,openbb_terminal.portfolio.portfolio_model.get_distribution_returns,openbb_terminal.portfolio.portfolio_view.display_distribution_returns -portfolio.maxdd,openbb_terminal.portfolio.portfolio_model.get_maximum_drawdown,openbb_terminal.portfolio.portfolio_view.display_maximum_drawdown -portfolio.rvol,openbb_terminal.portfolio.portfolio_model.get_rolling_volatility,openbb_terminal.portfolio.portfolio_view.display_rolling_volatility -portfolio.rsharpe,openbb_terminal.portfolio.portfolio_model.get_rolling_sharpe,openbb_terminal.portfolio.portfolio_view.display_rolling_sharpe -portfolio.rsort,openbb_terminal.portfolio.portfolio_model.get_rolling_sortino,openbb_terminal.portfolio.portfolio_view.display_rolling_sortino -portfolio.rbeta,openbb_terminal.portfolio.portfolio_model.get_rolling_beta,openbb_terminal.portfolio.portfolio_view.display_rolling_beta -portfolio.summary,openbb_terminal.portfolio.portfolio_model.get_summary, -portfolio.alloc.assets,openbb_terminal.portfolio.portfolio_model.get_assets_allocation, -portfolio.alloc.sectors,openbb_terminal.portfolio.portfolio_model.get_sectors_allocation, -portfolio.alloc.countries,openbb_terminal.portfolio.portfolio_model.get_countries_allocation, -portfolio.alloc.regions,openbb_terminal.portfolio.portfolio_model.get_regions_allocation, -portfolio.metric.volatility,openbb_terminal.portfolio.portfolio_model.get_volatility, -portfolio.metric.sharpe,openbb_terminal.portfolio.portfolio_model.get_sharpe_ratio, -portfolio.metric.sortino,openbb_terminal.portfolio.portfolio_model.get_sortino_ratio, -portfolio.metric.maxdrawdown,openbb_terminal.portfolio.portfolio_model.get_maximum_drawdown_ratio, -portfolio.metric.rsquare,openbb_terminal.portfolio.portfolio_model.get_r2_score, -portfolio.metric.skew,openbb_terminal.portfolio.portfolio_model.get_skewness, -portfolio.metric.kurtosis,openbb_terminal.portfolio.portfolio_model.get_kurtosis, -portfolio.metric.gaintopain,openbb_terminal.portfolio.portfolio_model.get_gaintopain_ratio, -portfolio.metric.trackerr,openbb_terminal.portfolio.portfolio_model.get_tracking_error, -portfolio.metric.information,openbb_terminal.portfolio.portfolio_model.get_information_ratio, -portfolio.metric.tail,openbb_terminal.portfolio.portfolio_model.get_tail_ratio, -portfolio.metric.commonsense,openbb_terminal.portfolio.portfolio_model.get_common_sense_ratio, -portfolio.metric.jensens,openbb_terminal.portfolio.portfolio_model.get_jensens_alpha, -portfolio.metric.calmar,openbb_terminal.portfolio.portfolio_model.get_calmar_ratio, -portfolio.metric.kelly,openbb_terminal.portfolio.portfolio_model.get_kelly_criterion, -portfolio.metric.payoff,openbb_terminal.portfolio.portfolio_model.get_payoff_ratio, -portfolio.metric.profitfactor,openbb_terminal.portfolio.portfolio_model.get_profit_factor, -portfolio.perf,openbb_terminal.portfolio.portfolio_model.get_performance_vs_benchmark, -portfolio.var,openbb_terminal.portfolio.portfolio_model.get_var, -portfolio.es,openbb_terminal.portfolio.portfolio_model.get_es, -portfolio.om,openbb_terminal.portfolio.portfolio_model.get_omega,openbb_terminal.portfolio.portfolio_view.display_omega -portfolio.po.load,openbb_terminal.portfolio.portfolio_optimization.excel_model.load_allocation, -portfolio.po.load_bl_views,openbb_terminal.portfolio.portfolio_optimization.excel_model.load_bl_views, -portfolio.po.maxsharpe,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_sharpe,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_sharpe -portfolio.po.minrisk,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_min_risk,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_min_risk -portfolio.po.maxutil,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_util,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_util -portfolio.po.maxret,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_ret,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_ret -portfolio.po.maxdiv,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_diversification_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_div -portfolio.po.maxdecorr,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_decorrelation_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_decorr -portfolio.po.blacklitterman,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_black_litterman_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_black_litterman -portfolio.po.ef,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_ef,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_ef -portfolio.po.riskparity,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_risk_parity_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_risk_parity -portfolio.po.relriskparity,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_rel_risk_parity_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_rel_risk_parity -portfolio.po.meanrisk,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_mean_risk_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_mean_risk -portfolio.po.hrp,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_hrp,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_hrp -portfolio.po.herc,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_herc,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_herc -portfolio.po.nco,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_nco,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_nco -portfolio.po.hcp,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_hcp_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_hcp -portfolio.po.equal,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_equal_weights, -portfolio.po.property,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_property_weights,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_property_weighting -portfolio.po.get_properties,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_properties, -portfolio.po.plot,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.additional_plots,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.additional_plots -stocks.ba.cnews,openbb_terminal.stocks.behavioural_analysis.finnhub_model.get_company_news, -stocks.ba.snews,openbb_terminal.stocks.behavioural_analysis.finnhub_model.get_headlines_sentiment,openbb_terminal.stocks.behavioural_analysis.finnhub_view.display_stock_price_headlines_sentiment -stocks.ca.sentiment,openbb_terminal.stocks.comparison_analysis.finbrain_model.get_sentiments,openbb_terminal.stocks.comparison_analysis.finbrain_view.display_sentiment_compare -stocks.ca.scorr,openbb_terminal.stocks.comparison_analysis.finbrain_model.get_sentiment_correlation,openbb_terminal.stocks.comparison_analysis.finbrain_view.display_sentiment_correlation -stocks.ca.finnhub_peers,openbb_terminal.stocks.comparison_analysis.finnhub_model.get_similar_companies, -stocks.ca.screener,openbb_terminal.stocks.comparison_analysis.finviz_compare_model.get_comparison_data, -stocks.ca.finviz_peers,openbb_terminal.stocks.comparison_analysis.finviz_compare_model.get_similar_companies, -stocks.ca.balance,openbb_terminal.stocks.comparison_analysis.marketwatch_model.get_balance_comparison, -stocks.ca.cashflow,openbb_terminal.stocks.comparison_analysis.marketwatch_model.get_cashflow_comparison, -stocks.ca.income,openbb_terminal.stocks.comparison_analysis.marketwatch_model.get_income_comparison,openbb_terminal.stocks.comparison_analysis.marketwatch_view.display_income_comparison -stocks.ca.polygon_peers,openbb_terminal.stocks.comparison_analysis.polygon_model.get_similar_companies, -stocks.ca.hist,openbb_terminal.stocks.comparison_analysis.yahoo_finance_model.get_historical,openbb_terminal.stocks.comparison_analysis.yahoo_finance_view.display_historical -stocks.ca.hcorr,openbb_terminal.stocks.comparison_analysis.yahoo_finance_model.get_correlation,openbb_terminal.stocks.comparison_analysis.yahoo_finance_view.display_correlation -stocks.ca.volume,openbb_terminal.stocks.comparison_analysis.yahoo_finance_model.get_volume,openbb_terminal.stocks.comparison_analysis.yahoo_finance_view.display_volume -stocks.dps.prom,openbb_terminal.stocks.dark_pool_shorts.finra_model.getATSdata,openbb_terminal.stocks.dark_pool_shorts.finra_view.darkpool_otc -stocks.dps.dpotc,openbb_terminal.stocks.dark_pool_shorts.finra_model.getTickerFINRAdata,openbb_terminal.stocks.dark_pool_shorts.finra_view.darkpool_ats_otc -stocks.dps.ctb,openbb_terminal.stocks.dark_pool_shorts.ibkr_model.get_cost_to_borrow, -stocks.dps.volexch,openbb_terminal.stocks.dark_pool_shorts.nyse_model.get_short_data_by_exchange,openbb_terminal.stocks.dark_pool_shorts.nyse_view.display_short_by_exchange -stocks.dps.psi_q,openbb_terminal.stocks.dark_pool_shorts.quandl_model.get_short_interest,openbb_terminal.stocks.dark_pool_shorts.quandl_view.short_interest -stocks.dps.ftd,openbb_terminal.stocks.dark_pool_shorts.sec_model.get_fails_to_deliver,openbb_terminal.stocks.dark_pool_shorts.sec_view.fails_to_deliver -stocks.dps.hsi,openbb_terminal.stocks.dark_pool_shorts.shortinterest_model.get_high_short_interest, -stocks.dps.pos,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_dark_pool_short_positions, -stocks.dps.spos,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_net_short_position,openbb_terminal.stocks.dark_pool_shorts.stockgrid_view.net_short_position -stocks.dps.sidtc,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_short_interest_days_to_cover, -stocks.dps.psi_sg,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_short_interest_volume,openbb_terminal.stocks.dark_pool_shorts.stockgrid_view.short_interest_volume -stocks.dps.shorted,openbb_terminal.stocks.dark_pool_shorts.yahoofinance_model.get_most_shorted, -stocks.disc.arkord,openbb_terminal.stocks.discovery.ark_model.get_ark_orders, -stocks.disc.ipo,openbb_terminal.stocks.discovery.finnhub_model.get_ipo_calendar, -stocks.disc.pipo,openbb_terminal.stocks.discovery.finnhub_model.get_past_ipo, -stocks.disc.fipo,openbb_terminal.stocks.discovery.finnhub_model.get_future_ipo, -stocks.disc.dividends,openbb_terminal.stocks.discovery.nasdaq_model.get_dividend_cal, -stocks.disc.rtat,openbb_terminal.stocks.discovery.nasdaq_model.get_retail_tickers, -stocks.disc.news,openbb_terminal.stocks.discovery.seeking_alpha_model.get_news, -stocks.disc.upcoming,openbb_terminal.stocks.discovery.seeking_alpha_model.get_next_earnings, -stocks.disc.trending,openbb_terminal.stocks.discovery.seeking_alpha_model.get_trending_list, -stocks.disc.lowfloat,openbb_terminal.stocks.discovery.shortinterest_model.get_low_float, -stocks.disc.hotpenny,openbb_terminal.stocks.discovery.shortinterest_model.get_today_hot_penny_stocks, -stocks.disc.active,openbb_terminal.stocks.discovery.yahoofinance_model.get_active, -stocks.disc.asc,openbb_terminal.stocks.discovery.yahoofinance_model.get_asc, -stocks.disc.gainers,openbb_terminal.stocks.discovery.yahoofinance_model.get_gainers, -stocks.disc.gtech,openbb_terminal.stocks.discovery.yahoofinance_model.get_gtech, -stocks.disc.losers,openbb_terminal.stocks.discovery.yahoofinance_model.get_losers, -stocks.disc.ugs,openbb_terminal.stocks.discovery.yahoofinance_model.get_ugs, -stocks.disc.ulc,openbb_terminal.stocks.discovery.yahoofinance_model.get_ulc, -stocks.dd.arktrades,openbb_terminal.stocks.due_diligence.ark_model.get_ark_trades_by_ticker, -stocks.dd.est,openbb_terminal.stocks.due_diligence.business_insider_model.get_estimates, -stocks.dd.pt,openbb_terminal.stocks.due_diligence.business_insider_model.get_price_target_from_analysts,openbb_terminal.stocks.due_diligence.business_insider_view.price_target_from_analysts -stocks.dd.customer,openbb_terminal.stocks.due_diligence.csimarket_model.get_customers, -stocks.dd.supplier,openbb_terminal.stocks.due_diligence.csimarket_model.get_suppliers, -stocks.dd.rot,openbb_terminal.stocks.due_diligence.finnhub_model.get_rating_over_time,openbb_terminal.stocks.due_diligence.finnhub_view.rating_over_time -stocks.dd.analyst,openbb_terminal.stocks.due_diligence.finviz_model.get_analyst_data, -stocks.dd.news,openbb_terminal.stocks.due_diligence.finviz_model.get_news, -stocks.dd.rating,openbb_terminal.stocks.due_diligence.fmp_model.get_rating, -stocks.dd.sec,openbb_terminal.stocks.due_diligence.marketwatch_model.get_sec_filings,openbb_terminal.stocks.due_diligence.marketwatch_view.sec_filings -stocks.fa.av_balance,openbb_terminal.stocks.fundamental_analysis.av_model.get_balance_sheet, -stocks.fa.av_cash,openbb_terminal.stocks.fundamental_analysis.av_model.get_cash_flow,openbb_terminal.stocks.fundamental_analysis.av_view.display_cash_flow -stocks.fa.dupont,openbb_terminal.stocks.fundamental_analysis.av_model.get_dupont, -stocks.fa.earnings,openbb_terminal.stocks.fundamental_analysis.av_model.get_earnings, -stocks.fa.fraud,openbb_terminal.stocks.fundamental_analysis.av_model.get_fraud_ratios, -stocks.fa.av_income,openbb_terminal.stocks.fundamental_analysis.av_model.get_income_statements, -stocks.fa.av_metrics,openbb_terminal.stocks.fundamental_analysis.av_model.get_key_metrics, -stocks.fa.av_overview,openbb_terminal.stocks.fundamental_analysis.av_model.get_overview, -stocks.fa.mgmt,openbb_terminal.stocks.fundamental_analysis.business_insider_model.get_management, -stocks.fa.fama_coe,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_fama_coe, -stocks.fa.fama_raw,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_fama_raw, -stocks.fa.historical_5,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_historical_5, -stocks.fa.similar_dfs,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_similar_dfs, -stocks.fa.analysis,openbb_terminal.stocks.fundamental_analysis.eclect_us_model.get_filings_analysis, -stocks.fa.fmp_balance,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_balance, -stocks.fa.fmp_cash,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_cash, -stocks.fa.dcf,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_dcf, -stocks.fa.enterprise,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_enterprise, -stocks.fa.growth,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_financial_growth, -stocks.fa.fmp_income,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_income, -stocks.fa.fmp_metrics,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_key_metrics, -stocks.fa.fmp_ratios,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_key_ratios, -stocks.fa.profile,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_profile, -stocks.fa.quote,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_quote, -stocks.fa.score,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_score, -stocks.fa.data,openbb_terminal.stocks.fundamental_analysis.finviz_model.get_data, -stocks.fa.poly_financials,openbb_terminal.stocks.fundamental_analysis.polygon_model.get_financials,openbb_terminal.stocks.fundamental_analysis.polygon_view.display_fundamentals -stocks.fa.cal,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_calendar_earnings, -stocks.fa.divs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_dividends, -stocks.fa.yf_financials,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_financials,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_fundamentals -stocks.fa.hq,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_hq, -stocks.fa.info,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_info, -stocks.fa.mktcap,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_mktcap,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_mktcap -stocks.fa.shrs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_shareholders, -stocks.fa.splits,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_splits,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_splits -stocks.fa.sust,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_sustainability, -stocks.fa.website,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_website, -stocks.gov.qtrcontracts,openbb_terminal.stocks.government.quiverquant_model.get_qtr_contracts,openbb_terminal.stocks.government.quiverquant_view.display_qtr_contracts -stocks.gov.government_trading,openbb_terminal.stocks.government.quiverquant_model.get_government_trading, -stocks.gov.contracts,openbb_terminal.stocks.government.quiverquant_model.get_contracts,openbb_terminal.stocks.government.quiverquant_view.display_contracts -stocks.gov.topbuys,openbb_terminal.stocks.government.quiverquant_model.get_government_buys,openbb_terminal.stocks.government.quiverquant_view.display_government_buys -stocks.gov.topsells,openbb_terminal.stocks.government.quiverquant_model.get_government_sells,openbb_terminal.stocks.government.quiverquant_view.display_government_sells -stocks.gov.gtrades,openbb_terminal.stocks.government.quiverquant_model.get_cleaned_government_trading,openbb_terminal.stocks.government.quiverquant_view.display_government_trading -stocks.gov.histcont,openbb_terminal.stocks.government.quiverquant_model.get_hist_contracts,openbb_terminal.stocks.government.quiverquant_view.display_hist_contracts -stocks.gov.lastcontracts,openbb_terminal.stocks.government.quiverquant_model.get_last_contracts,openbb_terminal.stocks.government.quiverquant_view.display_last_contracts -stocks.gov.lasttrades,openbb_terminal.stocks.government.quiverquant_model.get_last_government, -stocks.gov.lobbying,openbb_terminal.stocks.government.quiverquant_model.get_lobbying, -stocks.gov.toplobbying,openbb_terminal.stocks.government.quiverquant_model.get_top_lobbying,openbb_terminal.stocks.government.quiverquant_view.display_top_lobbying -stocks.ins.act,openbb_terminal.stocks.insider.businessinsider_model.get_insider_activity,openbb_terminal.stocks.insider.businessinsider_view.insider_activity -stocks.ins.lins,openbb_terminal.stocks.insider.finviz_model.get_last_insider_activity,openbb_terminal.stocks.insider.finviz_view.last_insider_activity -stocks.ins.print_insider_data,openbb_terminal.stocks.insider.openinsider_model.get_print_insider_data,openbb_terminal.stocks.insider.openinsider_view.print_insider_data -stocks.options.pcr,openbb_terminal.stocks.options.alphaquery_model.get_put_call_ratio,openbb_terminal.stocks.options.alphaquery_view.display_put_call_ratio -stocks.options.info,openbb_terminal.stocks.options.yfinance_model.get_info,openbb_terminal.stocks.options.barchart_view.print_options_data -stocks.options.hist_ce,openbb_terminal.stocks.options.chartexchange_model.get_option_history,openbb_terminal.stocks.options.chartexchange_view.display_raw -stocks.options.unu,openbb_terminal.stocks.options.fdscanner_model.unusual_options,openbb_terminal.stocks.options.fdscanner_view.display_options -stocks.options.screen.check_presets,openbb_terminal.stocks.options.screen.syncretism_model.check_presets, -stocks.options.grhist,openbb_terminal.stocks.options.screen.syncretism_model.get_historical_greeks,openbb_terminal.stocks.options.screen.syncretism_view.view_historical_greeks -stocks.options.screen.screener_output,openbb_terminal.stocks.options.screen.syncretism_model.get_screener_output,openbb_terminal.stocks.options.screen.syncretism_view.view_screener_output -stocks.options.hist_tr,openbb_terminal.stocks.options.tradier_model.get_historical_options,openbb_terminal.stocks.options.tradier_view.display_historical -stocks.options.chains,openbb_terminal.stocks.options.options_sdk_helper.get_full_option_chain -stocks.options.last_price,openbb_terminal.stocks.options.tradier_model.last_price, -stocks.options.expirations,openbb_terminal.stocks.options.options_sdk_helper.get_option_expirations -stocks.options.process_chains,openbb_terminal.stocks.options.tradier_model.process_chains, -stocks.options.generate_data,openbb_terminal.stocks.options.yfinance_model.generate_data, -stocks.options.dte,openbb_terminal.stocks.options.yfinance_model.get_dte, -stocks.options.vsurf,openbb_terminal.stocks.options.yfinance_model.get_iv_surface,openbb_terminal.stocks.options.yfinance_view.display_vol_surface -stocks.options.vol_yf,openbb_terminal.stocks.options.yfinance_model.get_vol,openbb_terminal.stocks.options.yfinance_view.plot_vol -stocks.options.voi_yf,openbb_terminal.stocks.options.yfinance_model.get_volume_open_interest,openbb_terminal.stocks.options.yfinance_view.plot_volume_open_interest -stocks.options.price,openbb_terminal.stocks.options.yfinance_model.get_price, -stocks.qa.capm_information,openbb_terminal.stocks.quantitative_analysis.factors_model.capm_information, -stocks.qa.fama_raw,openbb_terminal.stocks.quantitative_analysis.factors_model.get_fama_raw, -stocks.qa.historical_5,openbb_terminal.stocks.quantitative_analysis.factors_model.get_historical_5, -stocks.screener.screener_data,openbb_terminal.stocks.screener.finviz_model.get_screener_data,openbb_terminal.stocks.screener.finviz_view.screener -stocks.screener.historical,openbb_terminal.stocks.screener.yahoofinance_model.historical,openbb_terminal.stocks.screener.yahoofinance_view.historical -stocks.sia.filter_stocks,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.filter_stocks, -stocks.sia.cpci,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_country_in_industry,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_country_in_industry -stocks.sia.cpcs,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_country_in_sector,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_country_in_sector -stocks.sia.cpic,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_industry_in_country,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_industry_in_country -stocks.sia.cpis,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_industry_in_sector,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_industry_in_sector -stocks.sia.cps,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_sector_in_country,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_sector_in_country -stocks.sia.countries,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_countries, -stocks.sia.industries,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_industries, -stocks.sia.maketcap,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_marketcap, -stocks.sia.sectors,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_sectors, -stocks.sia.stocks_data,openbb_terminal.stocks.sector_industry_analysis.stockanalysis_model.get_stocks_data, -stocks.ta.summary,openbb_terminal.stocks.technical_analysis.finbrain_model.get_technical_summary_report,openbb_terminal.stocks.technical_analysis.finbrain_view.technical_summary_report -stocks.ta.view,openbb_terminal.stocks.technical_analysis.finviz_model.get_finviz_image,openbb_terminal.stocks.technical_analysis.finviz_view.view -stocks.ta.recom,openbb_terminal.stocks.technical_analysis.tradingview_model.get_tradingview_recommendation,openbb_terminal.stocks.technical_analysis.tradingview_view.print_recommendation -stocks.ta.rsp,openbb_terminal.stocks.technical_analysis.rsp_model.get_rsp,openbb_terminal.stocks.technical_analysis.rsp_view.display_rsp -stocks.th.check_if_open,openbb_terminal.stocks.tradinghours.bursa_model.check_if_open, -stocks.th.all,openbb_terminal.stocks.tradinghours.bursa_model.get_all,openbb_terminal.stocks.tradinghours.bursa_view.display_all -stocks.th.closed,openbb_terminal.stocks.tradinghours.bursa_model.get_closed,openbb_terminal.stocks.tradinghours.bursa_view.display_closed -stocks.th.open,openbb_terminal.stocks.tradinghours.bursa_model.get_open,openbb_terminal.stocks.tradinghours.bursa_view.display_open -stocks.th.exchange,openbb_terminal.stocks.tradinghours.bursa_model.get_bursa,openbb_terminal.stocks.tradinghours.bursa_view.display_exchange -stocks.load,openbb_terminal.stocks.stocks_helper.load, -etf.load,openbb_terminal.stocks.stocks_helper.load, -stocks.process_candle,openbb_terminal.stocks.stocks_helper.process_candle, -stocks.search,openbb_terminal.stocks.stocks_helper.search, -stocks.quote,openbb_terminal.stocks.stocks_models.load_quote, -stocks.tob,openbb_terminal.stocks.cboe_model.get_top_of_book, -stocks.candle,openbb_terminal.stocks.stocks_helper.display_candle, -crypto.load,openbb_terminal.cryptocurrency.cryptocurrency_helpers.load, -crypto.price,openbb_terminal.cryptocurrency.pyth_model.get_price, -crypto.find,openbb_terminal.cryptocurrency.cryptocurrency_helpers.find, -crypto.chart,openbb_terminal.cryptocurrency.cryptocurrency_helpers.plot_chart,openbb_terminal.cryptocurrency.cryptocurrency_helpers.plot_chart -crypto.candles,openbb_terminal.cryptocurrency.cryptocurrency_helpers.plot_candles, -etf.candle,openbb_terminal.stocks.stocks_helper.display_candle, -forex.candle,openbb_terminal.forex.forex_helper.display_candle, -forex.load,openbb_terminal.forex.forex_helper.load, -keys.mykeys,openbb_terminal.keys_model.get_keys, -keys.set_keys,openbb_terminal.keys_model.set_keys, -keys.get_keys_info,openbb_terminal.keys_model.get_keys_info, -keys.av,openbb_terminal.keys_model.set_av_key, -keys.fmp,openbb_terminal.keys_model.set_fmp_key, -keys.quandl,openbb_terminal.keys_model.set_quandl_key, -keys.polygon,openbb_terminal.keys_model.set_polygon_key, -keys.fred,openbb_terminal.keys_model.set_fred_key, -keys.news,openbb_terminal.keys_model.set_news_key, -keys.tradier,openbb_terminal.keys_model.set_tradier_key, -keys.cmc,openbb_terminal.keys_model.set_cmc_key, -keys.finnhub,openbb_terminal.keys_model.set_finnhub_key, -keys.iex,openbb_terminal.keys_model.set_iex_key, -keys.reddit,openbb_terminal.keys_model.set_reddit_key, -keys.twitter,openbb_terminal.keys_model.set_twitter_key, -keys.rh,openbb_terminal.keys_model.set_rh_key, -keys.degiro,openbb_terminal.keys_model.set_degiro_key, -keys.oanda,openbb_terminal.keys_model.set_oanda_key, -keys.binance,openbb_terminal.keys_model.set_binance_key, -keys.bitquery,openbb_terminal.keys_model.set_bitquery_key, -keys.si,openbb_terminal.keys_model.set_si_key, -keys.coinbase,openbb_terminal.keys_model.set_coinbase_key, -keys.walert,openbb_terminal.keys_model.set_walert_key, -keys.glassnode,openbb_terminal.keys_model.set_glassnode_key, -keys.coinglass,openbb_terminal.keys_model.set_coinglass_key, -keys.cpanic,openbb_terminal.keys_model.set_cpanic_key, -keys.ethplorer,openbb_terminal.keys_model.set_ethplorer_key, -keys.smartstake,openbb_terminal.keys_model.set_smartstake_key, -keys.github,openbb_terminal.keys_model.set_github_key, -keys.messari,openbb_terminal.keys_model.set_messari_key, -keys.eodhd,openbb_terminal.keys_model.set_eodhd_key, -keys.santiment,openbb_terminal.keys_model.set_santiment_key, -keys.tokenterminal,openbb_terminal.keys_model.set_tokenterminal_key, -keys.shroom,openbb_terminal.keys_model.set_shroom_key, -futures.search,openbb_terminal.futures.yfinance_model.get_search_futures,openbb_terminal.futures.yfinance_view.display_search -futures.historical,openbb_terminal.futures.yfinance_model.get_historical_futures,openbb_terminal.futures.yfinance_view.display_historical -futures.curve,openbb_terminal.futures.yfinance_model.get_curve_futures,openbb_terminal.futures.yfinance_view.display_curve -economy.get_groups,openbb_terminal.economy.finviz_model.get_groups +trail,model,view +alt.covid.slopes,openbb_terminal.alternative.covid.covid_model.get_case_slopes,openbb_terminal.alternative.covid.covid_view.display_case_slopes +alt.covid.global_cases,openbb_terminal.alternative.covid.covid_model.get_global_cases, +alt.covid.global_deaths,openbb_terminal.alternative.covid.covid_model.get_global_deaths, +alt.covid.ov,openbb_terminal.alternative.covid.covid_model.get_covid_ov,openbb_terminal.alternative.covid.covid_view.display_covid_ov +alt.covid.stat,openbb_terminal.alternative.covid.covid_model.get_covid_stat,openbb_terminal.alternative.covid.covid_view.display_covid_stat +alt.oss.github_data,openbb_terminal.alternative.oss.github_model.get_github_data, +alt.oss.summary,openbb_terminal.alternative.oss.github_model.get_repo_summary,openbb_terminal.alternative.oss.github_view.display_repo_summary +alt.oss.history,openbb_terminal.alternative.oss.github_model.get_stars_history,openbb_terminal.alternative.oss.github_view.display_star_history +alt.oss.top,openbb_terminal.alternative.oss.github_model.get_top_repos,openbb_terminal.alternative.oss.github_view.display_top_repos +alt.oss.search,openbb_terminal.alternative.oss.github_model.search_repos, +alt.oss._make_request,openbb_terminal.alternative.oss.runa_model._make_request, +alt.oss._retry_session,openbb_terminal.alternative.oss.runa_model._retry_session, +alt.oss.ross,openbb_terminal.alternative.oss.runa_model.get_startups,openbb_terminal.alternative.oss.runa_view.display_rossindex +stocks.ba.headlines,openbb_terminal.common.behavioural_analysis.finbrain_model.get_sentiment,openbb_terminal.common.behavioural_analysis.finbrain_view.display_sentiment_analysis +stocks.ba.mentions,openbb_terminal.common.behavioural_analysis.google_model.get_mentions,openbb_terminal.common.behavioural_analysis.google_view.display_mentions +stocks.ba.queries,openbb_terminal.common.behavioural_analysis.google_model.get_queries, +stocks.ba.regions,openbb_terminal.common.behavioural_analysis.google_model.get_regions,openbb_terminal.common.behavioural_analysis.google_view.display_regions +stocks.ba.rise,openbb_terminal.common.behavioural_analysis.google_model.get_rise, +stocks.ba.getdd,openbb_terminal.common.behavioural_analysis.reddit_model.get_due_dilligence, +stocks.ba.popular,openbb_terminal.common.behavioural_analysis.reddit_model.get_popular_tickers,openbb_terminal.common.behavioural_analysis.reddit_view.display_popular_tickers +stocks.ba.redditsent,openbb_terminal.common.behavioural_analysis.reddit_model.get_posts_about,openbb_terminal.common.behavioural_analysis.reddit_view.display_redditsent +stocks.ba.text_sent,openbb_terminal.common.behavioural_analysis.reddit_model.get_sentiment, +stocks.ba.spac,openbb_terminal.common.behavioural_analysis.reddit_model.get_spac, +stocks.ba.spacc,openbb_terminal.common.behavioural_analysis.reddit_model.get_spac_community, +stocks.ba.watchlist,openbb_terminal.common.behavioural_analysis.reddit_model.get_watchlists,openbb_terminal.common.behavioural_analysis.reddit_view.display_watchlist +stocks.ba.wsb,openbb_terminal.common.behavioural_analysis.reddit_model.get_wsb_community, +stocks.ba.hist,openbb_terminal.common.behavioural_analysis.sentimentinvestor_model.get_historical,openbb_terminal.common.behavioural_analysis.sentimentinvestor_view.display_historical +stocks.ba.trend,openbb_terminal.common.behavioural_analysis.sentimentinvestor_model.get_trending,openbb_terminal.common.behavioural_analysis.sentimentinvestor_view.display_trending +stocks.ba.bullbear,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_bullbear,openbb_terminal.common.behavioural_analysis.stocktwits_view.display_bullbear +stocks.ba.messages,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_messages,openbb_terminal.common.behavioural_analysis.stocktwits_view.display_messages +stocks.ba.stalker,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_stalker, +stocks.ba.trending,openbb_terminal.common.behavioural_analysis.stocktwits_model.get_trending, +stocks.ba.infer,openbb_terminal.common.behavioural_analysis.twitter_model.load_analyze_tweets,openbb_terminal.common.behavioural_analysis.twitter_view.display_inference +stocks.ba.sentiment,openbb_terminal.common.behavioural_analysis.twitter_model.get_sentiment,openbb_terminal.common.behavioural_analysis.twitter_view.display_sentiment +etf.news,openbb_terminal.common.newsapi_model.get_news,openbb_terminal.common.newsapi_view.display_news +news,openbb_terminal.common.feedparser_model.get_news, +qa.bw,openbb_terminal.common.quantitative_analysis.qa_view.display_bw,openbb_terminal.common.quantitative_analysis.qa_view.display_bw +qa.calculate_adjusted_var,openbb_terminal.common.quantitative_analysis.qa_model.calculate_adjusted_var, +qa.es,openbb_terminal.common.quantitative_analysis.qa_model.get_es,openbb_terminal.common.quantitative_analysis.qa_view.display_es +qa.normality,openbb_terminal.common.quantitative_analysis.qa_model.get_normality,openbb_terminal.common.quantitative_analysis.qa_view.display_normality +qa.omega,openbb_terminal.common.quantitative_analysis.qa_model.get_omega,openbb_terminal.common.quantitative_analysis.qa_view.display_omega +qa.decompose,openbb_terminal.common.quantitative_analysis.qa_model.get_seasonal_decomposition, +qa.sharpe,openbb_terminal.common.quantitative_analysis.qa_model.get_sharpe,openbb_terminal.common.quantitative_analysis.qa_view.display_sharpe +qa.sortino,openbb_terminal.common.quantitative_analysis.qa_model.get_sortino,openbb_terminal.common.quantitative_analysis.qa_view.display_sortino +qa.summary,openbb_terminal.common.quantitative_analysis.qa_model.get_summary,openbb_terminal.common.quantitative_analysis.qa_view.display_summary +qa.unitroot,openbb_terminal.common.quantitative_analysis.qa_model.get_unitroot,openbb_terminal.common.quantitative_analysis.qa_view.display_unitroot +qa.var,openbb_terminal.common.quantitative_analysis.qa_model.get_var,openbb_terminal.common.quantitative_analysis.qa_view.display_var +qa.kurtosis,openbb_terminal.common.quantitative_analysis.rolling_model.get_kurtosis,openbb_terminal.common.quantitative_analysis.rolling_view.display_kurtosis +qa.quantile,openbb_terminal.common.quantitative_analysis.rolling_model.get_quantile,openbb_terminal.common.quantitative_analysis.rolling_view.display_quantile +qa.rolling,openbb_terminal.common.quantitative_analysis.rolling_model.get_rolling_avg,openbb_terminal.common.quantitative_analysis.rolling_view.display_mean_std +qa.skew,openbb_terminal.common.quantitative_analysis.rolling_model.get_skew,openbb_terminal.common.quantitative_analysis.rolling_view.display_skew +qa.spread,openbb_terminal.common.quantitative_analysis.rolling_model.get_spread,openbb_terminal.common.quantitative_analysis.rolling_view.display_spread +ta.fib,openbb_terminal.common.technical_analysis.custom_indicators_model.calculate_fib_levels,openbb_terminal.common.technical_analysis.custom_indicators_view.fibonacci_retracement +ta.cci,openbb_terminal.common.technical_analysis.momentum_model.cci,openbb_terminal.common.technical_analysis.momentum_view.display_cci +ta.cg,openbb_terminal.common.technical_analysis.momentum_model.cg,openbb_terminal.common.technical_analysis.momentum_view.display_cg +ta.fisher,openbb_terminal.common.technical_analysis.momentum_model.fisher,openbb_terminal.common.technical_analysis.momentum_view.display_fisher +ta.macd,openbb_terminal.common.technical_analysis.momentum_model.macd,openbb_terminal.common.technical_analysis.momentum_view.display_macd +ta.rsi,openbb_terminal.common.technical_analysis.momentum_model.rsi,openbb_terminal.common.technical_analysis.momentum_view.display_rsi +ta.stoch,openbb_terminal.common.technical_analysis.momentum_model.stoch,openbb_terminal.common.technical_analysis.momentum_view.display_stoch +ta.ma,openbb_terminal.common.technical_analysis.overlap_view.view_ma,openbb_terminal.common.technical_analysis.overlap_view.view_ma +ta.ema,openbb_terminal.common.technical_analysis.overlap_model.ema, +ta.hma,openbb_terminal.common.technical_analysis.overlap_model.hma, +ta.sma,openbb_terminal.common.technical_analysis.overlap_model.sma, +ta.vwap,openbb_terminal.common.technical_analysis.overlap_model.vwap,openbb_terminal.common.technical_analysis.overlap_view.view_vwap +ta.wma,openbb_terminal.common.technical_analysis.overlap_model.wma, +ta.zlma,openbb_terminal.common.technical_analysis.overlap_model.zlma, +ta.adx,openbb_terminal.common.technical_analysis.trend_indicators_model.adx,openbb_terminal.common.technical_analysis.trend_indicators_view.display_adx +ta.aroon,openbb_terminal.common.technical_analysis.trend_indicators_model.aroon,openbb_terminal.common.technical_analysis.trend_indicators_view.display_aroon +ta.bbands,openbb_terminal.common.technical_analysis.volatility_model.bbands,openbb_terminal.common.technical_analysis.volatility_view.display_bbands +ta.donchian,openbb_terminal.common.technical_analysis.volatility_model.donchian,openbb_terminal.common.technical_analysis.volatility_view.display_donchian +ta.kc,openbb_terminal.common.technical_analysis.volatility_model.kc,openbb_terminal.common.technical_analysis.volatility_view.view_kc +ta.ad,openbb_terminal.common.technical_analysis.volume_model.ad,openbb_terminal.common.technical_analysis.volume_view.display_ad +ta.adosc,openbb_terminal.common.technical_analysis.volume_model.adosc,openbb_terminal.common.technical_analysis.volume_view.display_adosc +ta.obv,openbb_terminal.common.technical_analysis.volume_model.obv,openbb_terminal.common.technical_analysis.volume_view.display_obv +ta.atr,openbb_terminal.common.technical_analysis.volatility_model.atr,openbb_terminal.common.technical_analysis.volatility_view.display_atr +crypto.defi.vaults,openbb_terminal.cryptocurrency.defi.coindix_model.get_defi_vaults,openbb_terminal.cryptocurrency.defi.coindix_view.display_defi_vaults +crypto.defi.anchor_data,openbb_terminal.cryptocurrency.defi.cryptosaurio_model.get_anchor_data,openbb_terminal.cryptocurrency.defi.cryptosaurio_view.display_anchor_data +crypto.defi.swaps,openbb_terminal.cryptocurrency.defi.graph_model.get_last_uni_swaps,openbb_terminal.cryptocurrency.defi.graph_view.display_last_uni_swaps +crypto.defi.pools,openbb_terminal.cryptocurrency.defi.graph_model.get_uni_pools_by_volume,openbb_terminal.cryptocurrency.defi.graph_view.display_uni_pools +crypto.defi.tokens,openbb_terminal.cryptocurrency.defi.graph_model.get_uni_tokens,openbb_terminal.cryptocurrency.defi.graph_view.display_uni_tokens +crypto.defi.pairs,openbb_terminal.cryptocurrency.defi.graph_model.get_uniswap_pool_recently_added,openbb_terminal.cryptocurrency.defi.graph_view.display_recently_added +crypto.defi.stats,openbb_terminal.cryptocurrency.defi.graph_model.get_uniswap_stats,openbb_terminal.cryptocurrency.defi.graph_view.display_uni_stats +crypto.defi.dtvl,openbb_terminal.cryptocurrency.defi.llama_model.get_defi_protocol,openbb_terminal.cryptocurrency.defi.llama_view.display_historical_tvl +crypto.defi.ldapps,openbb_terminal.cryptocurrency.defi.llama_model.get_defi_protocols,openbb_terminal.cryptocurrency.defi.llama_view.display_defi_protocols +crypto.defi.stvl,openbb_terminal.cryptocurrency.defi.llama_model.get_defi_tvl,openbb_terminal.cryptocurrency.defi.llama_view.display_defi_tvl +crypto.defi.gdapps,openbb_terminal.cryptocurrency.defi.llama_model.get_grouped_defi_protocols,openbb_terminal.cryptocurrency.defi.llama_view.display_grouped_defi_protocols +crypto.defi.luna_supply,openbb_terminal.cryptocurrency.defi.smartstake_model.get_luna_supply_stats,openbb_terminal.cryptocurrency.defi.smartstake_view.display_luna_circ_supply_change +crypto.defi.newsletters,openbb_terminal.cryptocurrency.defi.substack_model.get_newsletters,openbb_terminal.cryptocurrency.defi.substack_view.display_newsletters +crypto.defi.aterra,openbb_terminal.cryptocurrency.defi.terraengineer_model.get_history_asset_from_terra_address,openbb_terminal.cryptocurrency.defi.terraengineer_view.display_terra_asset_history +crypto.defi.ayr,openbb_terminal.cryptocurrency.defi.terraengineer_model.get_anchor_yield_reserve,openbb_terminal.cryptocurrency.defi.terraengineer_view.display_anchor_yield_reserve +crypto.defi.gacc,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_account_growth,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_account_growth +crypto.defi.gov_proposals,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_proposals,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_gov_proposals +crypto.defi.sinfo,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_staking_account_info,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_account_staking_info +crypto.defi.sratio,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_staking_ratio_history,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_staking_ratio_history +crypto.defi.sreturn,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_staking_returns_history,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_staking_returns_history +crypto.defi.validators,openbb_terminal.cryptocurrency.defi.terramoney_fcd_model.get_validators,openbb_terminal.cryptocurrency.defi.terramoney_fcd_view.display_validators +crypto.disc.cmctop,openbb_terminal.cryptocurrency.discovery.coinmarketcap_model.get_cmc_top_n,openbb_terminal.cryptocurrency.discovery.coinmarketcap_view.display_cmc_top_coins +crypto.disc.cpsearch,openbb_terminal.cryptocurrency.discovery.coinpaprika_model.get_search_results,openbb_terminal.cryptocurrency.discovery.coinpaprika_view.display_search_results +crypto.disc.top_dapps,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_dapps,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_dapps +crypto.disc.top_dexes,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_dexes,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_dexes +crypto.disc.top_games,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_games,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_games +crypto.disc.top_nfts,openbb_terminal.cryptocurrency.discovery.dappradar_model.get_top_nfts,openbb_terminal.cryptocurrency.discovery.dappradar_view.display_top_nfts +crypto.disc.categories_keys,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_categories_keys, +crypto.disc.coin_list,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coin_list, +crypto.disc.coins,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coins,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_coins +crypto.disc.coins_for_given_exchange,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coins_for_given_exchange, +crypto.disc.gainers_or_losers,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_gainers_or_losers, +crypto.disc.gainers,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_gainers,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_gainers +crypto.disc.losers,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_losers,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_losers +crypto.disc.trending,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_trending_coins,openbb_terminal.cryptocurrency.discovery.pycoingecko_view.display_trending +crypto.dd.trading_pairs,openbb_terminal.cryptocurrency.due_diligence.binance_model._get_trading_pairs, +crypto.dd.check_valid_binance_str,openbb_terminal.cryptocurrency.due_diligence.binance_model.check_valid_binance_str, +crypto.dd.all_binance_trading_pairs,openbb_terminal.cryptocurrency.due_diligence.binance_model.get_all_binance_trading_pairs, +crypto.dd.binance_available_quotes_for_each_coin,openbb_terminal.cryptocurrency.due_diligence.binance_model.get_binance_available_quotes_for_each_coin, +crypto.dd.balance,openbb_terminal.cryptocurrency.due_diligence.binance_view.get_balance,openbb_terminal.cryptocurrency.due_diligence.binance_view.display_balance +crypto.dd.ob,openbb_terminal.cryptocurrency.due_diligence.ccxt_model.get_orderbook,openbb_terminal.cryptocurrency.due_diligence.ccxt_view.display_order_book +crypto.dd.show_available_pairs_for_given_symbol,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.show_available_pairs_for_given_symbol, +crypto.dd.exchanges,openbb_terminal.cryptocurrency.due_diligence.ccxt_model.get_exchanges, +crypto.dd.candles,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.get_candles,openbb_terminal.cryptocurrency.due_diligence.coinbase_view.display_candles +crypto.dd.stats,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.get_product_stats,openbb_terminal.cryptocurrency.due_diligence.coinbase_view.display_stats +crypto.dd.trades,openbb_terminal.cryptocurrency.due_diligence.ccxt_model.get_trades,openbb_terminal.cryptocurrency.due_diligence.ccxt_view.display_trades +crypto.dd.trading_pair_info,openbb_terminal.cryptocurrency.due_diligence.coinbase_model.get_trading_pair_info, +crypto.dd.oi,openbb_terminal.cryptocurrency.due_diligence.coinglass_model.get_open_interest_per_exchange,openbb_terminal.cryptocurrency.due_diligence.coinglass_view.display_open_interest +crypto.dd.basic,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.basic_coin_info,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_basic +crypto.dd.coin,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin, +crypto.dd.events,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_events_by_id,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_events +crypto.dd.ex,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_exchanges_by_id,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_exchanges +crypto.dd.mkt,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_markets_by_id,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_markets +crypto.dd.twitter,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_coin_twitter_timeline,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_twitter +crypto.dd.ohlc_historical,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_ohlc_historical, +crypto.dd.ps,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_model.get_tickers_info_for_coin,openbb_terminal.cryptocurrency.due_diligence.coinpaprika_view.display_price_supply +crypto.dd.news,openbb_terminal.cryptocurrency.overview.cryptopanic_model.get_news,openbb_terminal.cryptocurrency.due_diligence.cryptopanic_view.display_news +crypto.dd.headlines,openbb_terminal.common.behavioural_analysis.finbrain_model.get_sentiment,openbb_terminal.cryptocurrency.due_diligence.finbrain_crypto_view.display_crypto_sentiment_analysis +crypto.dd.active,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_active_addresses,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_active_addresses +crypto.dd.close,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_close_price, +crypto.dd.eb,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_exchange_balances,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_exchange_balances +crypto.dd.change,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_exchange_net_position_change,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_exchange_net_position_change +crypto.onchain.hr,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_hashrate,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_hashrate +crypto.dd.nonzero,openbb_terminal.cryptocurrency.due_diligence.glassnode_model.get_non_zero_addresses,openbb_terminal.cryptocurrency.due_diligence.glassnode_view.display_non_zero_addresses +crypto.dd.get_mt,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_available_timeseries,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_messari_timeseries_list +crypto.dd.fr,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_fundraising,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_fundraising +crypto.dd.gov,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_governance,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_governance +crypto.dd.inv,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_investors,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_investors +crypto.dd.links,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_links,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_links +crypto.dd.mcapdom,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_marketcap_dominance,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_marketcap_dominance +crypto.dd.mt,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_messari_timeseries,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_messari_timeseries +crypto.dd.pi,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_project_product_info,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_project_info +crypto.dd.rm,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_roadmap,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_roadmap +crypto.dd.team,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_team,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_team +crypto.dd.tk,openbb_terminal.cryptocurrency.due_diligence.messari_model.get_tokenomics,openbb_terminal.cryptocurrency.due_diligence.messari_view.display_tokenomics +crypto.dd.coin_market_chart,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model.get_coin_market_chart, +crypto.dd.pr,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model.get_coin_potential_returns,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_view.display_coin_potential_returns +crypto.dd.tokenomics,openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model.get_coin_tokenomics, +crypto.dd.gh,openbb_terminal.cryptocurrency.due_diligence.santiment_model.get_github_activity,openbb_terminal.cryptocurrency.due_diligence.santiment_view.display_github_activity +crypto.nft.stats,openbb_terminal.cryptocurrency.nft.opensea_model.get_collection_stats,openbb_terminal.cryptocurrency.nft.opensea_view.display_collection_stats +crypto.nft.fp,openbb_terminal.cryptocurrency.nft.nftpricefloor_model.get_floor_price,openbb_terminal.cryptocurrency.nft.nftpricefloor_view.display_floor_price +crypto.nft.collections,openbb_terminal.cryptocurrency.nft.nftpricefloor_model.get_collections,openbb_terminal.cryptocurrency.nft.nftpricefloor_view.display_collections +crypto.onchain.dvcp,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_daily_dex_volume_for_given_pair,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_daily_volume_for_given_pair +crypto.onchain.lt,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_dex_trades_by_exchange,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_dex_trades +crypto.onchain.dex_trades_monthly,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_dex_trades_monthly, +crypto.onchain.erc20_tokens,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_erc20_tokens, +crypto.onchain.ueat,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_ethereum_unique_senders,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_ethereum_unique_senders +crypto.onchain.ttcp,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_most_traded_pairs,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_most_traded_pairs +crypto.onchain.baas,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_spread_for_crypto_pair,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_spread_for_crypto_pair +crypto.onchain.tv,openbb_terminal.cryptocurrency.onchain.bitquery_model.get_token_volume_on_dexes,openbb_terminal.cryptocurrency.onchain.bitquery_view.display_dex_volume_for_token +crypto.onchain.query_graph,openbb_terminal.cryptocurrency.onchain.bitquery_model.query_graph, +crypto.onchain.btc_supply,openbb_terminal.cryptocurrency.onchain.blockchain_model.get_btc_circulating_supply,openbb_terminal.cryptocurrency.onchain.blockchain_view.display_btc_circulating_supply +crypto.onchain.btc_transac,openbb_terminal.cryptocurrency.onchain.blockchain_model.get_btc_confirmed_transactions,openbb_terminal.cryptocurrency.onchain.blockchain_view.display_btc_confirmed_transactions +crypto.onchain.gwei,openbb_terminal.cryptocurrency.onchain.ethgasstation_model.get_gwei_fees,openbb_terminal.cryptocurrency.onchain.ethgasstation_view.display_gwei_fees +crypto.onchain.hist,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_address_history,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_address_history +crypto.onchain.balance,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_address_info,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_address_info +crypto.onchain.token_decimals,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_decimals, +crypto.onchain.prices,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_historical_price,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_token_historical_prices +crypto.onchain.th,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_history,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_token_history +crypto.onchain.info,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_token_info,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_token_info +crypto.onchain.holders,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_top_token_holders,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_top_token_holders +crypto.onchain.top,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_top_tokens,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_top_tokens +crypto.onchain.tx,openbb_terminal.cryptocurrency.onchain.ethplorer_model.get_tx_info,openbb_terminal.cryptocurrency.onchain.ethplorer_view.display_tx_info +crypto.onchain.whales,openbb_terminal.cryptocurrency.onchain.whale_alert_model.get_whales_transactions,openbb_terminal.cryptocurrency.onchain.whale_alert_view.display_whales_transactions +crypto.ov.altindex,openbb_terminal.cryptocurrency.overview.blockchaincenter_model.get_altcoin_index,openbb_terminal.cryptocurrency.overview.blockchaincenter_view.display_altcoin_index +crypto.ov.btcrb,openbb_terminal.cryptocurrency.overview.glassnode_model.get_btc_rainbow,openbb_terminal.cryptocurrency.overview.glassnode_view.display_btc_rainbow +crypto.ov.cbpairs,openbb_terminal.cryptocurrency.overview.coinbase_model.get_trading_pairs,openbb_terminal.cryptocurrency.overview.coinbase_view.display_trading_pairs +crypto.ov.cpplatforms,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_all_contract_platforms,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_platforms +crypto.ov.cpinfo,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_coins_info,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_coins_info +crypto.ov.cpmarkets,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_coins_market_info,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_coins_market_info +crypto.ov.cpcontracts,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_contract_platform,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_contracts +crypto.ov.cpexmarkets,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_exchanges_market,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_exchange_markets +crypto.ov.cpglobal,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_global_market,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_global_market +crypto.ov.list_of_coins,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_list_of_coins, +crypto.ov.cpexchanges,openbb_terminal.cryptocurrency.overview.coinpaprika_model.get_list_of_exchanges,openbb_terminal.cryptocurrency.overview.coinpaprika_view.display_all_exchanges +crypto.ov.news,openbb_terminal.cryptocurrency.overview.cryptopanic_model.get_news,openbb_terminal.cryptocurrency.overview.cryptopanic_view.display_news +crypto.ov.cr,openbb_terminal.cryptocurrency.overview.loanscan_model.get_rates,openbb_terminal.cryptocurrency.overview.loanscan_view.display_crypto_rates +crypto.ov.cgderivatives,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_derivatives,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_derivatives +crypto.ov.cgexrates,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_exchange_rates,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_exchange_rates +crypto.ov.exchanges,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_exchanges,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_exchanges +crypto.ov.cgproducts,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_finance_products,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_products +crypto.ov.platforms,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_financial_platforms,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_platforms +crypto.ov.cgdefi,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_global_defi_info,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_global_defi_info +crypto.ov.global_info,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_global_info, +crypto.ov.cgglobal,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_global_markets_info,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_global_market_info +crypto.ov.cghold,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_holdings_overview,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_holdings_overview +crypto.ov.cgindexes,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_indexes,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_indexes +crypto.ov.cgstables,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_stable_coins,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_stablecoins +crypto.ov.cgcategories,openbb_terminal.cryptocurrency.overview.pycoingecko_model.get_top_crypto_categories,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_categories +crypto.ov.cghm,openbb_terminal.cryptocurrency.discovery.pycoingecko_model.get_coins,openbb_terminal.cryptocurrency.overview.pycoingecko_view.display_crypto_heatmap +crypto.ov.crypto_hack,openbb_terminal.cryptocurrency.overview.rekt_model.get_crypto_hack, +crypto.ov.crypto_hack_slugs,openbb_terminal.cryptocurrency.overview.rekt_model.get_crypto_hack_slugs, +crypto.ov.crypto_hacks,openbb_terminal.cryptocurrency.overview.rekt_model.get_crypto_hacks,openbb_terminal.cryptocurrency.overview.rekt_view.display_crypto_hacks +crypto.ov.wfpe,openbb_terminal.cryptocurrency.overview.withdrawalfees_model.get_crypto_withdrawal_fees,openbb_terminal.cryptocurrency.overview.withdrawalfees_view.display_crypto_withdrawal_fees +crypto.ov.ewf,openbb_terminal.cryptocurrency.overview.withdrawalfees_model.get_overall_exchange_withdrawal_fees,openbb_terminal.cryptocurrency.overview.withdrawalfees_view.display_overall_exchange_withdrawal_fees +crypto.ov.wf,openbb_terminal.cryptocurrency.overview.withdrawalfees_model.get_overall_withdrawal_fees,openbb_terminal.cryptocurrency.overview.withdrawalfees_view.display_overall_withdrawal_fees +crypto.tools.apy,openbb_terminal.cryptocurrency.tools.tools_model.calculate_apy,openbb_terminal.cryptocurrency.tools.tools_view.display_apy +crypto.tools.il,openbb_terminal.cryptocurrency.tools.tools_model.calculate_il,openbb_terminal.cryptocurrency.tools.tools_view.display_il +econometrics.clean,openbb_terminal.econometrics.econometrics_model.clean, +econometrics.coint,openbb_terminal.econometrics.econometrics_model.get_coint_df,openbb_terminal.econometrics.econometrics_view.display_cointegration_test +econometrics.granger,openbb_terminal.econometrics.econometrics_model.get_granger_causality,openbb_terminal.econometrics.econometrics_view.display_granger +econometrics.norm,openbb_terminal.econometrics.econometrics_model.get_normality,openbb_terminal.econometrics.econometrics_view.display_norm +econometrics.options,openbb_terminal.econometrics.econometrics_model.get_options,openbb_terminal.econometrics.econometrics_view.show_options +econometrics.root,openbb_terminal.econometrics.econometrics_model.get_root,openbb_terminal.econometrics.econometrics_view.display_root +econometrics.load,openbb_terminal.common.common_model.load, +econometrics.bgod,openbb_terminal.econometrics.regression_model.get_bgod,openbb_terminal.econometrics.regression_view.display_bgod +econometrics.bols,openbb_terminal.econometrics.regression_model.get_bols, +econometrics.bpag,openbb_terminal.econometrics.regression_model.get_bpag,openbb_terminal.econometrics.regression_view.display_bpag +econometrics.comparison,openbb_terminal.econometrics.regression_model.get_comparison, +econometrics.dwat,openbb_terminal.econometrics.regression_model.get_dwat,openbb_terminal.econometrics.regression_view.display_dwat +econometrics.fdols,openbb_terminal.econometrics.regression_model.get_fdols, +econometrics.fe,openbb_terminal.econometrics.regression_model.get_fe, +econometrics.ols,openbb_terminal.econometrics.regression_model.get_ols, +econometrics.pols,openbb_terminal.econometrics.regression_model.get_pols, +econometrics.re,openbb_terminal.econometrics.regression_model.get_re, +econometrics.get_regression_data,openbb_terminal.econometrics.regression_model.get_regression_data, +econometrics.panel,openbb_terminal.econometrics.regression_model.get_regressions_results,openbb_terminal.econometrics.regression_view.display_panel +economy.cpi,openbb_terminal.economy.alphavantage_model.get_cpi,openbb_terminal.economy.alphavantage_view.display_cpi +economy.gdpc,openbb_terminal.economy.alphavantage_model.get_gdp_capita,openbb_terminal.economy.alphavantage_view.display_gdp_capita +economy.inf,openbb_terminal.economy.alphavantage_model.get_inflation,openbb_terminal.economy.alphavantage_view.display_inflation +economy.gdp,openbb_terminal.economy.alphavantage_model.get_real_gdp,openbb_terminal.economy.alphavantage_view.display_real_gdp +economy.rtps,openbb_terminal.economy.alphavantage_model.get_sector_data,openbb_terminal.economy.alphavantage_view.realtime_performance_sector +economy.tyld,openbb_terminal.economy.alphavantage_model.get_treasury_yield,openbb_terminal.economy.alphavantage_view.display_treasury_yield +economy.unemp,openbb_terminal.economy.alphavantage_model.get_unemployment,openbb_terminal.economy.alphavantage_view.display_unemployment +economy.macro,openbb_terminal.economy.econdb_model.get_aggregated_macro_data,openbb_terminal.economy.econdb_view.show_macro_data +economy.macro_parameters,openbb_terminal.economy.econdb_model.get_macro_parameters, +economy.macro_countries,openbb_terminal.economy.econdb_model.get_macro_countries, +economy.treasury,openbb_terminal.economy.econdb_model.get_treasuries,openbb_terminal.economy.econdb_view.show_treasuries +economy.treasury_maturities,openbb_terminal.economy.econdb_model.get_treasury_maturities, +economy.future,openbb_terminal.economy.finviz_model.get_futures, +economy.spectrum,openbb_terminal.economy.finviz_model.get_spectrum_data,openbb_terminal.economy.finviz_view.display_spectrum +economy.valuation,openbb_terminal.economy.finviz_model.get_valuation_data, +economy.performance,openbb_terminal.economy.finviz_model.get_performance_data, +economy.perfmap,openbb_terminal.economy.finviz_model.get_performance_map, +economy.fred_series,openbb_terminal.economy.fred_model.get_aggregated_series_data,openbb_terminal.economy.fred_view.display_fred_series +economy.fred_ids,openbb_terminal.economy.fred_model.get_series_ids, +economy.fred_notes,openbb_terminal.economy.fred_model.get_series_notes, +economy.fred_yield_curve,openbb_terminal.economy.fred_model.get_yield_curve,openbb_terminal.economy.fred_view.display_yield_curve +economy.get_events_countries,openbb_terminal.economy.investingcom_model.get_events_countries, +economy.events,openbb_terminal.economy.nasdaq_model.get_economic_calendar, +economy.get_ycrv_countries,openbb_terminal.economy.investingcom_model.get_ycrv_countries, +economy.ycrv,openbb_terminal.economy.fred_model.get_yield_curve,openbb_terminal.economy.fred_view.display_yield_curve +economy.country_codes,openbb_terminal.economy.nasdaq_model.get_country_codes, +economy.bigmac,openbb_terminal.economy.nasdaq_model.get_big_mac_indices,openbb_terminal.economy.nasdaq_view.display_big_mac_index +economy.glbonds,openbb_terminal.economy.wsj_model.global_bonds, +economy.currencies,openbb_terminal.economy.wsj_model.global_currencies, +economy.overview,openbb_terminal.economy.wsj_model.market_overview, +economy.futures,openbb_terminal.economy.wsj_model.top_commodities, +economy.usbonds,openbb_terminal.economy.wsj_model.us_bonds, +economy.indices,openbb_terminal.economy.wsj_model.us_indices, +economy.index,openbb_terminal.economy.yfinance_model.get_indices,openbb_terminal.economy.yfinance_view.show_indices +economy.available_indices,openbb_terminal.economy.yfinance_model.get_available_indices, +economy.search_index,openbb_terminal.economy.yfinance_model.get_search_indices, +etf.disc.mover,openbb_terminal.etf.discovery.wsj_model.etf_movers,openbb_terminal.etf.discovery.wsj_view.show_top_mover +etf.etf_by_category,openbb_terminal.etf.financedatabase_model.get_etfs_by_category,openbb_terminal.etf.financedatabase_view.display_etf_by_category +etf.ld,openbb_terminal.etf.financedatabase_model.get_etfs_by_description,openbb_terminal.etf.financedatabase_view.display_etf_by_description +etf.ln,openbb_terminal.etf.financedatabase_model.get_etfs_by_name,openbb_terminal.etf.financedatabase_view.display_etf_by_name +etf.scr.screen,openbb_terminal.etf.screener.screener_model.etf_screener,openbb_terminal.etf.screener.screener_view.view_screener +etf.holdings,openbb_terminal.etf.stockanalysis_model.get_etf_holdings,openbb_terminal.etf.stockanalysis_view.view_holdings +etf.symbols,openbb_terminal.etf.stockanalysis_model.get_all_names_symbols, +etf.overview,openbb_terminal.etf.stockanalysis_model.get_etf_overview,openbb_terminal.etf.stockanalysis_view.view_overview +etf.etf_by_name,openbb_terminal.etf.stockanalysis_model.get_etfs_by_name,openbb_terminal.etf.stockanalysis_view.display_etf_by_name +etf.weights,openbb_terminal.etf.yfinance_model.get_etf_sector_weightings,openbb_terminal.etf.yfinance_view.display_etf_weightings +etf.summary,openbb_terminal.etf.yfinance_model.get_etf_summary_description,openbb_terminal.etf.yfinance_view.display_etf_description +forex.get_currency_list,openbb_terminal.forex.av_model.get_currency_list, +forex.hist,openbb_terminal.forex.av_model.get_historical, +forex.quote,openbb_terminal.forex.av_model.get_quote,openbb_terminal.forex.av_view.display_quote +forex.oanda.fwd,openbb_terminal.forex.fxempire_model.get_forward_rates,openbb_terminal.forex.fxempire_view.display_forward_rates +forex.oanda.summary,openbb_terminal.forex.oanda.oanda_model.account_summary_request,openbb_terminal.forex.oanda.oanda_view.get_account_summary +forex.oanda.cancel,openbb_terminal.forex.oanda.oanda_model.cancel_pending_order_request,openbb_terminal.forex.oanda.oanda_view.cancel_pending_order +forex.oanda.close,openbb_terminal.forex.oanda.oanda_model.close_trades_request,openbb_terminal.forex.oanda.oanda_view.close_trade +forex.oanda.order,openbb_terminal.forex.oanda.oanda_model.create_order_request,openbb_terminal.forex.oanda.oanda_view.create_order +forex.oanda.price,openbb_terminal.forex.oanda.oanda_model.fx_price_request,openbb_terminal.forex.oanda.oanda_view.get_fx_price +forex.oanda.calendar,openbb_terminal.forex.oanda.oanda_model.get_calendar_request,openbb_terminal.forex.oanda.oanda_view.calendar +forex.oanda.candles,openbb_terminal.forex.oanda.oanda_model.get_candles_dataframe,openbb_terminal.forex.oanda.oanda_view.show_candles +forex.oanda.openpositions,openbb_terminal.forex.oanda.oanda_model.open_positions_request,openbb_terminal.forex.oanda.oanda_view.get_open_positions +forex.oanda.opentrades,openbb_terminal.forex.oanda.oanda_model.open_trades_request,openbb_terminal.forex.oanda.oanda_view.get_open_trades +forex.oanda.listorders,openbb_terminal.forex.oanda.oanda_model.order_history_request,openbb_terminal.forex.oanda.oanda_view.list_orders +forex.oanda.orderbook,openbb_terminal.forex.oanda.oanda_model.orderbook_plot_data_request,openbb_terminal.forex.oanda.oanda_view.get_order_book +forex.oanda.pending,openbb_terminal.forex.oanda.oanda_model.pending_orders_request,openbb_terminal.forex.oanda.oanda_view.get_pending_orders +forex.oanda.positionbook,openbb_terminal.forex.oanda.oanda_model.positionbook_plot_data_request,openbb_terminal.forex.oanda.oanda_view.get_position_book +portfolio.load,openbb_terminal.portfolio.portfolio_model.generate_portfolio, +portfolio.show,openbb_terminal.portfolio.portfolio_model.get_transactions, +portfolio.bench,openbb_terminal.portfolio.portfolio_model.set_benchmark, +portfolio.holdv,openbb_terminal.portfolio.portfolio_model.get_holdings_value,openbb_terminal.portfolio.portfolio_view.display_holdings_value +portfolio.holdp,openbb_terminal.portfolio.portfolio_model.get_holdings_percentage,openbb_terminal.portfolio.portfolio_view.display_holdings_percentage +portfolio.mret,openbb_terminal.portfolio.portfolio_model.get_monthly_returns,openbb_terminal.portfolio.portfolio_view.display_monthly_returns +portfolio.yret,openbb_terminal.portfolio.portfolio_model.get_yearly_returns,openbb_terminal.portfolio.portfolio_view.display_yearly_returns +portfolio.dret,openbb_terminal.portfolio.portfolio_model.get_daily_returns,openbb_terminal.portfolio.portfolio_view.display_daily_returns +portfolio.distr,openbb_terminal.portfolio.portfolio_model.get_distribution_returns,openbb_terminal.portfolio.portfolio_view.display_distribution_returns +portfolio.maxdd,openbb_terminal.portfolio.portfolio_model.get_maximum_drawdown,openbb_terminal.portfolio.portfolio_view.display_maximum_drawdown +portfolio.rvol,openbb_terminal.portfolio.portfolio_model.get_rolling_volatility,openbb_terminal.portfolio.portfolio_view.display_rolling_volatility +portfolio.rsharpe,openbb_terminal.portfolio.portfolio_model.get_rolling_sharpe,openbb_terminal.portfolio.portfolio_view.display_rolling_sharpe +portfolio.rsort,openbb_terminal.portfolio.portfolio_model.get_rolling_sortino,openbb_terminal.portfolio.portfolio_view.display_rolling_sortino +portfolio.rbeta,openbb_terminal.portfolio.portfolio_model.get_rolling_beta,openbb_terminal.portfolio.portfolio_view.display_rolling_beta +portfolio.summary,openbb_terminal.portfolio.portfolio_model.get_summary, +portfolio.alloc.assets,openbb_terminal.portfolio.portfolio_model.get_assets_allocation, +portfolio.alloc.sectors,openbb_terminal.portfolio.portfolio_model.get_sectors_allocation, +portfolio.alloc.countries,openbb_terminal.portfolio.portfolio_model.get_countries_allocation, +portfolio.alloc.regions,openbb_terminal.portfolio.portfolio_model.get_regions_allocation, +portfolio.metric.volatility,openbb_terminal.portfolio.portfolio_model.get_volatility, +portfolio.metric.sharpe,openbb_terminal.portfolio.portfolio_model.get_sharpe_ratio, +portfolio.metric.sortino,openbb_terminal.portfolio.portfolio_model.get_sortino_ratio, +portfolio.metric.maxdrawdown,openbb_terminal.portfolio.portfolio_model.get_maximum_drawdown_ratio, +portfolio.metric.rsquare,openbb_terminal.portfolio.portfolio_model.get_r2_score, +portfolio.metric.skew,openbb_terminal.portfolio.portfolio_model.get_skewness, +portfolio.metric.kurtosis,openbb_terminal.portfolio.portfolio_model.get_kurtosis, +portfolio.metric.gaintopain,openbb_terminal.portfolio.portfolio_model.get_gaintopain_ratio, +portfolio.metric.trackerr,openbb_terminal.portfolio.portfolio_model.get_tracking_error, +portfolio.metric.information,openbb_terminal.portfolio.portfolio_model.get_information_ratio, +portfolio.metric.tail,openbb_terminal.portfolio.portfolio_model.get_tail_ratio, +portfolio.metric.commonsense,openbb_terminal.portfolio.portfolio_model.get_common_sense_ratio, +portfolio.metric.jensens,openbb_terminal.portfolio.portfolio_model.get_jensens_alpha, +portfolio.metric.calmar,openbb_terminal.portfolio.portfolio_model.get_calmar_ratio, +portfolio.metric.kelly,openbb_terminal.portfolio.portfolio_model.get_kelly_criterion, +portfolio.metric.payoff,openbb_terminal.portfolio.portfolio_model.get_payoff_ratio, +portfolio.metric.profitfactor,openbb_terminal.portfolio.portfolio_model.get_profit_factor, +portfolio.perf,openbb_terminal.portfolio.portfolio_model.get_performance_vs_benchmark, +portfolio.var,openbb_terminal.portfolio.portfolio_model.get_var, +portfolio.es,openbb_terminal.portfolio.portfolio_model.get_es, +portfolio.om,openbb_terminal.portfolio.portfolio_model.get_omega,openbb_terminal.portfolio.portfolio_view.display_omega +portfolio.po.load,openbb_terminal.portfolio.portfolio_optimization.excel_model.load_allocation, +portfolio.po.load_bl_views,openbb_terminal.portfolio.portfolio_optimization.excel_model.load_bl_views, +portfolio.po.maxsharpe,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_sharpe,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_sharpe +portfolio.po.minrisk,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_min_risk,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_min_risk +portfolio.po.maxutil,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_util,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_util +portfolio.po.maxret,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_ret,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_ret +portfolio.po.maxdiv,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_diversification_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_div +portfolio.po.maxdecorr,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_max_decorrelation_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_max_decorr +portfolio.po.blacklitterman,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_black_litterman_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_black_litterman +portfolio.po.ef,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_ef,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_ef +portfolio.po.riskparity,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_risk_parity_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_risk_parity +portfolio.po.relriskparity,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_rel_risk_parity_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_rel_risk_parity +portfolio.po.meanrisk,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_mean_risk_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_mean_risk +portfolio.po.hrp,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_hrp,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_hrp +portfolio.po.herc,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_herc,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_herc +portfolio.po.nco,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_nco,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_nco +portfolio.po.hcp,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_hcp_portfolio,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_hcp +portfolio.po.equal,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_equal_weights, +portfolio.po.property,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_property_weights,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.display_property_weighting +portfolio.po.get_properties,openbb_terminal.portfolio.portfolio_optimization.optimizer_model.get_properties, +portfolio.po.plot,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.additional_plots,openbb_terminal.portfolio.portfolio_optimization.optimizer_view.additional_plots +stocks.ba.cnews,openbb_terminal.stocks.behavioural_analysis.finnhub_model.get_company_news, +stocks.ba.snews,openbb_terminal.stocks.behavioural_analysis.finnhub_model.get_headlines_sentiment,openbb_terminal.stocks.behavioural_analysis.finnhub_view.display_stock_price_headlines_sentiment +stocks.ca.sentiment,openbb_terminal.stocks.comparison_analysis.finbrain_model.get_sentiments,openbb_terminal.stocks.comparison_analysis.finbrain_view.display_sentiment_compare +stocks.ca.scorr,openbb_terminal.stocks.comparison_analysis.finbrain_model.get_sentiment_correlation,openbb_terminal.stocks.comparison_analysis.finbrain_view.display_sentiment_correlation +stocks.ca.finnhub_peers,openbb_terminal.stocks.comparison_analysis.finnhub_model.get_similar_companies, +stocks.ca.screener,openbb_terminal.stocks.comparison_analysis.finviz_compare_model.get_comparison_data, +stocks.ca.finviz_peers,openbb_terminal.stocks.comparison_analysis.finviz_compare_model.get_similar_companies, +stocks.ca.balance,openbb_terminal.stocks.comparison_analysis.marketwatch_model.get_balance_comparison, +stocks.ca.cashflow,openbb_terminal.stocks.comparison_analysis.marketwatch_model.get_cashflow_comparison, +stocks.ca.income,openbb_terminal.stocks.comparison_analysis.marketwatch_model.get_income_comparison,openbb_terminal.stocks.comparison_analysis.marketwatch_view.display_income_comparison +stocks.ca.polygon_peers,openbb_terminal.stocks.comparison_analysis.polygon_model.get_similar_companies, +stocks.ca.hist,openbb_terminal.stocks.comparison_analysis.yahoo_finance_model.get_historical,openbb_terminal.stocks.comparison_analysis.yahoo_finance_view.display_historical +stocks.ca.hcorr,openbb_terminal.stocks.comparison_analysis.yahoo_finance_model.get_correlation,openbb_terminal.stocks.comparison_analysis.yahoo_finance_view.display_correlation +stocks.ca.volume,openbb_terminal.stocks.comparison_analysis.yahoo_finance_model.get_volume,openbb_terminal.stocks.comparison_analysis.yahoo_finance_view.display_volume +stocks.dps.prom,openbb_terminal.stocks.dark_pool_shorts.finra_model.getATSdata,openbb_terminal.stocks.dark_pool_shorts.finra_view.darkpool_otc +stocks.dps.dpotc,openbb_terminal.stocks.dark_pool_shorts.finra_model.getTickerFINRAdata,openbb_terminal.stocks.dark_pool_shorts.finra_view.darkpool_ats_otc +stocks.dps.ctb,openbb_terminal.stocks.dark_pool_shorts.ibkr_model.get_cost_to_borrow, +stocks.dps.volexch,openbb_terminal.stocks.dark_pool_shorts.nyse_model.get_short_data_by_exchange,openbb_terminal.stocks.dark_pool_shorts.nyse_view.display_short_by_exchange +stocks.dps.psi_q,openbb_terminal.stocks.dark_pool_shorts.quandl_model.get_short_interest,openbb_terminal.stocks.dark_pool_shorts.quandl_view.short_interest +stocks.dps.ftd,openbb_terminal.stocks.dark_pool_shorts.sec_model.get_fails_to_deliver,openbb_terminal.stocks.dark_pool_shorts.sec_view.fails_to_deliver +stocks.dps.hsi,openbb_terminal.stocks.dark_pool_shorts.shortinterest_model.get_high_short_interest, +stocks.dps.pos,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_dark_pool_short_positions, +stocks.dps.spos,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_net_short_position,openbb_terminal.stocks.dark_pool_shorts.stockgrid_view.net_short_position +stocks.dps.sidtc,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_short_interest_days_to_cover, +stocks.dps.psi_sg,openbb_terminal.stocks.dark_pool_shorts.stockgrid_model.get_short_interest_volume,openbb_terminal.stocks.dark_pool_shorts.stockgrid_view.short_interest_volume +stocks.dps.shorted,openbb_terminal.stocks.dark_pool_shorts.yahoofinance_model.get_most_shorted, +stocks.disc.arkord,openbb_terminal.stocks.discovery.ark_model.get_ark_orders, +stocks.disc.ipo,openbb_terminal.stocks.discovery.finnhub_model.get_ipo_calendar, +stocks.disc.pipo,openbb_terminal.stocks.discovery.finnhub_model.get_past_ipo, +stocks.disc.fipo,openbb_terminal.stocks.discovery.finnhub_model.get_future_ipo, +stocks.disc.dividends,openbb_terminal.stocks.discovery.nasdaq_model.get_dividend_cal, +stocks.disc.rtat,openbb_terminal.stocks.discovery.nasdaq_model.get_retail_tickers, +stocks.disc.news,openbb_terminal.stocks.discovery.seeking_alpha_model.get_news, +stocks.disc.upcoming,openbb_terminal.stocks.discovery.seeking_alpha_model.get_next_earnings, +stocks.disc.trending,openbb_terminal.stocks.discovery.seeking_alpha_model.get_trending_list, +stocks.disc.lowfloat,openbb_terminal.stocks.discovery.shortinterest_model.get_low_float, +stocks.disc.hotpenny,openbb_terminal.stocks.discovery.shortinterest_model.get_today_hot_penny_stocks, +stocks.disc.active,openbb_terminal.stocks.discovery.yahoofinance_model.get_active, +stocks.disc.asc,openbb_terminal.stocks.discovery.yahoofinance_model.get_asc, +stocks.disc.gainers,openbb_terminal.stocks.discovery.yahoofinance_model.get_gainers, +stocks.disc.gtech,openbb_terminal.stocks.discovery.yahoofinance_model.get_gtech, +stocks.disc.losers,openbb_terminal.stocks.discovery.yahoofinance_model.get_losers, +stocks.disc.ugs,openbb_terminal.stocks.discovery.yahoofinance_model.get_ugs, +stocks.disc.ulc,openbb_terminal.stocks.discovery.yahoofinance_model.get_ulc, +stocks.dd.arktrades,openbb_terminal.stocks.due_diligence.ark_model.get_ark_trades_by_ticker, +stocks.dd.est,openbb_terminal.stocks.due_diligence.business_insider_model.get_estimates, +stocks.dd.pt,openbb_terminal.stocks.due_diligence.business_insider_model.get_price_target_from_analysts,openbb_terminal.stocks.due_diligence.business_insider_view.price_target_from_analysts +stocks.dd.customer,openbb_terminal.stocks.due_diligence.csimarket_model.get_customers, +stocks.dd.supplier,openbb_terminal.stocks.due_diligence.csimarket_model.get_suppliers, +stocks.dd.rot,openbb_terminal.stocks.due_diligence.finnhub_model.get_rating_over_time,openbb_terminal.stocks.due_diligence.finnhub_view.rating_over_time +stocks.dd.analyst,openbb_terminal.stocks.due_diligence.finviz_model.get_analyst_data, +stocks.dd.news,openbb_terminal.stocks.due_diligence.finviz_model.get_news, +stocks.dd.rating,openbb_terminal.stocks.due_diligence.fmp_model.get_rating, +stocks.dd.sec,openbb_terminal.stocks.due_diligence.marketwatch_model.get_sec_filings,openbb_terminal.stocks.due_diligence.marketwatch_view.sec_filings +stocks.fa.av_balance,openbb_terminal.stocks.fundamental_analysis.av_model.get_balance_sheet, +stocks.fa.av_cash,openbb_terminal.stocks.fundamental_analysis.av_model.get_cash_flow,openbb_terminal.stocks.fundamental_analysis.av_view.display_cash_flow +stocks.fa.dupont,openbb_terminal.stocks.fundamental_analysis.av_model.get_dupont, +stocks.fa.earnings,openbb_terminal.stocks.fundamental_analysis.av_model.get_earnings, +stocks.fa.fraud,openbb_terminal.stocks.fundamental_analysis.av_model.get_fraud_ratios, +stocks.fa.av_income,openbb_terminal.stocks.fundamental_analysis.av_model.get_income_statements, +stocks.fa.av_metrics,openbb_terminal.stocks.fundamental_analysis.av_model.get_key_metrics, +stocks.fa.av_overview,openbb_terminal.stocks.fundamental_analysis.av_model.get_overview, +stocks.fa.mgmt,openbb_terminal.stocks.fundamental_analysis.business_insider_model.get_management, +stocks.fa.fama_coe,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_fama_coe, +stocks.fa.fama_raw,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_fama_raw, +stocks.fa.historical_5,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_historical_5, +stocks.fa.similar_dfs,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_similar_dfs, +stocks.fa.analysis,openbb_terminal.stocks.fundamental_analysis.eclect_us_model.get_filings_analysis, +stocks.fa.fmp_balance,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_balance, +stocks.fa.fmp_cash,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_cash, +stocks.fa.dcf,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_dcf, +stocks.fa.enterprise,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_enterprise, +stocks.fa.growth,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_financial_growth, +stocks.fa.fmp_income,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_income, +stocks.fa.fmp_metrics,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_key_metrics, +stocks.fa.fmp_ratios,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_key_ratios, +stocks.fa.profile,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_profile, +stocks.fa.quote,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_quote, +stocks.fa.score,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_score, +stocks.fa.data,openbb_terminal.stocks.fundamental_analysis.finviz_model.get_data, +stocks.fa.poly_financials,openbb_terminal.stocks.fundamental_analysis.polygon_model.get_financials,openbb_terminal.stocks.fundamental_analysis.polygon_view.display_fundamentals +stocks.fa.cal,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_calendar_earnings, +stocks.fa.divs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_dividends, +stocks.fa.yf_financials,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_financials,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_fundamentals +stocks.fa.hq,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_hq, +stocks.fa.info,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_info, +stocks.fa.mktcap,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_mktcap,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_mktcap +stocks.fa.shrs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_shareholders, +stocks.fa.splits,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_splits,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_splits +stocks.fa.sust,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_sustainability, +stocks.fa.website,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_website, +stocks.gov.qtrcontracts,openbb_terminal.stocks.government.quiverquant_model.get_qtr_contracts,openbb_terminal.stocks.government.quiverquant_view.display_qtr_contracts +stocks.gov.government_trading,openbb_terminal.stocks.government.quiverquant_model.get_government_trading, +stocks.gov.contracts,openbb_terminal.stocks.government.quiverquant_model.get_contracts,openbb_terminal.stocks.government.quiverquant_view.display_contracts +stocks.gov.topbuys,openbb_terminal.stocks.government.quiverquant_model.get_government_buys,openbb_terminal.stocks.government.quiverquant_view.display_government_buys +stocks.gov.topsells,openbb_terminal.stocks.government.quiverquant_model.get_government_sells,openbb_terminal.stocks.government.quiverquant_view.display_government_sells +stocks.gov.gtrades,openbb_terminal.stocks.government.quiverquant_model.get_cleaned_government_trading,openbb_terminal.stocks.government.quiverquant_view.display_government_trading +stocks.gov.histcont,openbb_terminal.stocks.government.quiverquant_model.get_hist_contracts,openbb_terminal.stocks.government.quiverquant_view.display_hist_contracts +stocks.gov.lastcontracts,openbb_terminal.stocks.government.quiverquant_model.get_last_contracts,openbb_terminal.stocks.government.quiverquant_view.display_last_contracts +stocks.gov.lasttrades,openbb_terminal.stocks.government.quiverquant_model.get_last_government, +stocks.gov.lobbying,openbb_terminal.stocks.government.quiverquant_model.get_lobbying, +stocks.gov.toplobbying,openbb_terminal.stocks.government.quiverquant_model.get_top_lobbying,openbb_terminal.stocks.government.quiverquant_view.display_top_lobbying +stocks.ins.act,openbb_terminal.stocks.insider.businessinsider_model.get_insider_activity,openbb_terminal.stocks.insider.businessinsider_view.insider_activity +stocks.ins.lins,openbb_terminal.stocks.insider.finviz_model.get_last_insider_activity,openbb_terminal.stocks.insider.finviz_view.last_insider_activity +stocks.ins.print_insider_data,openbb_terminal.stocks.insider.openinsider_model.get_print_insider_data,openbb_terminal.stocks.insider.openinsider_view.print_insider_data +stocks.options.pcr,openbb_terminal.stocks.options.alphaquery_model.get_put_call_ratio,openbb_terminal.stocks.options.alphaquery_view.display_put_call_ratio +stocks.options.info,openbb_terminal.stocks.options.yfinance_model.get_info,openbb_terminal.stocks.options.barchart_view.print_options_data +stocks.options.hist_ce,openbb_terminal.stocks.options.chartexchange_model.get_option_history,openbb_terminal.stocks.options.chartexchange_view.display_raw +stocks.options.unu,openbb_terminal.stocks.options.fdscanner_model.unusual_options,openbb_terminal.stocks.options.fdscanner_view.display_options +stocks.options.screen.check_presets,openbb_terminal.stocks.options.screen.syncretism_model.check_presets, +stocks.options.grhist,openbb_terminal.stocks.options.screen.syncretism_model.get_historical_greeks,openbb_terminal.stocks.options.screen.syncretism_view.view_historical_greeks +stocks.options.screen.screener_output,openbb_terminal.stocks.options.screen.syncretism_model.get_screener_output,openbb_terminal.stocks.options.screen.syncretism_view.view_screener_output +stocks.options.hist_tr,openbb_terminal.stocks.options.tradier_model.get_historical_options,openbb_terminal.stocks.options.tradier_view.display_historical +stocks.options.chains,openbb_terminal.stocks.options.options_sdk_helper.get_full_option_chain +stocks.options.last_price,openbb_terminal.stocks.options.tradier_model.last_price, +stocks.options.expirations,openbb_terminal.stocks.options.options_sdk_helper.get_option_expirations +stocks.options.process_chains,openbb_terminal.stocks.options.tradier_model.process_chains, +stocks.options.generate_data,openbb_terminal.stocks.options.yfinance_model.generate_data, +stocks.options.dte,openbb_terminal.stocks.options.yfinance_model.get_dte, +stocks.options.vsurf,openbb_terminal.stocks.options.yfinance_model.get_iv_surface,openbb_terminal.stocks.options.yfinance_view.display_vol_surface +stocks.options.vol_yf,openbb_terminal.stocks.options.yfinance_model.get_vol,openbb_terminal.stocks.options.yfinance_view.plot_vol +stocks.options.voi_yf,openbb_terminal.stocks.options.yfinance_model.get_volume_open_interest,openbb_terminal.stocks.options.yfinance_view.plot_volume_open_interest +stocks.options.price,openbb_terminal.stocks.options.yfinance_model.get_price, +stocks.qa.capm_information,openbb_terminal.stocks.quantitative_analysis.factors_model.capm_information, +stocks.qa.fama_raw,openbb_terminal.stocks.quantitative_analysis.factors_model.get_fama_raw, +stocks.qa.historical_5,openbb_terminal.stocks.quantitative_analysis.factors_model.get_historical_5, +stocks.screener.screener_data,openbb_terminal.stocks.screener.finviz_model.get_screener_data,openbb_terminal.stocks.screener.finviz_view.screener +stocks.screener.historical,openbb_terminal.stocks.screener.yahoofinance_model.historical,openbb_terminal.stocks.screener.yahoofinance_view.historical +stocks.sia.filter_stocks,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.filter_stocks, +stocks.sia.cpci,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_country_in_industry,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_country_in_industry +stocks.sia.cpcs,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_country_in_sector,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_country_in_sector +stocks.sia.cpic,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_industry_in_country,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_industry_in_country +stocks.sia.cpis,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_industry_in_sector,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_industry_in_sector +stocks.sia.cps,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_sector_in_country,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_sector_in_country +stocks.sia.countries,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_countries, +stocks.sia.industries,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_industries, +stocks.sia.maketcap,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_marketcap, +stocks.sia.sectors,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_sectors, +stocks.sia.stocks_data,openbb_terminal.stocks.sector_industry_analysis.stockanalysis_model.get_stocks_data, +stocks.ta.summary,openbb_terminal.stocks.technical_analysis.finbrain_model.get_technical_summary_report,openbb_terminal.stocks.technical_analysis.finbrain_view.technical_summary_report +stocks.ta.view,openbb_terminal.stocks.technical_analysis.finviz_model.get_finviz_image,openbb_terminal.stocks.technical_analysis.finviz_view.view +stocks.ta.recom,openbb_terminal.stocks.technical_analysis.tradingview_model.get_tradingview_recommendation,openbb_terminal.stocks.technical_analysis.tradingview_view.print_recommendation +stocks.ta.rsp,openbb_terminal.stocks.technical_analysis.rsp_model.get_rsp,openbb_terminal.stocks.technical_analysis.rsp_view.display_rsp +stocks.th.check_if_open,openbb_terminal.stocks.tradinghours.bursa_model.check_if_open, +stocks.th.all,openbb_terminal.stocks.tradinghours.bursa_model.get_all,openbb_terminal.stocks.tradinghours.bursa_view.display_all +stocks.th.closed,openbb_terminal.stocks.tradinghours.bursa_model.get_closed,openbb_terminal.stocks.tradinghours.bursa_view.display_closed +stocks.th.open,openbb_terminal.stocks.tradinghours.bursa_model.get_open,openbb_terminal.stocks.tradinghours.bursa_view.display_open +stocks.th.exchange,openbb_terminal.stocks.tradinghours.bursa_model.get_bursa,openbb_terminal.stocks.tradinghours.bursa_view.display_exchange +stocks.load,openbb_terminal.stocks.stocks_helper.load, +etf.load,openbb_terminal.stocks.stocks_helper.load, +stocks.process_candle,openbb_terminal.stocks.stocks_helper.process_candle, +stocks.search,openbb_terminal.stocks.stocks_helper.search, +stocks.quote,openbb_terminal.stocks.stocks_models.load_quote, +stocks.tob,openbb_terminal.stocks.cboe_model.get_top_of_book, +stocks.candle,openbb_terminal.stocks.stocks_helper.display_candle, +crypto.load,openbb_terminal.cryptocurrency.cryptocurrency_helpers.load, +crypto.price,openbb_terminal.cryptocurrency.pyth_model.get_price, +crypto.find,openbb_terminal.cryptocurrency.cryptocurrency_helpers.find, +crypto.chart,openbb_terminal.cryptocurrency.cryptocurrency_helpers.plot_chart,openbb_terminal.cryptocurrency.cryptocurrency_helpers.plot_chart +crypto.candles,openbb_terminal.cryptocurrency.cryptocurrency_helpers.plot_candles, +etf.candle,openbb_terminal.stocks.stocks_helper.display_candle, +forex.candle,openbb_terminal.forex.forex_helper.display_candle, +forex.load,openbb_terminal.forex.forex_helper.load, +keys.mykeys,openbb_terminal.keys_model.get_keys, +keys.set_keys,openbb_terminal.keys_model.set_keys, +keys.get_keys_info,openbb_terminal.keys_model.get_keys_info, +keys.av,openbb_terminal.keys_model.set_av_key, +keys.fmp,openbb_terminal.keys_model.set_fmp_key, +keys.quandl,openbb_terminal.keys_model.set_quandl_key, +keys.polygon,openbb_terminal.keys_model.set_polygon_key, +keys.fred,openbb_terminal.keys_model.set_fred_key, +keys.news,openbb_terminal.keys_model.set_news_key, +keys.tradier,openbb_terminal.keys_model.set_tradier_key, +keys.cmc,openbb_terminal.keys_model.set_cmc_key, +keys.finnhub,openbb_terminal.keys_model.set_finnhub_key, +keys.iex,openbb_terminal.keys_model.set_iex_key, +keys.reddit,openbb_terminal.keys_model.set_reddit_key, +keys.twitter,openbb_terminal.keys_model.set_twitter_key, +keys.rh,openbb_terminal.keys_model.set_rh_key, +keys.degiro,openbb_terminal.keys_model.set_degiro_key, +keys.oanda,openbb_terminal.keys_model.set_oanda_key, +keys.binance,openbb_terminal.keys_model.set_binance_key, +keys.bitquery,openbb_terminal.keys_model.set_bitquery_key, +keys.si,openbb_terminal.keys_model.set_si_key, +keys.coinbase,openbb_terminal.keys_model.set_coinbase_key, +keys.walert,openbb_terminal.keys_model.set_walert_key, +keys.glassnode,openbb_terminal.keys_model.set_glassnode_key, +keys.coinglass,openbb_terminal.keys_model.set_coinglass_key, +keys.cpanic,openbb_terminal.keys_model.set_cpanic_key, +keys.ethplorer,openbb_terminal.keys_model.set_ethplorer_key, +keys.smartstake,openbb_terminal.keys_model.set_smartstake_key, +keys.github,openbb_terminal.keys_model.set_github_key, +keys.messari,openbb_terminal.keys_model.set_messari_key, +keys.eodhd,openbb_terminal.keys_model.set_eodhd_key, +keys.santiment,openbb_terminal.keys_model.set_santiment_key, +keys.tokenterminal,openbb_terminal.keys_model.set_tokenterminal_key, +keys.shroom,openbb_terminal.keys_model.set_shroom_key, +futures.search,openbb_terminal.futures.yfinance_model.get_search_futures,openbb_terminal.futures.yfinance_view.display_search +futures.historical,openbb_terminal.futures.yfinance_model.get_historical_futures,openbb_terminal.futures.yfinance_view.display_historical +futures.curve,openbb_terminal.futures.yfinance_model.get_curve_futures,openbb_terminal.futures.yfinance_view.display_curve +economy.get_groups,openbb_terminal.economy.finviz_model.get_groups \ No newline at end of file diff --git a/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y0-time_series_x0-3].csv b/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y0-time_series_x0-3].csv new file mode 100644 index 00000000000..223921fe14c --- /dev/null +++ b/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y0-time_series_x0-3].csv @@ -0,0 +1,5 @@ +,F-test,P-value,Count,Lags +ssr_ftest,2.66991,0.04882,193.0,3.0 +ssr_chi2test,8.30024,0.0402,-,3.0 +lrtest,8.13263,0.04335,-,3.0 +params_ftest,2.66991,0.04882,193.0,3.0 diff --git a/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y1-time_series_x1-2].csv b/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y1-time_series_x1-2].csv new file mode 100644 index 00000000000..566b2aa48a4 --- /dev/null +++ b/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y1-time_series_x1-2].csv @@ -0,0 +1,5 @@ +,F-test,P-value,Count,Lags +ssr_ftest,3.26559,0.04026,196.0,2.0 +ssr_chi2test,6.69779,0.03512,-,2.0 +lrtest,6.58862,0.03709,-,2.0 +params_ftest,3.26559,0.04026,196.0,2.0 diff --git a/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y2-time_series_x2-1].csv b/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y2-time_series_x2-1].csv new file mode 100644 index 00000000000..3b49bcf08a0 --- /dev/null +++ b/tests/openbb_terminal/econometrics/csv/test_econometrics_model/test_get_granger_causality[time_series_y2-time_series_x2-1].csv @@ -0,0 +1,5 @@ +,F-test,P-value,Count,Lags +ssr_ftest,1.01264,0.31549,199.0,1.0 +ssr_chi2test,1.0279,0.31065,-,1.0 +lrtest,1.0253,0.31127,-,1.0 +params_ftest,1.01264,0.31549,199.0,1.0 diff --git a/tests/openbb_terminal/econometrics/test_econometrics_model.py b/tests/openbb_terminal/econometrics/test_econometrics_model.py index 54822784836..ab513fb38b6 100644 --- a/tests/openbb_terminal/econometrics/test_econometrics_model.py +++ b/tests/openbb_terminal/econometrics/test_econometrics_model.py @@ -218,11 +218,9 @@ def test_get_root(recorder, df, fuller_reg, kpss_reg): def test_get_granger_causality(recorder, time_series_y, time_series_x, lags): result = econometrics_model.get_granger_causality( dependent_series=time_series_y, independent_series=time_series_x, lags=lags - ) + ).applymap(lambda x: round(float(x), 5) if x != "-" else x) - # The first item is taken since the second item contains Statsmodels - # objects (which change their identifier on every iteration) - recorder.capture_list(result[lags][0]) + recorder.capture(result) @pytest.mark.vcr() diff --git a/tests/openbb_terminal/econometrics/test_econometrics_view.py b/tests/openbb_terminal/econometrics/test_econometrics_view.py index 99aff70031d..fc52440d58c 100644 --- a/tests/openbb_terminal/econometrics/test_econometrics_view.py +++ b/tests/openbb_terminal/econometrics/test_econometrics_view.py @@ -148,34 +148,34 @@ def test_display_granger(time_series_y, time_series_x, lags, confidence_level): "datasets, significant, plot", [ ( - { - "y": common_model.load( + [ + common_model.load( "interest_inflation", {}, {"interest_inflation": "interest_inflation"}, )["Dp"], - "x": common_model.load( + common_model.load( "interest_inflation", {}, {"interest_inflation": "interest_inflation"}, )["R"], - }, + ], True, False, ), ( - { - "y": common_model.load( + [ + common_model.load( "interest_inflation", {}, {"interest_inflation": "interest_inflation"}, )["Dp"], - "x": common_model.load( + common_model.load( "interest_inflation", {}, {"interest_inflation": "interest_inflation"}, )["R"], - }, + ], False, False, ), @@ -183,5 +183,5 @@ def test_display_granger(time_series_y, time_series_x, lags, confidence_level): ) def test_get_engle_granger_two_step_cointegration_test(datasets, significant, plot): econometrics_view.display_cointegration_test( - datasets=datasets, significant=significant, plot=plot + *datasets, significant=significant, plot=plot ) diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other0].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other0].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other1].txt index 7b0fc867823..7ae3d97921b 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other1].txt @@ -1,4 +1,3 @@ - The following args couldn't be interpreted: ['-n', 'dataset'] Perform an OLS regression before estimating the Breusch-Godfrey statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other2].txt index 4d661702d32..d99a594e250 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bgod[other2].txt @@ -1,3 +1,2 @@ - Perform an OLS regression before estimating the Breusch-Godfrey statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other0].txt index bae0f2ab022..d9a3990047a 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other0].txt @@ -1,4 +1,3 @@ - The following args couldn't be interpreted: ['data'] Perform an OLS regression before estimating the Breusch-Pagan statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other1].txt index 6c9c69adf2b..7cdde9fbe26 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other1].txt @@ -1,4 +1,3 @@ - The following args couldn't be interpreted: ['-n', 'dataset'] Perform an OLS regression before estimating the Breusch-Pagan statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other2].txt index 63ccfac2b91..c289dc56749 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_bpag[other2].txt @@ -1,3 +1,2 @@ - Perform an OLS regression before estimating the Breusch-Pagan statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other0].txt index 2deb1da3c9f..cdce0b32b91 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other0].txt @@ -1,3 +1,2 @@ - [red]'data' is not valid.[/red] diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other1].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other1].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other2].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_coint[other2].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_compare.txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_compare.txt index 25594e42cd9..2a6f4122db5 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_compare.txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_compare.txt @@ -1,3 +1,2 @@ - No Panel regression estimates available. Please use the command 'panel' before using this command. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other0].txt index faaaf01ec54..811a00c50ba 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other0].txt @@ -1,3 +1,2 @@ - Empty dataset diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other1].txt index 6ea22dc8457..5ab57f60819 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other1].txt @@ -1,4 +1,3 @@ - cancer population count 301.000000 301.000000 mean 39.857143 11288.056478 diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other2].txt index faaaf01ec54..811a00c50ba 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_desc[other2].txt @@ -1,3 +1,2 @@ - Empty dataset diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other0].txt index f41b1739fea..bef33933196 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other0].txt @@ -1,4 +1,3 @@ - The following args couldn't be interpreted: ['data'] Please perform an OLS regression before estimating the Durbin-Watson statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other1].txt index 70b3da92a81..92aaf4176fe 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other1].txt @@ -1,4 +1,3 @@ - The following args couldn't be interpreted: ['-n', 'dataset'] Please perform an OLS regression before estimating the Durbin-Watson statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other2].txt index a76993ee779..6c13c960b4c 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_dwat[other2].txt @@ -1,3 +1,2 @@ - Please perform an OLS regression before estimating the Durbin-Watson statistic. diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other0].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other0].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other1].txt index 98fad53c552..ae15889d3e7 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other1].txt @@ -1,3 +1,2 @@ - The following args couldn't be interpreted: ['-n', 'dataset'] diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other2].txt index 8b137891791..e69de29bb2d 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_granger[other2].txt @@ -1 +0,0 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_index.txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_index.txt index 8d5ca314bda..961d6291185 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_index.txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_index.txt @@ -1,4 +1,3 @@ - The following args couldn't be interpreted: ['cancer'] cancer population diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other0].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other0].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other1].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other1].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other2].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other2].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other3].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other3].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other3].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_norm[other3].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other0].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other0].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other1].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other1].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other2].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_ols[other2].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other0].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other0].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other1].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_panel[other1].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other0].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other0].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other1].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other1].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other2].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other2].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other3].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other3].txt index 139597f9cb0..8b137891791 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other3].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_root[other3].txt @@ -1,2 +1 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other0].txt index c90b9fde5dc..feb34da5e5b 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other0].txt @@ -1,4 +1,3 @@ - [red]No data available for dataset.[/red] diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other1].txt index 30640afaf80..bad771a8c91 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other1].txt @@ -1,4 +1,3 @@ - [red]badcol not a valid column. Showing without sorting. [/red] cancer population diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other2].txt index 0b50ec511ef..801c1f22677 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other2].txt @@ -1,4 +1,3 @@ - cancer population 300 360.0 88456.0 293 302.0 60161.0 diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other3].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other3].txt index 8936325d37e..940f94f7eb3 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other3].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_show[other3].txt @@ -1,4 +1,3 @@ - cancer population 0 1.0 445.0 1 0.0 559.0 diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other0].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other0].txt index b28b04f6431..139597f9cb0 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other0].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other0].txt @@ -1,3 +1,2 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other1].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other1].txt index 7e86b620216..a98470a1ec1 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other1].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other1].txt @@ -1,4 +1,3 @@ - 0 cancer float64 population float64 diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other2].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other2].txt index 7e86b620216..a98470a1ec1 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other2].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other2].txt @@ -1,4 +1,3 @@ - 0 cancer float64 population float64 diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other3].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other3].txt index b28b04f6431..139597f9cb0 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other3].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other3].txt @@ -1,3 +1,2 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other4].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other4].txt index b28b04f6431..139597f9cb0 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other4].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other4].txt @@ -1,3 +1,2 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other5].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other5].txt index b28b04f6431..139597f9cb0 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other5].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_controller/test_call_type[other5].txt @@ -1,3 +1,2 @@ - diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets0-True-False].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets0-True-False].txt index c851c515480..ae8a68b6b9f 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets0-True-False].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets0-True-False].txt @@ -1,4 +1,4 @@ Only showing pairs that are statistically significant (True > p-value). - Constant Gamma Alpha Dickey-Fuller P Value -y/x -0.003126 0.154512 -1.2884 -13.123662 1.544757e-24 + Constant Gamma Alpha Dickey-Fuller P Value +Dp/R -0.003126 0.154512 -1.2884 -13.123662 1.544757e-24 diff --git a/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets1-False-False].txt b/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets1-False-False].txt index d75c09515af..14ab0251718 100644 --- a/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets1-False-False].txt +++ b/tests/openbb_terminal/econometrics/txt/test_econometrics_view/test_get_engle_granger_two_step_cointegration_test[datasets1-False-False].txt @@ -1,2 +1,2 @@ - Constant Gamma Alpha Dickey-Fuller P Value -y/x -0.003126 0.154512 -1.2884 -13.123662 1.544757e-24 + Constant Gamma Alpha Dickey-Fuller P Value +Dp/R -0.003126 0.154512 -1.2884 -13.123662 1.544757e-24