コード例 #1
0
    def test_resets_data(self):
        """Tests if the data is reset properly.
        """
        from_date = datetime(2016, 1, 1)
        to_date = datetime(2016, 3, 1)
        stock_names = ["STOCK_1"]
        value = 100
        mean = 0.05
        stdev = 0.025
        dependency = GeneratedStockData(evaluation_functions=[str(value)])
        data = RandomizedStockData(dependencies=["stock_data"],
                                   mean=mean,
                                   stdev=stdev)
        dependency.prepare_data(from_date, to_date, stock_names, [])
        data.prepare_data(from_date, to_date, stock_names, [dependency])

        data_before_reset = data.data["STOCK_1"].copy()

        self.assertTrue(data.ready)
        data.reset([True])
        self.assertFalse(data.ready)

        data.prepare_data(from_date, to_date, stock_names, [dependency])
        data_after_reset = data.data["STOCK_1"]
        self.assertFalse(data_before_reset.equals(data_after_reset))
コード例 #2
0
 def test_prepare_data(self):
     """Tests if the data is prepared properly.
     """
     from_date = datetime(2016, 1, 1)
     to_date = datetime(2016, 2, 1)
     stock_names = ["STOCK_1", "STOCK_2"]
     data = GeneratedStockData(evaluation_functions=["100", "200"])
     data.prepare_data(from_date, to_date, stock_names, [])
     self.assertTrue(data.ready)
     self.assertTrue((stock_names == data.data.columns.tolist()))
     self.assertEqual(100, data[from_date][0])
     self.assertEqual(200, data[from_date][1])
コード例 #3
0
 def test_resets_data(self):
     """Tests if the data is reset properly.
     """
     from_date = datetime(2016, 1, 1)
     to_date = datetime(2020, 1, 1)
     stock_names = ["STOCK_1"]
     dependency = GeneratedStockData(evaluation_functions=["100"])
     data = RunningAverageAnalysis(dependencies=["stock_data"])
     dependency.prepare_data(from_date, to_date, stock_names, [])
     data.prepare_data(from_date, to_date, stock_names, [dependency])
     self.assertTrue(data.ready)
     data.reset([True])
     self.assertTrue(data.ready)
コード例 #4
0
 def test_reset(self):
     """Tests if the data is reset properly.
     """
     from_date = datetime(2016, 1, 1)
     to_date = datetime(2016, 1, 3)
     stock_names = ["STOCK_1"]
     value = 100
     dependency = GeneratedStockData(evaluation_functions=[str(value)])
     data = RelativeStockData(dependencies=["stock_data"])
     dependency.prepare_data(from_date, to_date, stock_names, [])
     data.prepare_data(from_date, to_date, stock_names, [dependency])
     data.reset([True])
     self.assertTrue(data.ready)
     data.reset([False])
     self.assertFalse(data.ready)
コード例 #5
0
 def test_prepare_data(self):
     """Tests if the data is prepared properly.
     """
     from_date = datetime(2016, 1, 1)
     to_date = datetime(2016, 1, 3)
     stock_names = ["STOCK_1"]
     value = 100
     dependency = GeneratedStockData(evaluation_functions=[str(value)])
     data = RelativeStockData(dependencies=["stock_data"])
     dependency.prepare_data(from_date, to_date, stock_names, [])
     dependency.data.iloc[1] = 200
     data.prepare_data(from_date, to_date, stock_names, [dependency])
     self.assertTrue(data.ready)
     self.assertTrue((stock_names == data.data.columns.tolist()))
     self.assertEqual(1, data.data.iloc[0].item())
     self.assertEqual(-0.5, data[to_date].item())
コード例 #6
0
    def test_prepare_data(self):
        """Tests if the data is prepared properly.
        """
        from_date = datetime(2016, 1, 1)
        to_date = datetime(2016, 2, 1)
        num_days = 5
        stock_names = ["STOCK_1", "STOCK_2"]
        expected_columns = [
            "ra_5_stock_data_STOCK_1", "ra_5_stock_data_STOCK_2"
        ]

        dependency = GeneratedStockData(evaluation_functions=["100"])
        data = RunningAverageAnalysis(dependencies=["stock_data"],
                                      num_days=num_days)
        dependency.prepare_data(from_date, to_date, stock_names, [])
        data.prepare_data(from_date, to_date, stock_names, [dependency])

        self.assertTrue(data.ready)
        self.assertTrue((expected_columns == data.data.columns.tolist()))
        self.assertEqual(len(dependency) - num_days + 1, len(data))
        self.assertEqual(100, data[to_date][0])
コード例 #7
0
 def test_prepare_data(self):
     """Tests if the data is prepared properly.
     """
     from_date = datetime(2016, 1, 1)
     to_date = datetime(2020, 1, 1)
     stock_names = ["STOCK_1"]
     value = 100
     mean = 0.05
     stdev = 0.025
     dependency = GeneratedStockData(evaluation_functions=[str(value)])
     data = RandomizedStockData(dependencies=["stock_data"],
                                mean=mean,
                                stdev=stdev)
     dependency.prepare_data(from_date, to_date, stock_names, [])
     data.prepare_data(from_date, to_date, stock_names, [dependency])
     self.assertTrue(data.ready)
     self.assertTrue((stock_names == data.data.columns.tolist()))
     self.assertTrue(
         np.isclose(value * (1 + mean),
                    data.data["STOCK_1"].mean(),
                    rtol=0.1))
     self.assertTrue(
         np.isclose(value * stdev, data.data["STOCK_1"].std(), rtol=0.1))
コード例 #8
0
 def test_resets_data(self):
     """Tests if the data is reset properly.
     """
     from_date = datetime(2016, 1, 1)
     to_date = datetime(2016, 2, 1)
     stock_names = ["STOCK_1", "STOCK_2"]
     data = GeneratedStockData(evaluation_functions=["100"])
     data.prepare_data(from_date, to_date, stock_names, [])
     self.assertTrue(data.ready)
     data.reset([])
     self.assertTrue(data.ready)
コード例 #9
0
    def test_prepare_data(self):
        """Tests if the data is prepared properly.
        """
        from_date = datetime(2016, 1, 1)
        to_date = datetime(2016, 1, 1)
        to_date_2 = datetime(2016, 1, 2)
        stock_names = ["STOCK_1"]

        generated_data_1 = GeneratedStockData(evaluation_functions=["1"])
        generated_data_2 = GeneratedStockData(evaluation_functions=["2"])
        dependencies = [generated_data_1, generated_data_2]

        generated_data_1.prepare_data(from_date, to_date, stock_names, [])
        generated_data_2.prepare_data(from_date, to_date_2, stock_names, [])

        for operator in ["ge", "gt", "eq"]:
            comparator = ComparatorAnalysis(dependencies=["x", "x"], operator=operator)
            comparator.prepare_data(from_date, to_date, stock_names, dependencies)
            self.assertEqual(0, comparator[from_date].item())

        for operator in ["lt", "le", "ne"]:
            comparator = ComparatorAnalysis(dependencies=["x", "x"], operator=operator)
            comparator.prepare_data(from_date, to_date, stock_names, dependencies)
            self.assertEqual(1, comparator[from_date].item())
コード例 #10
0
 def test_initializes(self):
     """Tests if initializes properly.
     """
     data = GeneratedStockData(evaluation_functions=["100", "200"])
     self.assertFalse(data.visible)
コード例 #11
0
 def test_requires_evaluation_functions(self):
     """Tests if raises exception when no evaluation functions are provided.
     """
     with self.assertRaises(ValueError):
         _ = GeneratedStockData()