Exemplo n.º 1
0
    def test_copula_basic(self):

        gc = PysparseGaussianCopula(self.p)

        gc.weights = Mock()
        gc.weights.matvec = Mock()
        gc.defaultProcessor = Mock()

        defaults = defaultdict(int)
        gc.copula(100, 10, defaults)
        self.assertEquals(gc.weights.matvec.call_count, 10*100)
        self.assertEquals(gc.defaultProcessor.call_count, 10)
Exemplo n.º 2
0
    def test_defaultProcessor_allDefaults(self):

        gc = PysparseGaussianCopula(self.p)

        gc.thresholds = np.zeros(4)
        gc.thresholds += 100.0
        num_runs = 10
        corrValues = np.zeros(shape=(3, num_runs))

        defaults = defaultdict(int)
        gc.defaultProcessor(defaults, corrValues)
        self.assertEquals(defaults[0], 0)
        self.assertEquals(defaults[1], 0)
        self.assertEquals(defaults[2], 0)
        self.assertEquals(defaults[3], 0)
        self.assertEquals(defaults[4], 10)
Exemplo n.º 3
0
    def test_defaultProcessor_thirdIssuerDefaultsAllTheTime(self):

        gc = PysparseGaussianCopula(self.p)
        # need to make sure because of issuer set
        gc.asset_issuer_map = [0,1,2,0]

        gc.thresholds = np.zeros(4)
        num_runs = 10
        corrValues = np.zeros(shape=(3, num_runs))
        corrValues[2, :] -= 1.0 # issuer 1 will default all the time

        defaults = defaultdict(int)
        gc.defaultProcessor(defaults, corrValues)
        self.assertEquals(defaults[0], 0)
        self.assertEquals(defaults[1], 10)
        self.assertEquals(defaults[2], 0)
        self.assertEquals(defaults[3], 0)
        self.assertEquals(defaults[4], 0)
Exemplo n.º 4
0
    def test_defaultProcessor_firstIssuerDefaultsNotAllTheTime(self):

        gc = PysparseGaussianCopula(self.p)
        # need to make sure because of issuer set
        gc.asset_issuer_map = [0,1,2,0]

        gc.thresholds = np.zeros(4)
        num_runs = 10
        corrValues = np.zeros(shape=(3, num_runs))
        corrValues[0, :] = np.linspace(-5.0, 4.0, num_runs)

        defaults = defaultdict(int)
        gc.defaultProcessor(defaults, corrValues)
        self.assertEquals(defaults[0], 5)
        self.assertEquals(defaults[1], 0)
        self.assertEquals(defaults[2], 5) # two assets are linked to issuer 0
        self.assertEquals(defaults[3], 0)
        self.assertEquals(defaults[4], 0)