示例#1
0
 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 test_random(self):
     """ random test """
     rnd = RandomDataProvider(seed=1)
     rnd.run()
     similarity = np.array([[1.00000000e+00, 6.2284804e-04], [6.2284804e-04, 1.00000000e+00]])
     covariance = np.array([[1.75870991, -0.32842528], [-0.32842528, 2.31429182]])
     np.testing.assert_array_almost_equal(rnd.get_covariance_matrix(), covariance, decimal=3)
     np.testing.assert_array_almost_equal(rnd.get_similarity_matrix(), similarity, decimal=3)
 def test_random(self):
     """ random test """
     rnd = RandomDataProvider(seed=1)
     rnd.run()
     similarity = np.array([[1.00000000e+00, 6.2284804e-04],
                            [6.2284804e-04, 1.00000000e+00]])
     covariance = np.array([[2.08413157, 0.20842107],
                            [0.20842107, 1.99542187]])
     np.testing.assert_array_almost_equal(rnd.get_covariance_matrix(),
                                          covariance,
                                          decimal=3)
     np.testing.assert_array_almost_equal(rnd.get_similarity_matrix(),
                                          similarity,
                                          decimal=3)
示例#4
0
 def test_random(self):
     """ random test """
     similarity = np.array([[1.00000000e+00, 6.2284804e-04], [6.2284804e-04, 1.00000000e+00]])
     covariance = np.array([[2.08413157, 0.20842107], [0.20842107, 1.99542187]])
     try:
         rnd = RandomDataProvider(seed=1)
         rnd.run()
         with self.subTest('test RandomDataProvider get_covariance_matrix'):
             np.testing.assert_array_almost_equal(rnd.get_covariance_matrix(),
                                                  covariance, decimal=3)
         with self.subTest('test RandomDataProvider get_similarity_matrix'):
             np.testing.assert_array_almost_equal(rnd.get_similarity_matrix(),
                                                  similarity, decimal=3)
     except NameError 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)