in src/backend/domain/data_providers/alpha_vantage.py [0:0]
def transform_split_adjusted(self, timeseries: Dict[str, Any]) -> Tuple[List[Dict[str, Any]], List[Dict[str, Any]]]:
not_adjsuted_series = timeseries["values"]
not_adjsuted_series.reverse()
split_adj_factor = 1
split_coef = 1
adjusted_series = []
adjusted_dividends = []
for entry in not_adjsuted_series:
split_adj_factor = split_adj_factor / split_coef
split_coef = entry["split_coef"]
adjusted_series.append(
{
"datetime": entry["datetime"],
"open": entry["open"] * split_adj_factor,
"high": entry["high"] * split_adj_factor,
"low": entry["low"] * split_adj_factor,
"close": entry["close"] * split_adj_factor,
"volume": entry["volume"] / split_adj_factor,
}
)
adjusted_dividends.append(
{
"ex_date": entry["datetime"],
"amount": entry["dividends_amount"] * split_adj_factor,
}
)
adjusted_series.reverse()
adjusted_dividends.reverse()
return adjusted_series, adjusted_dividends