Files
drift/feature_extractors/feature_extractor_presets.py
T

56 lines
1.7 KiB
Python

from .types import FeatureExtractorConfig
from .feature_extractors import (
feature_lag,
feature_mom,
feature_ROC,
feature_RSI,
feature_STOD,
feature_STOK,
feature_expanding_zscore,
feature_vol,
feature_day_of_month,
feature_day_of_week,
feature_month,
feature_debug_future_lookahead,
)
from .fractional_differentiation import (
feature_fractional_differentiation,
)
__presets = dict(
debug_future_lookahead=[
("debug_future", feature_debug_future_lookahead, [1, 5, 10])
],
single_mom=[("mom", feature_mom, [30])],
single_vol=[("vol", feature_vol, [30])],
mom=[("mom", feature_mom, [100, 300, 600, 900, 1800])],
vol=[("vol", feature_vol, [100, 300, 600, 1800])],
lags_up_to_5=[("lag", feature_lag, [1, 2, 3, 4, 5])],
lags_up_to_10=[("lag", feature_lag, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])],
date_all=[
("day_of_week", feature_day_of_week, [0]),
("day_of_month", feature_day_of_month, [0]),
("month", feature_month, [0]),
],
date_days=[
("day_of_week", feature_day_of_week, [0]),
("day_of_month", feature_day_of_month, [0]),
],
roc=[("roc", feature_ROC, [100, 300])],
rsi=[("rsi", feature_ROC, [100, 300, 1000])],
stod=[("stod", feature_STOD, [100, 300, 2000])],
stok=[("stok", feature_STOK, [100, 300, 2000])],
fracdiff=[("fracdiff", feature_fractional_differentiation, [100, 300])],
z_score=[("z_score", feature_expanding_zscore, [100])],
)
presets = __presets | dict(
level_1=__presets["mom"] + __presets["vol"],
level_2=__presets["mom"]
+ __presets["vol"]
+ __presets["roc"]
+ __presets["rsi"]
+ __presets["stod"]
+ __presets["stok"],
)