Exemplo n.º 1
0
 def test_transform_default(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     transformed = pn.data.transform(features)
     norms = np.linalg.norm(np.float64(transformed.values), axis=1)
     for i in range(len(norms)):
         self.assertAlmostEqual(norms[i], 1.0)
Exemplo n.º 2
0
 def test_transform_default(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     transformed = pn.data.transform(features)
     norms = np.linalg.norm(np.float64(transformed.values), axis=1)
     for i in range(len(norms)):
         self.assertAlmostEqual(norms[i], 1.0)
Exemplo n.º 3
0
 def test_transform_rows_vector(self):
     n_sessions = 3
     norm = 3.14159
     features = pn.featurize(self.equity_data, n_sessions)
     transformed = pn.data.transform(features, method="vector", norm=norm)
     norms = np.linalg.norm(np.float64(transformed.values), axis=1)
     for i in range(len(norms)):
         self.assertAlmostEqual(norms[i], norm)
Exemplo n.º 4
0
 def test_transform_rows_vector(self):
     n_sessions = 3
     norm = 3.14159
     features = pn.featurize(self.equity_data, n_sessions)
     transformed = pn.data.transform(features, method="vector", norm=norm)
     norms = np.linalg.norm(np.float64(transformed.values), axis=1)
     for i in range(len(norms)):
         self.assertAlmostEqual(norms[i], norm)
Exemplo n.º 5
0
 def test_featurize_selection(self):
     n_sessions = 4
     features = pn.featurize(self.equity_data,
                             n_sessions,
                             selection='Volume')
     self.assertEqual(len(features.index),
                      len(self.equity_data.index) - n_sessions + 1)
     self.assertEqual(len(features.columns), n_sessions)
Exemplo n.º 6
0
 def test_transform_rows_mean(self):
     n_sessions = 3
     norm = 10.0
     features = pn.featurize(self.equity_data, n_sessions)
     transformed = pn.data.transform(features, method="mean", norm=norm, axis=0)
     means = transformed.mean(axis=1)
     for i in range(len(means)):
         self.assertAlmostEqual(means.iloc[i], norm)
Exemplo n.º 7
0
 def test_featurize_columns(self):
     cols = ['one', 'two', 'three']
     n_sessions = len(cols)
     features = pn.featurize(self.equity_data, n_sessions, columns=cols)
     self.assertEqual(len(features.index), len(self.equity_data.index) - n_sessions + 1)
     self.assertEqual(len(features.columns), n_sessions)
     for i in range(len(cols)):
         self.assertEqual(cols[i], features.columns.values[i])
Exemplo n.º 8
0
 def test_featurize_columns(self):
     cols = ['one', 'two', 'three']
     n_sessions = len(cols)
     features = pn.featurize(self.equity_data, n_sessions, columns=cols)
     self.assertEqual(len(features.index),
                      len(self.equity_data.index) - n_sessions + 1)
     self.assertEqual(len(features.columns), n_sessions)
     for i in range(len(cols)):
         self.assertEqual(cols[i], features.columns.values[i])
Exemplo n.º 9
0
 def test_transform_rows_last(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     labels = pd.DataFrame(features.iloc[:, -1] * 0.5, index=features.index) 
     transformed_features, transformed_labels = pn.data.transform(features, method="last", labels=labels)
     for i in range(len(transformed_features.index)):
         self.assertAlmostEqual(transformed_features.iloc[i, -1], 1.0)
     for i in range(len(transformed_labels.index)):
         self.assertAlmostEqual(transformed_labels.iloc[i, 0], 0.5)
Exemplo n.º 10
0
 def test_transform_rows_last(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     labels = pd.DataFrame(features.iloc[:, -1] * 0.5, index=features.index)
     transformed_features, transformed_labels = pn.data.transform(
         features, method="last", labels=labels)
     for i in range(len(transformed_features.index)):
         self.assertAlmostEqual(transformed_features.iloc[i, -1], 1.0)
     for i in range(len(transformed_labels.index)):
         self.assertAlmostEqual(transformed_labels.iloc[i, 0], 0.5)
Exemplo n.º 11
0
 def test_transform_rows_mean(self):
     n_sessions = 3
     norm = 10.0
     features = pn.featurize(self.equity_data, n_sessions)
     transformed = pn.data.transform(features,
                                     method="mean",
                                     norm=norm,
                                     axis=0)
     means = transformed.mean(axis=1)
     for i in range(len(means)):
         self.assertAlmostEqual(means.iloc[i], norm)
Exemplo n.º 12
0
 def test_add_const_df(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     x = pn.data.feat.add_const(features)
     self.assertTrue(isinstance(x, pd.DataFrame))
     self.assertFalse(isinstance(x, np.ndarray))
     self.assertEqual(len(x.index), len(features.index))
     self.assertEqual(len(x.columns), len(features.columns) + 1)
     for i in range(len(x.index)):
         self.assertAlmostEqual(x.iloc[i, 0], 1.0)
         for j in range(len(features.columns)):
             self.assertAlmostEqual(x.iloc[i, j + 1], features.iloc[i, j])
Exemplo n.º 13
0
 def test_add_const_ndarray(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions).values
     x = pn.data.feat.add_const(features)
     self.assertTrue(isinstance(x, np.ndarray))
     self.assertFalse(isinstance(x, pd.DataFrame))
     self.assertEqual(x.shape[0], features.shape[0])
     self.assertEqual(x.shape[1], features.shape[1] + 1)
     for i in range(x.shape[0]):
         self.assertAlmostEqual(x[i, 0], 1.0)
         for j in range(features.shape[1]):
             self.assertAlmostEqual(x[i, j + 1], features[i, j])
Exemplo n.º 14
0
 def test_transform_rows_first(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     # 2 columns of labels
     labels = pd.DataFrame(index=features.index, columns=['Label1', 'Label2'])
     labels['Label1'] = features.iloc[:, 0] * 0.5
     labels['Label2'] = features.iloc[:, 0] * 2.0
     transformed_features, transformed_labels = pn.data.transform(features, method="first", labels=labels)
     for i in range(len(transformed_features.index)):
         self.assertAlmostEqual(transformed_features.iloc[i, 0], 1.0)
     for i in range(len(transformed_labels.index)):
         self.assertAlmostEqual(transformed_labels.iloc[i, 0], 0.5)
         self.assertAlmostEqual(transformed_labels.iloc[i, 1], 2.0)
Exemplo n.º 15
0
 def test_transform_rows_first(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     # 2 columns of labels
     labels = pd.DataFrame(index=features.index,
                           columns=['Label1', 'Label2'])
     labels['Label1'] = features.iloc[:, 0] * 0.5
     labels['Label2'] = features.iloc[:, 0] * 2.0
     transformed_features, transformed_labels = pn.data.transform(
         features, method="first", labels=labels)
     for i in range(len(transformed_features.index)):
         self.assertAlmostEqual(transformed_features.iloc[i, 0], 1.0)
     for i in range(len(transformed_labels.index)):
         self.assertAlmostEqual(transformed_labels.iloc[i, 0], 0.5)
         self.assertAlmostEqual(transformed_labels.iloc[i, 1], 2.0)
Exemplo n.º 16
0
 def test_featurize_defaults(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     self.assertEqual(len(features.index), len(self.equity_data.index) - n_sessions + 1)
     self.assertEqual(len(features.columns), n_sessions)
Exemplo n.º 17
0
 def test_featurize_defaults(self):
     n_sessions = 3
     features = pn.featurize(self.equity_data, n_sessions)
     self.assertEqual(len(features.index),
                      len(self.equity_data.index) - n_sessions + 1)
     self.assertEqual(len(features.columns), n_sessions)
Exemplo n.º 18
0
 def test_featurize_selection(self):
     n_sessions = 4
     features = pn.featurize(self.equity_data, n_sessions, selection='Volume')
     self.assertEqual(len(features.index), len(self.equity_data.index) - n_sessions + 1)
     self.assertEqual(len(features.columns), n_sessions)