def test_init(self): assets_num = 100 samples_num = 1000 correlation = 0.37 epsilons = scientific.make_epsilons( numpy.zeros((assets_num, samples_num)), seed=17, correlation=correlation) self.dist = scientific.LogNormalDistribution(epsilons) tol = 0.1 for a1, a2 in scientific.pairwise(range(assets_num)): coeffs = numpy.corrcoef( self.dist.epsilons[a1, :], self.dist.epsilons[a2, :]) numpy.testing.assert_allclose([1, 1], [coeffs[0, 0], coeffs[1, 1]]) numpy.testing.assert_allclose( correlation, coeffs[0, 1], rtol=0, atol=tol) numpy.testing.assert_allclose( correlation, coeffs[1, 0], rtol=0, atol=tol)