In my opinion the answer to your question is alternatively called a Dynamic Regression/Transfer Function/Polynomial Distributed Lag/Autoregessive Distrbuted Lag/XARMAX. The whole idea is form a minimally sufficent model of the form (shown here with just 1 X where you have 20) using as few lags as necessary. Note that sometimes B (the backshift operator) is replaced by L , particularly in the "dismal science" of econometrics.
which easily restates to :
an XARMAX model with different subscript notation
Y[t] = aY[t-1] + ... + a[p]Y[t-p]
+ wX[t-0] + ... + w[r]X[t-r]
+ ba[t-1] + ... + b[q]a[t-q]
The statistical problem is to determine what the appropriate lag structure is for each Y and X.
The statistical problem is to create a robust solution that incorporates any needed Pulses/Level Shifts/Seasonal Pulses/Local Time Trends that exist in the data and are not treated by any of the user-specified X's.
The statistical problem is to validate that the final model's parameters are invariant over time and the error variance is free of any non-constancy . Non-constancy in the error process can arise in both a stochastic and non-stochastic manner.
In terms of commercially available solutions , I can recommend AUTOBOX as a potential http://www.autobox.com/cms/ as I have helped develop it. Additionally other players in this environment are SPSS and SAS to name a few.
Care should be taken when selecting an approach that the data should not just be used BUT challenged as to it being part of the process and not reflecting unusual activity thus data-cleansing procedures need to be in place and effective.