def test_incremental_difference(self, data_frame, exchange): transformer = FractionalDifference(difference_order=0.5, inplace=True) transformed_frame = transformer.transform(data_frame, exchange.generated_space) expected_data_frame = pd.DataFrame([{ 'open': -26.20469322, 'low': -46.15180724, 'high': 33.63664884, 'close': 13.68953482, }, { 'open': 134.53651465, 'low': 118.24976426, 'high': 183.39676584, 'close': 167.11001545, }]) assert np.allclose(expected_data_frame.values, transformed_frame.values) next_frame = pd.DataFrame([{ 'open': 200, 'low': 150, 'high': 350, 'close': 300, }, { 'open': 300, 'low': 250, 'high': 450, 'close': 400, }]) transformed_frame = transformer.transform(next_frame, exchange.generated_space) expected_data_frame = pd.DataFrame([{ 'open': 127.785105, 'low': 87.031409, 'high': 250.046192, 'close': 209.292496, }, { 'open': 185.484853, 'low': 166.817514, 'high': 241.486873, 'close': 222.819533, }]) assert np.allclose(expected_data_frame.values, transformed_frame.values)
def test_difference_not_inplace(self, data_frame, exchange): transformer = FractionalDifference(difference_order=0.5, inplace=False) transformed_frame = transformer.transform(data_frame, exchange.generated_space) expected_data_frame = pd.DataFrame([{ 'open': 100, 'low': 50, 'high': 250, 'close': 200, 'open_diff_0.5': -26.20469322, 'low_diff_0.5': -46.15180724, 'high_diff_0.5': 33.63664884, 'close_diff_0.5': 13.68953482, }, { 'open': 200, 'low': 150, 'high': 350, 'close': 300, 'open_diff_0.5': 134.53651465, 'low_diff_0.5': 118.24976426, 'high_diff_0.5': 183.39676584, 'close_diff_0.5': 167.11001545, }]) assert np.allclose(expected_data_frame.values, transformed_frame.values)
def test_incremental_difference_inplace_false(self, data_frame, reference_frame): frame_tail = data_frame.tail(200) transformer = FractionalDifference(difference_order=0.5, inplace=False) transformed_frame = transformer.transform(frame_tail) assert transformed_frame is not None assert isinstance(frame_tail, pd.DataFrame)
def test_incremental_difference(self, data_frame, reference_frame): frame_tail = data_frame.tail(200) transformer = FractionalDifference(difference_order=0.5, inplace=True) significant = 3 transformed_frame = transformer.transform(frame_tail) reference_frame = reference_frame.round(significant) transformed_frame = transformed_frame.round(significant) close_1 = transformed_frame.Close.values close_2 = reference_frame.Close.values is_valid = (close_1 == close_2).all() assert transformed_frame is not None assert is_valid
def test_select_correct_columns(self, data_frame, exchange): transformer = FractionalDifference( columns=['open', 'close'], difference_order=0.5, inplace=True) transformed_frame = transformer.transform(data_frame, exchange.generated_space) expected_data_frame = pd.DataFrame([{ 'open': -26.20469322, 'low': 50, 'high': 250, 'close': 13.68953482, }, { 'open': 134.53651465, 'low': 150, 'high': 350, 'close': 167.11001545, }]) assert np.allclose(expected_data_frame.values, transformed_frame.values)
def test_difference_inplace(self, data_frame): transformer = FractionalDifference( difference_order=0.5, inplace=True, all_column_names=data_frame.columns) transformed_frame = transformer.transform(data_frame) expected_data_frame = pd.DataFrame([{ 'open': -26.20469322, 'low': -46.15180724, 'high': 33.63664884, 'close': 13.68953482, }, { 'open': 134.53651465, 'low': 118.24976426, 'high': 183.39676584, 'close': 167.11001545, }]) assert np.allclose(expected_data_frame.values, transformed_frame.values)