VolGAN is a deep learning framework for modeling and predicting financial market volatility using Generative Adversarial Networks (GANs). By leveraging the power of adversarial training, VolGAN aims to capture complex market dynamics and provide more robust volatility estimations compared to traditional models.
- Implements a GAN-based approach for financial volatility modeling
- Supports training on historical financial data
- Provides volatility forecasts and synthetic volatility path generation
- Extensible architecture for experimentation with varying hyperparameter selection
To use VolGAN, clone this repository and install the required dependencies:
git clone https://github.com/ekopen/VolGAN.git
cd VolGAN
pip install -r requirements.txtTo see relevant code for data preprocessing, model training, model usage and model evaluation, please refer to the main.ipynb file in the repository.
The model itself and relevant functions can be found in VolGANSwaps.py which abstracts most of the processing, training and usage functions.
Other relevant files include the following:
Inputs.pyprovides functions to interact with the originally provided datasetPrices and Greeks.pyprovides functions to price the instrument given implied volatilitiestreasury_cmds.pyare helper functions used in pricing
reweighting.pyandreweighting_main.ipynbprovide implementation of the scenario reweighting process provided in the papersofr_libor_conversion.ipynbprovides methodology for constructing synthetic SOFR data from pre-LIBOR-to-SOFR transtionEvaluation.pyprovides additional visualization functions and methods to compare generated surfaces and true surfaces