def METHOD_NAME(
    calendar_row: pd.Series,
    dict_of_futures_contract_prices: dictFuturesContractFinalPrices,
) -> bool:
    current_contract = str(calendar_row.current_contract)
    next_contract = str(calendar_row.next_contract)
    carry_contract = str(calendar_row.carry_contract)
    roll_date = calendar_row.name
    try:
        current_prices = dict_of_futures_contract_prices[current_contract]
    except KeyError:
        print(
            "On roll date %s contract %s is missing from futures prices"
            % (roll_date, current_contract)
        )
        return False
    try:
        next_prices = dict_of_futures_contract_prices[next_contract]
    except KeyError:
        print(
            "On roll date %s contract %s is missing from futures prices"
            % (roll_date, next_contract)
        )
        return False
    try:
        carry_prices = dict_of_futures_contract_prices[carry_contract]
    except KeyError:
        print(
            "On roll date %s contract %s is missing from futures prices"
            % (roll_date, carry_contract)
        )
        return False
    try:
        current_price = current_prices.loc[roll_date]
    except KeyError:
        print("Roll date %s missing from prices for %s" % (roll_date, current_contract))
        return False
    try:
        next_price = next_prices.loc[roll_date]
    except KeyError:
        print("Roll date %s missing from prices for %s" % (roll_date, next_contract))
        return False
    if np.isnan(current_price):
        print("NAN for price on %s for %s " % (roll_date, current_contract))
        return False
    if np.isnan(next_price):
        print("NAN for price on %s for %s " % (roll_date, current_contract))
        return False
    return True