Skip to main content

ols_regression

Perform Ordinary Least Squares (OLS) regression.

OLS regression is a fundamental statistical method to explore and model the relationship between a dependent variable and one or more independent variables. By fitting the best possible linear equation to the data, it helps uncover how changes in the independent variables are associated with changes in the dependent variable. This returns the model and results objects from statsmodels library.

Examples

from openbb import obb
# Perform Ordinary Least Squares (OLS) regression.
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp').to_df()
obb.econometrics.ols_regression(data=stock_data, y_column="close", x_columns=["open", "high", "low"])
obb.econometrics.ols_regression(y_column='close', x_columns='['open', 'high', 'low']', data='[{'date': '2023-01-02', 'open': 110.0, 'high': 120.0, 'low': 100.0, 'close': 115.0, 'volume': 10000.0}, {'date': '2023-01-03', 'open': 165.0, 'high': 180.0, 'low': 150.0, 'close': 172.5, 'volume': 15000.0}, {'date': '2023-01-04', 'open': 146.67, 'high': 160.0, 'low': 133.33, 'close': 153.33, 'volume': 13333.33}, {'date': '2023-01-05', 'open': 137.5, 'high': 150.0, 'low': 125.0, 'close': 143.75, 'volume': 12500.0}, {'date': '2023-01-06', 'open': 132.0, 'high': 144.0, 'low': 120.0, 'close': 138.0, 'volume': 12000.0}]')

Parameters

data: list[openbb_core.provider.abstract.data.Data]
Input dataset.

y_column: str
Target column.

x_columns: list[str]
list of columns to use as exogenous variables.


Returns

results: list[dict]

Serializable results.

provider: None

Provider name.

warnings: Optional[list[Warning_]]

list of warnings.

chart: Optional[Chart]

Chart object.

extra: dict[str, Any]

Extra info.