def setUp(self):
     ensemble_returns = Returns(buildNumericDataFrame(['all'], 10))
     returns1 = Returns(buildNumericDataFrame(['a'], 10))
     returns2 = Returns(buildNumericDataFrame(['b'], 10))
     returns3 = Returns(buildNumericDataFrame(['c'], 10))
     sub_returns = [returns1, returns2, returns3]
     self.strategy = EnsembleStrategy("CC", "C", [])
     self.strategy.indexer.positions = Mock()
     self.strategy.market = Mock()
     lagged_positions = Mock(spec = Position)
     lagged_positions.applied_to.return_value = ensemble_returns
     self.strategy.indexer.positions.return_value = lagged_positions
     sub_strat1 = Mock(spec = Strategy)
     sub_strat1.returns = Mock(spec = Returns)
     sub_strat1.returns.collapse_by.return_value = returns1
     sub_strat2 = Mock(spec = Strategy)
     sub_strat2.returns = Mock(spec = Returns)
     sub_strat2.returns.collapse_by.return_value = returns2
     sub_strat3 = Mock(spec = Strategy)
     sub_strat3.returns = Mock(spec = Returns)
     sub_strat3.returns.collapse_by.return_value = returns3
     self.strategy.strategies = [sub_strat1, sub_strat2, sub_strat3]
     self.expected_result = ensemble_returns
     for returns in sub_returns:
         self.expected_result.data[returns.columns[0]] = returns.data
Beispiel #2
0
 def setUp(self):
     ensemble_returns = Returns(buildNumericDataFrame(['all'], 10))
     returns1 = Returns(buildNumericDataFrame(['a'], 10))
     returns2 = Returns(buildNumericDataFrame(['b'], 10))
     returns3 = Returns(buildNumericDataFrame(['c'], 10))
     sub_returns = [returns1, returns2, returns3]
     self.strategy = EnsembleStrategy("CC", "C", [])
     self.strategy.indexer.positions = Mock()
     self.strategy.market = Mock()
     lagged_positions = Mock(spec=Position)
     lagged_positions.applied_to.return_value = ensemble_returns
     self.strategy.indexer.positions.return_value = lagged_positions
     sub_strat1 = Mock(spec=Strategy)
     sub_strat1.returns = Mock(spec=Returns)
     sub_strat1.returns.collapse_by.return_value = returns1
     sub_strat2 = Mock(spec=Strategy)
     sub_strat2.returns = Mock(spec=Returns)
     sub_strat2.returns.collapse_by.return_value = returns2
     sub_strat3 = Mock(spec=Strategy)
     sub_strat3.returns = Mock(spec=Returns)
     sub_strat3.returns.collapse_by.return_value = returns3
     self.strategy.strategies = [sub_strat1, sub_strat2, sub_strat3]
     self.expected_result = ensemble_returns
     for returns in sub_returns:
         self.expected_result.data[returns.columns[0]] = returns.data
 def setUp(self):
     self.strategy = Strategy("OO", "C")
     self.position_series = buildNumericDataFrame(["ASX", "BHP", "CBA"], 20)
     self.positions = Position(self.position_series)
     self.returns = buildNumericDataFrame(["ASX", "BHP", "CBA"], 20) / 10
     self.strategy.measure = Mock()
     self.strategy.positions = self.positions
     self.strategy.market = Mock()
     self.strategy.market.returns = Mock()
     self.strategy.market.returns.return_value = Returns(self.returns)
Beispiel #4
0
 def setUp(self):
     self.strategy = Strategy("OO", "C")
     self.position_series = buildNumericDataFrame(["ASX", "BHP", "CBA"], 20)
     self.positions = Position(self.position_series)
     self.returns = buildNumericDataFrame(["ASX", "BHP", "CBA"], 20) / 10
     self.strategy.measure = Mock()
     self.strategy.positions = self.positions
     self.strategy.market = Mock()
     self.strategy.market.returns = Mock()
     self.strategy.market.returns.return_value = Returns(self.returns)
