class_docstr: normal-inverse-Gaussian
      
code: def simulate(self, th, k, s, ts, nrepl):
      T = len(ts)
      DXs = np.zeros((nrepl, T))
      for t in range(T):
          Dt = ts[1] - 0
          if t > 1:
              Dt = ts[t] - ts[t - 1]
  
          lfrac = 1 / k * (Dt**2)
          m = Dt
          DS = IG().simulate(lfrac, m, nrepl)
          N = np.random.randn(nrepl)
  
          DX = s * N * np.sqrt(DS) + th * DS
          # print DS.shape, DX.shape, DXs.shape
          DXs[:, t] = DX
  
      x = np.cumsum(DXs, 1)
      return x
  
imports: import numpy
  import matplotlib.pyplot
label_desc: Use image node_id 2 for calling the NIG obj's underlying member method code with example usage: obj.simulate(th, k, s, ts, nrepl) and returns: x