# Matrix time-series Forecasting with LSTM

I have the following time-series data:

date        impl_volatility days_to_maturity moneyness
2018-01-02  0.656351    7   89.860333
2018-01-02  0.561393    7   91.383390
2018-01-02  0.463378    7   92.958966
2018-01-02  0.361770    7   94.589825
2018-01-02  0.319940    7   95.258304
... ... ... ...
2022-03-10  0.900534    90  120.655385
2022-03-10  0.939075    90  121.960000
2022-03-10  0.976861    90  127.229091
2022-03-10  1.022399    90  138.952000
2022-03-10  1.875746    90  139.760000


I am trying to forecast impl_volatility as a function of date, days_to_maturity, and moneyness.

• days_to_maturity is categorical and takes values [7, 30, 60, 90]. There is some correlation with different time steps.

• moneyness ranges from around 50 to 150. I will bin it in 9 different categories, e.g. 50-80,80-85,..., 115-120, 120-150.. to reduce dimensionality.

• I now have a 4x9 input matrix at each timestep. How do I feed this into an LSTM? Should I "unroll" it to have a 36x1 input vector at each time step ? What will the network structure look like, input / hidden layers wise?

My resulting fitted model should take date, days_to_maturity, and moneyness as inputs, to predict an impl_volatility value:

$$f(date, days\_to\_maturity, moneyness) = impl\_volatility$$