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
This commit is contained in:
Mark Aron Szulyovszky
2021-12-28 22:50:09 +01:00
committed by GitHub
parent cc70d3f907
commit f762ceed2a
13 changed files with 626 additions and 417 deletions
@@ -0,0 +1,10 @@
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)