mirror of
https://github.com/webclinic017/drift.git
synced 2026-08-04 06:37:45 +00:00
15 lines
673 B
Python
15 lines
673 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")
|
|
|