add missing field descriptions to yfinance equity price historical (#6116)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
This commit is contained in:
Danglewood
2024-02-23 00:29:41 -08:00
committed by GitHub
parent 6c105df82f
commit 2c6cfa1b6c

View File

@@ -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