diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py index 5fa2e971fe0..bd6253fa92e 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py @@ -73,6 +73,20 @@ class YFinanceEquityHistoricalQueryParams(EquityHistoricalQueryParams): class YFinanceEquityHistoricalData(EquityHistoricalData): """Yahoo Finance Equity Historical Price Data.""" + __alias_dict__ = { + "split_ratio": "stock_splits", + "dividend": "dividends", + } + + split_ratio: Optional[float] = Field( + default=None, + description="Ratio of the equity split, if a split occurred.", + ) + dividend: Optional[float] = Field( + default=None, + description="Dividend amount (split-adjusted), if a dividend was paid.", + ) + @field_validator("date", mode="before", check_fields=False) def date_validate(cls, v): # pylint: disable=E0213 """Return formatted datetime.""" @@ -164,6 +178,11 @@ class YFinanceEquityHistoricalFetcher( if query.interval in ["1d", "1W", "1M", "3M"]: data["date"] = data["date"].dt.strftime("%Y-%m-%d") + if "dividends" in data.columns and data.dividends.sum() == 0: + data.drop(columns=["dividends"], inplace=True) + if "stock_splits" in data.columns and all(data.stock_splits) == 0: + data.drop(columns=["stock_splits"], inplace=True) + return data.to_dict("records") @staticmethod