docs: def staticMovingAverage(arr, fineness=10):
      """
      smooth [arr] using moving average
      """
      s0 = arr.shape[0]
      window_len = int(round(s0 / fineness))
  
      start = arr[0] + arr[0] - arr[window_len - 1:0:-1]
      end = arr[-1] + arr[-1] - arr[-1:-window_len:-1]
      s = np.r_[start, arr, end]
      w = np.ones(window_len, 'd')
      w /= w.sum()
      a0 = np.convolve(w, s, mode='valid')[:s0]
      a1 = np.convolve(w, s[::-1], mode='valid')[:s0][::-1]
      return 0.5 * (a0 + a1)