def METHOD_NAME(
    position: pd.Series, price: pd.Series, SR_cost_as_annualised_figure: pd.Series
) -> pd.Series:
    # only want nans at the start
    position_ffill = position.ffill()
    ## We don't want to lose calculation because of warmup
    SR_cost_aligned_positions = SR_cost_as_annualised_figure.reindex(
        position_ffill.index, method="ffill"
    )
    SR_cost_aligned_positions_backfilled = SR_cost_aligned_positions.bfill()
    # Don't include costs until we start trading
    SR_cost_aligned_positions_when_position_held = SR_cost_aligned_positions_backfilled[
        ~position_ffill.isna()
    ]
    # Actually output in price space to match gross returns
    SR_cost_aligned_to_price = SR_cost_aligned_positions_when_position_held.reindex(
        price.index, method="ffill"
    )
    # These will be annualised figure, make it a small loss every day
    SR_cost_per_period = spread_out_annualised_return_over_periods(
        SR_cost_aligned_to_price
    )
    return SR_cost_per_period