def test_stock_dtype(self, dictList_stock, dictList_portfolio): data = dictList_stock stock = Stock(data, 'Date') st = Stock_Transformer(data, 'Date', None, 'symbol') assert stock == st.time_series_data data = dictList_portfolio port = Portfolio(Stock(data, 'Date'), 'Date', 'symbol') st = Stock_Transformer(data, 'Date', 'symbol') assert port == st.time_series_data
def test_from_arrow_table(self, dictList_stock, dictList_portfolio): data = pd.DataFrame(dictList_stock) table = pa.Table.from_pandas(data) stockTrans = Stock_Transformer.from_pandas(data, 'Date', None) test = Stock_Transformer.from_arrow_table(table, 'Date', None) assert test == stockTrans data = pd.DataFrame(dictList_portfolio) table = pa.Table.from_pandas(data) stockTrans = Stock_Transformer.from_pandas(data, 'Date', 'symbol') test = Stock_Transformer.from_arrow_table(table, 'Date', 'symbol') assert stockTrans == test
def test_from_time_series_transform(self, dictList_stock, dictList_portfolio): data = pd.DataFrame(dictList_stock) tst = Time_Series_Transformer.from_pandas(data, 'Date', None) stockTrans = Stock_Transformer.from_pandas(data, 'Date', None) test = Stock_Transformer.from_time_series_transformer(tst) assert test == stockTrans data = pd.DataFrame(dictList_portfolio) tst = Time_Series_Transformer.from_pandas(data, 'Date', 'symbol') stockTrans = Stock_Transformer.from_pandas(data, 'Date', 'symbol') test = Stock_Transformer.from_time_series_transformer(tst) assert stockTrans == test
def test_from_feather(self, dictList_stock, dictList_portfolio): data = pd.DataFrame(dictList_stock) data.to_feather('./data.feather') stockTrans = Stock_Transformer.from_pandas(data, 'Date', None) test = Stock_Transformer.from_feather('./data.feather', 'Date', None) assert test == stockTrans data = pd.DataFrame(dictList_portfolio) data.to_feather('./data.feather') stockTrans = Stock_Transformer.from_pandas(data, 'Date', 'symbol') test = Stock_Transformer.from_feather('./data.feather', 'Date', 'symbol') assert stockTrans == test os.remove('./data.feather')
def transform(self, X, y=None): """ transform prepare data as Stock_Transformer and helper data Parameters ---------- X : pandas DataFrame or numpy ndArray input values y : depreciated not used, optional following sklearn convention (not used), by default None Returns ------- tst Stock_Transformer the output Stock_Transformer X_time list time column list X_header list column name list X_category list category name list """ tst, X_time, X_header, X_category = super().transform(X, y) tst = Stock_Transformer.from_time_series_transformer( tst, High=self.high, Low=self.low, Close=self.close, Open=self.open, Volume=self.volume) return tst, X_time, X_header, X_category
def test_single_make_technical_indicator(self, dictList_stock): MyStrategy = ta.Strategy(name="DCSMA10", ta=[{ "kind": "sma", "length": 1 }]) df = pd.DataFrame(dictList_stock) stockTrans = Stock_Transformer.from_pandas(df, 'Date', None) stockTrans = stockTrans.get_technial_indicator(MyStrategy) df.ta.strategy(MyStrategy) test = stockTrans.to_pandas(False, False, 'ignore') test.columns = test.columns.str.lower() df.columns = df.columns.str.lower() df = df[test.columns] pd.testing.assert_frame_equal(test, df, False)
def test_collection_make_technical_indicator(self, dictList_portfolio): MyStrategy = ta.Strategy(name="DCSMA10", ta=[{ "kind": "sma", "length": 1 }]) df = pd.DataFrame(dictList_portfolio) stockTrans = Stock_Transformer.from_pandas(df, 'Date', None) stockTrans = stockTrans.get_technial_indicator(MyStrategy) test = stockTrans.to_pandas(False, False, 'ignore') test.columns = test.columns.str.lower() for i in test.symbol.unique(): tmp_df = df[df.symbol == i] tmp_test = test[test.symbol == i] tmp_df.ta.strategy(MyStrategy) tmp_df.columns = tmp_df.columns.str.lower() tmp_df = tmp_df[tmp_test.columns] pd.testing.assert_frame_equal(tmp_test, tmp_df, False)
def test_collection_from_numpy(self, dictList_portfolio): df = pd.DataFrame(dictList_portfolio).values stockTrans = Stock_Transformer.from_numpy(df, 0, 6, 1, 2, 3, 4, 5) test = Stock_Transformer(pd.DataFrame(df), 0, 6, None, 1, 2, 3, 4, 5) assert stockTrans == test
def test_collection_from_pandas(self, dictList_portfolio): df = pd.DataFrame(dictList_portfolio) st = Stock_Transformer.from_pandas(df, 'Date', 'symbol') test = Stock_Transformer(dictList_portfolio, 'Date', 'symbol') assert test == st
def test_single_from_numpy(self, dictList_stock): df = pd.DataFrame(dictList_stock).values stockTrans = Stock_Transformer.from_numpy(df, 0, None, 1, 2, 3, 4, 5) test = Stock_Transformer(pd.DataFrame(df), 0, None, None, 1, 2, 3, 4, 5) assert stockTrans == test
def test_single_from_pandas(self, dictList_stock): df = pd.DataFrame(dictList_stock) stockTrans = Stock_Transformer.from_pandas(df, 'Date', None) test = Stock_Transformer(dictList_stock, 'Date', None) assert stockTrans == test