jarqueBera function

JBResult jarqueBera(
  1. List<double> resid
)

Implementation

JBResult jarqueBera(List<double> resid) {
  final n = resid.length;
  final m = mean(resid);
  var s2 = 0.0;
  for (final v in resid) {
    final d = v - m;
    s2 += d * d;
  }
  s2 /= n;
  var m3 = 0.0, m4 = 0.0;
  for (final v in resid) {
    final z = v - m;
    m3 += z * z * z;
    m4 += z * z * z * z;
  }
  m3 /= n;
  m4 /= n;
  final skew = m3 / math.pow(s2, 1.5);
  final kurt = m4 / (s2 * s2);
  final JB = n / 6.0 * (skew * skew + 0.25 * (kurt - 3) * (kurt - 3));
  final p = chiSquareSF(JB, 2);
  return JBResult(JB, p);
}