Hey, Visaal. The parameter “dynamic=False” used in the .predict() method tells the model to utilize all previous information in making a prediction. So each day it makes a prediction using all previous true observations and predicts the next day; it is constantly updating. You can train the model on 2016, but it will use actual data from 2017 to make predictions for the following day.
If you change dynamic=True, predictions will be made based on prior predictions. This could allow you to predict all of 2018 if you wished, but the predictions would only be based on the seasonality and trend and could not account for the residual (as seen on the chart with four separate graphs above). I hope that helps clear things up.