Excellent and very detailed article that motivated me to write my own articles.
I particularly liked the idea of using the data sequentially after years for feature selection. Unfortunately, it is not clear to me personally how you prevented the overfitting (keyword: train data = test data)