code: def setup(self, universe):
          
          # if we already have all the prices, we will store them to speed up
          # future updates
          try:
              prices = universe[self.name]
          except KeyError:
              prices = None
  
          # setup internal data
          if prices is not None:
              self._prices = prices
              self.data = pd.DataFrame(index=universe.index,
                                       columns=['value', 'position'],
                                       data=0.0)
              self._prices_set = True
          else:
              self.data = pd.DataFrame(index=universe.index,
                                       columns=['price', 'value', 'position'])
              self._prices = self.data['price']
              self._prices_set = False
  
          self._values = self.data['value']
          self._positions = self.data['position']
  
          # add _outlay
          self.data['outlay'] = 0.
          self._outlays = self.data['outlay']
docs: Setup Security with universe. Speeds up future runs.
  
          Args:
              * universe (DataFrame): DataFrame of prices with security's name as
                  one of the columns.