Mixture-VAE is a versatile framework for classification tasks, specifically financial regime identification. This repository provides a python implementation including usage examples and experiment reproductions.
The Mixture-VAE framework is designed for the classification of financial regimes by leveraging a mixture-model in the latent space of variational autoencoders. This approach offers flexible and learnable distance measure for the classification models in a data-driven way.
- Financial Regime Identification:
Apply advanced VAE models to identify and classify financial market regimes. - Synthetic Experiment Reproduction:
Detailed notebooks enable the reproduction of synthetic experiment results with hyper-parameter search. - Baseline Comparisons:
Compare Mixture-VAE performance against baseline models such as HMM, K-Means, and jump models. - Modular Implementation:
Clear separation of core components and wrappers for easy extension and maintenance.
To install the required dependencies, run:
pip install -r requirements.txt
- Example Notebook:
Explore an end-to-end usage example with theexample_usage.ipynb
notebook. - Model Implementation:
The key implementation is provided inmodel/mixture_vae.py
. For batch fitting and inference, refer to the wrapper inmodel/vae_module.py
.
To reproduce the experimental results, follow these steps:
-
Synthetic Experiments:
Run the notebooks located inexp_notebooks/synthetic_notebooks/mixture-vae
for synthetic experiment results with hyper-parameter searching. -
Baseline Models:
Reproduce baseline results by executing the notebooks inexp_notebooks/synthetic_notebooks/baselines
. -
Synthetic Data Generation:
Learn how the synthetic data is generated by checking outexp_notebooks/synthetic_generation.ipynb
.
-
Core Model Implementation:
model/mixture_vae.py
– Primary implementation of the Mixture-VAE model.model/vae_module.py
– Wrapper module for batch fitting and inference.
-
Baseline Models (Wrapped):
model/hmm_module.py
model/kmeans_module.py
model/jump_module.py
-
Experiments:
- Notebooks for synthetic experiments and baseline comparisons are located under
exp_notebooks/
.
- Notebooks for synthetic experiments and baseline comparisons are located under
If you use this repository in your research or projects, please cite it as follows:
@misc{mixturevae,
author = {Yuqi Nie and John M. Mulvey and H. Vincent Poor and Chenyu Yu and Hao Huang},
title = {Mixture-VAE: A Generalized Framework for Financial Regime Identification},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/yuqinie98/Mixture-VAE}},
}
This project is licensed under the MIT License.