<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def retrieve_equities(self, sids):
 """ Retrieve Equity objects for a list of sids. Users generally shouldn't need to this method (instead, they should prefer the more general/friendly `retrieve_assets`), but it has a documented interface and tests because it's used upstream. Parameters sids : iterable[string] Returns ------- equities : dict[str -> Equity] Raises ------ EquitiesNotFound When any requested asset isn't found. """

        cache = self._asset_cache

        try:
            return {
                k: cache[k]
                for k in sids
            }
        except KeyError:
            raise EquitiesNotFound(sids=sids)