code: def ts_stats_significance(ts, ts_stat_func, null_ts_func, B=1000, permute_fast=False):
      
      stats_ts = ts_stat_func(ts)
      if permute_fast:
          # Permute it in 1 shot
          null_ts = map(np.random.permutation, np.array([ts, ] * B))
      else:
          null_ts = np.vstack([null_ts_func(ts) for i in np.arange(0, B)])
      stats_null_ts = np.vstack([ts_stat_func(nts) for nts in null_ts])
      pvals = []
      nums = []
      for i in np.arange(0, len(stats_ts)):
          num_samples = np.sum((stats_null_ts[:, i] >= stats_ts[i]))
          nums.append(num_samples)
          pval = num_samples / float(B)
          pvals.append(pval)
  
      return stats_ts, pvals, nums
docs: Compute  the statistical significance of a test statistic at each point
          of the time series.