code: def convolve(self, signal, mode='full'):
          
  
          from numpy import convolve
  
          s = asarray(signal)
  
          n = size(self.index)
          m = size(s)
  
          # use expected lengths to make a new index
          if mode == 'same':
              newmax = max(n, m)
          elif mode == 'valid':
              newmax = max(m, n) - min(m, n) + 1
          else:
              newmax = n+m-1
          newindex = arange(0, newmax)
  
          return self.map(lambda x: convolve(x, signal, mode), index=newindex)
docs: Convolve series data against another signal.
  
          Parameters
          ----------
          signal : array
              Signal to convolve with (must be 1D)
  
          mode : str, optional, default='full'
              Mode of convolution, options are 'full', 'same', and 'valid'