Beispiel #5
0
 def testReturnsCombinesTogether(self):
     data2 = buildNumericDataFrame(['a', 'b'], len(self.data))
     expected_data = self.returns.data
     expected_data[data2.columns] = data2
     returns2 = Returns(data2)
     self.returns.append(returns2)
     self.assertTrue(self.returns.data.equals(expected_data))
 def testReturnsCombinesTogether(self):
     data2 = buildNumericDataFrame(['a', 'b'], len(self.data))
     expected_data = self.returns.data
     expected_data[data2.columns] = data2
     returns2 = Returns(data2)
     self.returns.append(returns2)
     self.assertTrue(self.returns.data.equals(expected_data))
 def setUp(self):
     self.strategy = Mock(spec = Strategy)
     self.model = BlockMeanReturnsForecaster(window = 4)
     self.tickers = ["ASX", "BHP", "CBA"]
     self.returns = AverageReturns(buildNumericDataFrame(self.tickers, 10))
     self.strategy.market_returns = self.returns
     self.strategy.forecasts = None
Beispiel #8
0
 def setUp(self):
     self.strategy = Mock(spec=Strategy)
     self.model = BlockMeanReturnsForecaster(window=4)
     self.tickers = ["ASX", "BHP", "CBA"]
     self.returns = AverageReturns(buildNumericDataFrame(self.tickers, 10))
     self.strategy.market_returns = self.returns
     self.strategy.forecasts = None
Beispiel #9
0
 def setUp(self):
     self.tickers = ['ASX', 'BHP', 'CBA']
     self.forecast_data = buildNumericDataFrame(self.tickers, 10)
     self.forecasts = Mock(spec=Forecast)
     self.forecasts.optF.return_value = self.forecast_data
     self.strategy = Strategy("OO", "C")
     self.strategy.forecasts = self.forecasts
     self.model = SingleLargestF()
     self.model_results = self.model(self.strategy)
 def setUp(self):
     self.tickers = ['ASX', 'BHP', 'CBA']
     self.forecast_data = buildNumericDataFrame(self.tickers, 10)
     self.forecasts = Mock(spec = Forecast)
     self.forecasts.optF.return_value = self.forecast_data
     self.strategy = Strategy("OO", "C")
     self.strategy.forecasts = self.forecasts
     self.model = SingleLargestF()
     self.model_results = self.model(self.strategy)
 def testStrategyCallsIndexerForPositions(self):
     position_series = buildNumericDataFrame(["ASX", "BHP"], 10)
     positions = Position(position_series)
     self.strategy.indexer.positions = Mock()
     self.strategy.indexer.positions.return_value = positions
     self.strategy.positions = positions
     result = self.strategy.lagged_positions
     self.assertIsInstance(result, Position)
     expected_calls = [call(positions)]
     self.strategy.indexer.positions.assert_has_calls(expected_calls)
Beispiel #12
0
 def setUp(self):
     self.tickers = ['ASX', 'BHP', 'CBA', 'MOC', 'QBE']
     self.forecast_data = buildNumericDataFrame(self.tickers, 10)
     self.forecasts = Mock(spec=Forecast)
     self.forecasts.optF.return_value = self.forecast_data
     self.strategy = Strategy("OO", "C")
     self.strategy.forecasts = self.forecasts
     self.num_positions = 3
     self.select_positions = HighestRankedFs(self.num_positions)
     self.positions = self.select_positions(self.strategy)
Beispiel #13
0
 def testStrategyCallsIndexerForPositions(self):
     position_series = buildNumericDataFrame(["ASX", "BHP"], 10)
     positions = Position(position_series)
     self.strategy.indexer.positions = Mock()
     self.strategy.indexer.positions.return_value = positions
     self.strategy.positions = positions
     result = self.strategy.lagged_positions
     self.assertIsInstance(result, Position)
     expected_calls = [call(positions)]
     self.strategy.indexer.positions.assert_has_calls(expected_calls)
 def setUp(self):
     self.tickers = ['ASX', 'BHP', 'CBA', 'MOC', 'QBE']
     self.forecast_data = buildNumericDataFrame(self.tickers, 10)
     self.forecasts = Mock(spec = Forecast)
     self.forecasts.optF.return_value = self.forecast_data
     self.strategy = Strategy("OO", "C")
     self.strategy.forecasts = self.forecasts
     self.num_positions = 3
     self.select_positions = HighestRankedFs(self.num_positions)
     self.positions = self.select_positions(self.strategy)
 def testModelProducesResultsForAllData(self):
     tickers = ["ASX", "BHP", "CBA"]
     indicator_data = buildTextDataFrame(tickers, 10)
     self.strategy.lagged_indicator = Indicator(indicator_data)
     self.strategy.market_returns = buildNumericDataFrame(tickers, 10)
     forecast = self.model(self.strategy)
     self.assertEqual(indicator_data.shape, forecast.mean.shape)
     self.assertEqual(indicator_data.shape, forecast.sd.shape)
     self.assertTrue(all(indicator_data.index == forecast.mean.index))
     self.assertTrue(all(indicator_data.index == forecast.sd.index))
     self.assertEqual(tickers, list(forecast.mean.columns))
     self.assertEqual(tickers, list(forecast.sd.columns))
