VolGAN
Deep Learning
March 2025
Abstract
( Paper Notes )
Notes on 'VolGAN: a generative model for arbitrage-free implied volatility surfaces'
Quick TLDR.
VolGAN is a GAN with it's generator trained to optimize an objective function a regularization term for the moneyness () dimension and the time to maturity () dimension to avoid arbitrage when generating the implied volatility surface.
It's discriminator, as similar to a conditional GAN takes in the output to the generator and a prior set of data points for the past implied volatility surface, to play the minimax game where the generator is trained to output synthetic realistic scenarios relative to the past implied volatility surface.
The outputs to the generator are reweighted which are a means to reduce the arbitrage, forcing the generator to produce arbitrage free values.
Abstract
VolGAN is a generative adverserial network for generating synthetic arbitrage-free implied volatility surfaces
Where arbitrage is when traders can exploit abrupt changes in the IVS, arbitrage-free indicates a smooth IVS with no illogical pricing errors.
VolGAN is trained on a series of implied volatility surfaces and underlying prices of each option to generate a realistic IVS and the underlying price of the asset.
Accounts for not only scenarios based on Gaussian probabilities, but abrupt non-Guassian changes in the IVS, in a logical arbitrage-free manner.
A generative model for implied volatility surfaces.
As input, VolGAN receives (1) the implied volatility surface at previous date, (2) two previous underlying returns (3) the realized volatility from the previous period to output (1) the return of the underlying asset and (2) the implied volatility surface.
The architecture is a Conditional GAN, composed of a generator and discriminator (as is typical of GANs).
The inputs to the GAN are,
where is the implied volatility at in log-space, is the return at in log-space, and is the historic volatility over a one-month trading period (21 days out of 252 total possible trading days.).
All aggregated into an input vector ,
The generator takes in with i.i.d noise, where is the identity (serving as covariance) matrix and outputs synthetic log-space volatility and returns,
where is the synthetic predicted return and is the synthetic IVS both in log-space.
The discrminator is a classifier which takes in an input value , either the output of the generator or the ground-truth realization of the data with a condition vector as defined previously.
outputs a probability that the input is drawn from the distribution of given .
Essentially verifying that the output of the generator is probable to have been induced from a prior volatility surface.
Both and are defined as feed-forward neural networks with their own respective parameters.
is a two layer neural network with a hidden layer , a second hidden layer , with a final dense layer of size outputting the log-implied volatility surface increment with the simulated return of the underlying asset.
The discrminator takes the simulated return with , through a hidden layer of size and outputs a single probability value, denoting the probability that the simulated return is inductively sampled from the data.
Training Objective
The loss function for the generator is smoothed as,
where is smoothing the moneyness dimension while is smoothing the time to maturity dimension.
The discriminator simply minimizes the binary cross-entropy loss.
Scenario re-weighting
Assume is the joint probability distribution output by the generator, .
To remove opportunities for arbitrage, they reweight the probability by sampling using a weighting function to the generated samples in the softmax, as:
Each weighted scenario is used to compute expectations of various quantities of interest under
Assume is the return of the option, then you can quantify the expected return over steps as
or for any defintion of .