input: Write a function to compute the moving average of time-series data points. The function should take a list of data points and a window size as input and return a list of moving averages. If the input data points list is empty, the function should return None.
  assert moving_average([3, 5, 7, 2, 8, 10, 11, 65, 72, 81, 99, 100, 150], 3) == [3.0, 4.0, 5.0, 4.67, 5.67, 6.67, 9.67, 28.67, 49.33, 72.67, 84.0, 93.33, 116.33]
  assert moving_average([], 3) == None
output: def moving_average(data_points, window_size):
      if not data_points:
          return None
      moving_averages = []
      for i in range(len(data_points)):
          if i < window_size - 1:
              moving_averages.append(round(sum(data_points[:i+1]) / (i+1), 2))
          else:
              moving_averages.append(round(sum(data_points[i-window_size+1:i+1]) / window_size, 2))
      return moving_averages