mirror of
https://github.com/webclinic017/drift.git
synced 2026-08-09 09:07:49 +00:00
8dd2d88740
* chore(Linter): reformatted code with black * Create black.yaml
17 lines
667 B
Python
17 lines
667 B
Python
from fracdiff.sklearn import FracdiffStat
|
|
import pandas as pd
|
|
import numpy as np
|
|
from feature_extractors.utils import apply_log_if_necessary_series
|
|
|
|
|
|
def feature_fractional_differentiation(df: pd.DataFrame, period: int) -> pd.Series:
|
|
frac_diff = FracdiffStat(window=period)
|
|
input_series = df["close"].to_numpy().reshape(-1, 1)
|
|
result = frac_diff.fit_transform(input_series)
|
|
return pd.Series(result.squeeze(), index=df.index)
|
|
|
|
|
|
def feature_fractional_differentiation_log(df: pd.DataFrame, period: int) -> pd.Series:
|
|
series = feature_fractional_differentiation(df, period, is_log_return)
|
|
return apply_log_if_necessary_series(series, "fracdiff")
|