ConvLSTM 3D Model for predicting SPX Option Prices
Budget: $30 – $250 USD
I would like to build a ConvLSTM 3d model that predicts what the option prices will be the next trading day for a given move in the S&P 500. To provide a quick example, say today you have 50 different options that are at various prices. I want a model to predict what those option prices will be if the S&P moves up by say 1%.
The inputs will be like a volatility surface, but instead of volatility I’d like to use the option prices themselves. The data will be daily and will include the end-of-day prices. For this project, I’d like to just focus on puts only. The data will be 3 dimensional – days to expiration, moneyness, and price. I would like the lookback for the LSTM to be 10 periods (so 10 trading days, but with the ability to change that in the future if I desire).
Below is a reference to a study that has a model architecture that might be helpful to understand what I want for the model. It is not going to be an exact replica, but I want to pass 3-d data through the encoder, add additional factors, and then have the decoder predict what the option prices will be the next day. The additional factors will be the next day’s return for the S&P, the current price for the S&P, and the day of the week as a categorical variable (so the model can properly determine shifts for when it is a Friday and the next trading day is a Monday). Ultimately, I’d like to be able to pull specific data points from the output to determine price predictions for specific option contracts.
Here is a link to the full study: chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/viewer.html?pdfurl=https%3A%2F%2Farxiv.org%2Fpdf%2F1902.08716.pdf&clen=2935558&chunk=true
I do not have much experience with deep learning, and one of the main challenges I am having is figuring out how to pass through 3d data that has different dimensions each day (different days have different amount of data points). I would like the model output to produce the same amount of datapoints as the input from the previous time period (so the day before).
python code in a Jupyter Notebook
The inputs will be like a volatility surface, but instead of volatility I’d like to use the option prices themselves. The data will be daily and will include the end-of-day prices. For this project, I’d like to just focus on puts only. The data will be 3 dimensional – days to expiration, moneyness, and price. I would like the lookback for the LSTM to be 10 periods (so 10 trading days, but with the ability to change that in the future if I desire).
Below is a reference to a study that has a model architecture that might be helpful to understand what I want for the model. It is not going to be an exact replica, but I want to pass 3-d data through the encoder, add additional factors, and then have the decoder predict what the option prices will be the next day. The additional factors will be the next day’s return for the S&P, the current price for the S&P, and the day of the week as a categorical variable (so the model can properly determine shifts for when it is a Friday and the next trading day is a Monday). Ultimately, I’d like to be able to pull specific data points from the output to determine price predictions for specific option contracts.
Here is a link to the full study: chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/viewer.html?pdfurl=https%3A%2F%2Farxiv.org%2Fpdf%2F1902.08716.pdf&clen=2935558&chunk=true
I do not have much experience with deep learning, and one of the main challenges I am having is figuring out how to pass through 3d data that has different dimensions each day (different days have different amount of data points). I would like the model output to produce the same amount of datapoints as the input from the previous time period (so the day before).
python code in a Jupyter Notebook