docs: def set_targets(x, delta=10):
      """ Sets target market trend for a date
  
      Args:
          x: Pandas DataFrame of market features
          delta: Positive number defining a price buffer between what is
              classified as a bullish/bearish market for the training set.
              delta is equivalent to the total size of the neutral price zone.
              delta / 2 is equivalent to either the positive or negative
              threshold of the neutral price zone.
  
      Returns:
          Pandas Series of numpy int8 market trend targets
      """
      data = [] # Keep track of targets
      for row, _ in x.iterrows():
          if row == x.shape[0] - 1: # Can't predict yet, done.
              break
  
          # Get closing prices
          curr_close = x.close[row]
          next_close = x.close[row + 1]
          high_close = next_close + (delta / 2) # Pos. neutral zone threshold
          low_close = next_close - (delta / 2)  # Neg. neutral zone threshold
  
          # Get target
          if curr_close < low_close:
              target = TARGET_CODES['bearish']
          elif curr_close > high_close:
              target = TARGET_CODES['bullish']
          else:
              target = TARGET_CODES['neutral']
          data.append(target)
  
      return pd.Series(data=data, dtype=np.int32, name='target')