feat(Config): added start_date property (#245)

* refactor(Training): remove non-expanding window option

* feat(Config): added `start_date` property

* fix(Inference): added start_date here as well

* fix(Linter): ran
This commit is contained in:
Mark Aron Szulyovszky
2022-03-15 17:48:43 +01:00
committed by GitHub
parent 0395715fa1
commit 5482e3fc95
7 changed files with 11 additions and 2 deletions
+4
View File
@@ -33,6 +33,7 @@ def __load_data(
own_features: list[tuple[str, FeatureExtractor, list[int]]],
other_features: list[tuple[str, FeatureExtractor, list[int]]],
exogenous_features: list[tuple[str, FeatureExtractor, list[int]]],
start_date: Optional[str],
) -> tuple[XDataFrame, ReturnSeries]:
"""
Loads asset data from the specified path.
@@ -98,6 +99,9 @@ def __load_data(
X = pd.concat([df.reindex(X[0].index) for df in X], axis=1).fillna(0.0)
X.index = pd.DatetimeIndex(X.index)
if start_date is not None:
X = X[start_date:]
df_target_asset_only_returns = df_target_asset_only_returns[start_date:]
## Create target
returns = df_target_asset_only_returns[target_asset.file_name + "_returns"]
+1 -1
View File
@@ -18,4 +18,4 @@ def check_data(X: XDataFrame, config: Config) -> bool:
def has_enough_samples_to_train(X: XDataFrame, config: Config) -> bool:
first_valid_index = get_first_valid_return_index(X.iloc[:, 0])
samples_to_train = len(X) - first_valid_index
return samples_to_train > (config.initial_window_size * 2) + 100
return samples_to_train > config.retrain_every * 3 + config.initial_window_size