XGBoost is known to be fast and achieve good prediction results as compared to the regular gradient boosting libraries. This project attempts to predict stock price direction by using the stock's daily data and indicators derived from its daily data as predictors. As such this is a classification problem.
you should use the Return of next day, not the Return of current day.
return (df['Returns'].shift(-seq_length) > 0).astype(int)