Files
drift/feature_extractors/fractional_differentiation.py
T
Mark Aron Szulyovszky f762ceed2a feat(FeatureExtraction): added fractionally differentiated returns to remove lagged returns (#95)
* feat(FeatureExtraction): added fractionally differentiated returns to remove lagged returns

* fix(Sweep): config

* fix(Sweep): name

* fix(Sweep): grid

* feat(Config): separated sliding_window_size_level1 & sliding_window_size_level2

* feat(Dependencies): added ray, now using it to parallel process feature extraction

* fix(Dependencies): added pip explicitly

* fix(Dependencies): removed ray from root

* fix(Models): average model was probably not taking the right timestamp to average

* feat(Config): separated expanding_window_level1 & expanding_window_level2

* fix(Config): set n_features_to_select to the optimal 30
2021-12-28 22:50:09 +01:00

10 lines
454 B
Python

from fracdiff.sklearn import FracdiffStat
import pandas as pd
import numpy as np
def feature_fractional_differentiation(df: pd.DataFrame, period: int, is_log_return: bool) -> pd.Series:
feature_selector = FracdiffStat(window = period)
input_series = df["close"].to_numpy().reshape(-1, 1)
feature_selector.fit(input_series)
result = feature_selector.transform(input_series)
return pd.Series(np.log(result.squeeze()), index = df.index)