예제 #1
0
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}
예제 #2
0
 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)              
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 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)