Raheel31's picture
Update README.md
85927f8 verified
---
license: mit
title: Synthetic Stock Data Generator & Visualizer
emoji: 🧠
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.0
app_file: app/app.py
pinned: false
---
# 🧠 Synthetic Stock Data Generator & Visualizer
This project builds a **synthetic stock market data generator** using a combination of **Autoencoders (AE)** and **Generative Adversarial Networks (GANs)**.
The goal is to create realistic synthetic financial time-series data and compare model performance between **real** and **synthetic** datasets.
---
## πŸš€ **Project Overview**
### πŸ”Ή Workflow
1. **Autoencoder (AE):**
- Encodes stock price data into a compressed **latent space**.
- Captures temporal and feature-based dependencies between Open, High, Low, Close, and Volume.
2. **GAN (Generator + Discriminator):**
- Learns to generate **synthetic latent vectors** that mimic the AE latent representations.
- Generator produces fake latent vectors.
- Discriminator learns to distinguish between real (from AE encoder) and fake (from Generator).
3. **Synthetic Data Reconstruction:**
- The **synthetic latent vectors** are passed through the **AE Decoder**.
- This recreates **synthetic stock market data** at the feature level (Open, High, Low, Close, Volume).
4. **Model Evaluation:**
- A downstream **neural network classifier** is trained on:
- Real data
- Synthetic data
- Performance metrics and comparison charts are saved in the `/charts` folder.
---
## πŸ“Š **Visualization App**
The project includes a **Gradio-powered dashboard** to visualize stock time series for real and synthetic data.
### πŸ–₯️ Try it on Hugging Face
If you’re viewing this on Hugging Face, launch the app directly below πŸ‘‡
[![Hugging Face Space](https://img.shields.io/badge/Gradio_App-Open_in_Space-blue?logo=gradio)](https://huggingface.co/spaces/Raheel31/Synthetic_Stock_Data)
### πŸ” App Features
- Select any stock ticker and feature (Open, High, Low, Close, Volume)
- View **5-year time series** comparisons of **original vs synthetic data**
- Interactive plots rendered with `matplotlib`
---
## πŸ“‚ **Repository Structure**