def calculate(model_name, portfolio_url): print(model_name) # Exctract exposure data for calculation portfolio_raw = get_data(portfolio_url) portfolio_list = [] for entry in portfolio_raw['_items']: portfolio_list.append(entry['EAD']) portfolio = np.array(portfolio_list) weights = cl.weights(portfolio) if model_name == 'shannon': value = cl.shannon(weights) elif model_name == 'hhi': value = cl.hhi(weights) return {"result": value}
def test_hk(self): portfolio = np.ones(10) portfolio = sorted(portfolio, reverse=True) weights = cl.weights(portfolio) self.assertTrue(abs(cl.hk(weights,3) - 0.0) < ERROR_MARGIN)
def test_cl(self): portfolio = np.ones(10) portfolio = sorted(portfolio, reverse=True) weights = cl.weights(portfolio) self.assertTrue(abs(cl.cr(weights,1) - 0.1) < ERROR_MARGIN)
def test_hk(self): portfolio = np.ones(10) portfolio = sorted(portfolio, reverse=True) weights = cl.weights(portfolio) self.assertTrue(abs(cl.hk(weights, 3) - 0.0) < ERROR_MARGIN)
def test_cl(self): portfolio = np.ones(10) portfolio = sorted(portfolio, reverse=True) weights = cl.weights(portfolio) self.assertTrue(abs(cl.cr(weights, 1) - 0.1) < ERROR_MARGIN)