2022-01-26 23:22:43 +01:00
|
|
|
import pandas as pd
|
|
|
|
|
from config.types import Config
|
|
|
|
|
import warnings
|
|
|
|
|
from utils.helpers import get_first_valid_return_index
|
|
|
|
|
from data_loader.types import XDataFrame
|
|
|
|
|
|
|
|
|
|
def check_data(X: XDataFrame, config: Config) -> bool:
|
|
|
|
|
""" Returns True if data is valid, else returns False."""
|
|
|
|
|
|
|
|
|
|
if has_enough_samples_to_train(X, config) == False:
|
|
|
|
|
warnings.warn("Not enough samples to train")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
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
|
2022-01-29 06:41:40 +01:00
|
|
|
return samples_to_train > config.sliding_window_size_base + config.sliding_window_size_meta + 100
|