def test_random_divide_0(self): """ Random divide by 0 test """ # This will create data with some 0 values, it should not throw # divide by 0 errors try: seed = 8888 num_assets = 4 stocks = [("TICKER%s" % i) for i in range(num_assets)] random_data = RandomDataProvider( tickers=stocks, start=datetime.datetime(2016, 1, 1), end=datetime.datetime(2016, 1, 30), seed=seed, ) random_data.run() mu_value = random_data.get_period_return_mean_vector() sigma_value = random_data.get_period_return_covariance_matrix() with self.subTest( "test get_period_return_mean_vector is numpy array"): self.assertIsInstance(mu_value, np.ndarray) with self.subTest( "test get_period_return_covariance_matrix is numpy array"): self.assertIsInstance(sigma_value, np.ndarray) except MissingOptionalLibraryError as ex: self.skipTest(str(ex))
def setUp(self): super().setUp() self.seed = 50 aqua_globals.random_seed = self.seed num_assets = 4 stocks = [("TICKER%s" % i) for i in range(num_assets)] data = RandomDataProvider(tickers=stocks, start=datetime.datetime(2016, 1, 1), end=datetime.datetime(2016, 1, 30), seed=self.seed) data.run() self.muu = data.get_period_return_mean_vector() self.sigma = data.get_period_return_covariance_matrix() self.risk = 0.5 self.budget = int(num_assets / 2) self.penalty = num_assets self.qubit_op, self.offset = portfolio.get_operator( self.muu, self.sigma, self.risk, self.budget, self.penalty)