mirror of
https://github.com/webclinic017/drift.git
synced 2026-08-25 16:58:07 +00:00
feat(Labeling): purge overlapping events, sort dataframe at loading time (#226)
* feat(Labeling): purge overlapping events, sort dataframe at loading time * fix(Linter): ran * refactor(Labeling): moved purge_overlapping_events one abstraction level higher * fix(Data): renamed class * fix(Data): corrected parameter name * fix(Config): parameters * fix(Data): fixed path * fix(Data): uncommented required code * feat(EventFilters): use vol based CUSUM * fix(Config): only retrain every 2000 samples * fix(Config): filter out even more events * fix(Inference): added remove_overlapping_events * refactor(Types): simplified type hierarchy
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from ..types import EventLabeller, EventsDataFrame, ReturnSeries, ForwardReturnSeries
|
||||
from ..types import EventLabeller, EventsDataFrame, ReturnSeries
|
||||
import pandas as pd
|
||||
from .utils import create_forward_returns
|
||||
|
||||
@@ -12,7 +12,7 @@ class FixedTimeHorionThreeClassImbalancedEventLabeller(EventLabeller):
|
||||
|
||||
def label_events(
|
||||
self, event_start_times: pd.DatetimeIndex, returns: ReturnSeries
|
||||
) -> tuple[EventsDataFrame, ForwardReturnSeries]:
|
||||
) -> EventsDataFrame:
|
||||
|
||||
forward_returns = create_forward_returns(returns, self.time_horizon)
|
||||
cutoff_point = returns.index[-self.time_horizon]
|
||||
@@ -42,15 +42,12 @@ class FixedTimeHorionThreeClassImbalancedEventLabeller(EventLabeller):
|
||||
return 1
|
||||
|
||||
labels = event_candidates.map(map_class_threeway)
|
||||
|
||||
return (
|
||||
pd.DataFrame(
|
||||
{
|
||||
"start": event_start_times,
|
||||
"end": event_start_times + pd.Timedelta(days=self.time_horizon),
|
||||
"label": labels,
|
||||
"returns": forward_returns[event_start_times],
|
||||
}
|
||||
),
|
||||
forward_returns[event_start_times],
|
||||
events = pd.DataFrame(
|
||||
{
|
||||
"start": event_start_times,
|
||||
"end": event_start_times + pd.Timedelta(minutes=self.time_horizon * 5),
|
||||
"label": labels,
|
||||
"returns": forward_returns[event_start_times],
|
||||
}
|
||||
)
|
||||
return events
|
||||
|
||||
Reference in New Issue
Block a user