Skip to content

yuqinie98/Mixture-VAE

Repository files navigation

Mixture-VAE: A Generalized Framework for Financial Regime Identification

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.

Overview

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.


Features

  • 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.

Installation

To install the required dependencies, run:

pip install -r requirements.txt

Usage

  • Example Notebook:
    Explore an end-to-end usage example with the example_usage.ipynb notebook.
  • Model Implementation:
    The key implementation is provided in model/mixture_vae.py. For batch fitting and inference, refer to the wrapper in model/vae_module.py.

Experiments

To reproduce the experimental results, follow these steps:

  • Synthetic Experiments:
    Run the notebooks located in exp_notebooks/synthetic_notebooks/mixture-vae for synthetic experiment results with hyper-parameter searching.

  • Baseline Models:
    Reproduce baseline results by executing the notebooks in exp_notebooks/synthetic_notebooks/baselines.

  • Synthetic Data Generation:
    Learn how the synthetic data is generated by checking out exp_notebooks/synthetic_generation.ipynb.


Project Structure

  • 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/.

Citation

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}},
}

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published