def testPortfolioReturnsWithRandomWeightsWithRebalance(self): weights = np.random.uniform(0, 1.0, len(self.navData.columns)) weights = weights / weights.sum() pReturns = portfolio_returns(weights, self.navData, rebalance=True) returnsTable = self.return_cal(self.navData.values) pReturns_ben = np.dot(returnsTable, weights) self.assertTrue(np.allclose(pReturns, pReturns_ben))
def testPortfolioReturnsWithRandomWeightsWithRebalance(self): weights = np.random.uniform(0, 1.0, len(self.navData.columns)) weights = weights / weights.sum() pReturns = portfolio_returns(weights, self.navData, rebalance=True) returnsTable = self.return_cal(self.navData.values) pReturns_ben = np.dot(returnsTable, weights) self.assertTrue(np.allclose(pReturns, pReturns_ben))
def testPortfolioReturnsWithUnitWeight(self): weights = [0.0] * len(self.navData.columns) for i, col in enumerate(self.navData.columns): tmpWeights = weights[:] tmpWeights[i] = 1.0 pReturns = portfolio_returns(tmpWeights, self.navData, rebalance=False) pReturns_ben = self.return_cal(navs=self.navData[col].values) self.assertTrue(np.allclose(pReturns, pReturns_ben))
def testPortfolioReturnsWithUnitWeight(self): weights = [0.0] * len(self.navData.columns) for i, col in enumerate(self.navData.columns): tmpWeights = weights[:] tmpWeights[i] = 1.0 pReturns = portfolio_returns(tmpWeights, self.navData, rebalance=False) pReturns_ben = self.return_cal(navs=self.navData[col].values) self.assertTrue(np.allclose(pReturns, pReturns_ben))