Beispiel #16
0
 def testModelProducesResultsForAllData(self):
     tickers = ["ASX", "BHP", "CBA"]
     indicator_data = buildTextDataFrame(tickers, 10)
     self.strategy.lagged_indicator = Indicator(indicator_data)
     self.strategy.market_returns = buildNumericDataFrame(tickers, 10)
     forecast = self.model(self.strategy)
     self.assertEqual(indicator_data.shape, forecast.mean.shape)
     self.assertEqual(indicator_data.shape, forecast.sd.shape)
     self.assertTrue(all(indicator_data.index == forecast.mean.index))
     self.assertTrue(all(indicator_data.index == forecast.sd.index))
     self.assertEqual(tickers, list(forecast.mean.columns))
     self.assertEqual(tickers, list(forecast.sd.columns))
 def setUp(self):
     self.prices = buildNumericDataFrame(["ASX", "BHP", "CBA"], 10).abs()
     self.strategy = Mock()
     self.strategy.get_indicator_prices = Mock(return_value = self.prices)
     self.crossover = Crossover(5, 3)
     self.indicator = self.crossover(self.strategy)
Beispiel #18
0
 def setUp(self):
     self.trade_timing = "OO"
     self.ind_timing = "C"
     self.strategy = Strategy(self.trade_timing, self.ind_timing)
     self.dummy_timeSeries = buildNumericDataFrame(["ASX", "BHP", "CBA"],
                                                   10)
 def setUp(self):
     self.tickers = ['ASX', 'BHP', 'CBA']
     self.position_data = buildNumericDataFrame(self.tickers, 10)
     self.position = Position(self.position_data)
Beispiel #20
0
 def testStrategyContainerElementImplementsShift(self):
     time_series = buildNumericDataFrame(["ASX", "BHP", "CBA"], 10)
     indicator = StrategyContainerElement()
     indicator.data = time_series
     lagged_indicator = indicator.shift(2)
     self.assertTrue(time_series.shift(2).equals(lagged_indicator.data))
 def setUp(self):
     self.data = buildNumericDataFrame(["ASX", "BHP", "CBA"], 20) / 10
     self.returns = Returns(self.data)
Beispiel #22
0
 def setUp(self):
     self.prices = buildNumericDataFrame(["ASX", "BHP", "CBA"], 10).abs()
     self.strategy = Mock()
     self.strategy.get_indicator_prices = Mock(return_value=self.prices)
     self.crossover = Crossover(5, 3)
     self.indicator = self.crossover(self.strategy)
 def testStrategyContainerElementImplementsShift(self):
     time_series = buildNumericDataFrame(["ASX", "BHP", "CBA"], 10)
     indicator = StrategyContainerElement()
     indicator.data = time_series
     lagged_indicator = indicator.shift(2)
     self.assertTrue(time_series.shift(2).equals(lagged_indicator.data))
 def setUp(self):
     self.trade_timing = "OO"
     self.ind_timing = "C"
     self.strategy = Strategy(self.trade_timing, self.ind_timing)
     self.dummy_timeSeries = buildNumericDataFrame(["ASX", "BHP", "CBA"], 10)
Beispiel #25
0
 def setUp(self):
     self.data = buildNumericDataFrame(["ASX", "BHP", "CBA"], 20) / 10
     self.returns = Returns(self.data)
Beispiel #26
0
 def setUp(self):
     self.tickers = ['ASX', 'BHP', 'CBA']
     self.position_data = buildNumericDataFrame(self.tickers, 10)
     self.position = Position(self.position_data)