summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-02-23 00:29:41 -0800
committerGitHub <noreply@github.com>2024-02-23 08:29:41 +0000
commit2c6cfa1b6c45dd5763b0d9a319c3bb4c486f4979 (patch)
tree1179521ed185bf18c186596393acbc3e1d86d5df
parent6c105df82fab71963ab43cc6ae2467fecca9f81a (diff)
add missing field descriptions to yfinance equity price historical (#6116)
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py19
1 files changed, 19 insertions, 0 deletions
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