def _calculate_initial_yield()

in src/backend/domain/data_providers/default.py [0:0]


    def _calculate_initial_yield(self, dividend_values: Dict[str, Any], datetimes: List[str], eps_days: int = 10) -> List[Any]:
        div_yield = []
        first_eps_payments = []
        last_eps_payments = []

        first_price_date = datetime.strptime(datetimes[0], "%Y-%m-%d") - relativedelta(days=1)
        first_yield_end = first_price_date
        first_eps1_start, first_yield_start, first_eps2_start = self._get_dividend_yield_dates_with_epsilon(
            first_price_date, eps_days
        )

        for div_payment in list(dividend_values.values())[::-1]:
            if div_payment["datetime"] >= first_eps1_start and div_payment["datetime"] <= first_yield_end:
                first_eps_payments.append(div_payment)
            elif div_payment["datetime"] >= first_yield_start and div_payment["datetime"] <= first_eps1_start:
                div_yield.append(div_payment)
            elif (
                len(first_eps_payments) == 0
                and div_payment["datetime"] >= first_eps2_start
                and div_payment["datetime"] <= first_yield_start
            ):
                last_eps_payments.append(div_payment)

        div_yield = first_eps_payments + div_yield + last_eps_payments
        return div_yield