A compact quant research project on how volatility and liquidity affect trading frictions.
Built with synthetic data to demonstrate research structure, reproducibility, and clear interpretation.
quant research
market microstructure
synthetic data
notebook workflow
reproducible analysis
A compact research workflow built around one question: how volatility and liquidity shape trading frictions in a stylized synthetic market.
How do volatility and liquidity affect a simple spread proxy?
- Higher volatility should be associated with wider spreads.
- Lower liquidity should be associated with wider spreads.
- The widening effect should be strongest during stress regimes.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python src/generate_data.py
python src/analysis.pyThe study generates cross-sectional daily data for synthetic instruments across different liquidity tiers and market-cap buckets. It then:
- simulates returns, volatility, turnover, and spread proxies
- labels observations into calm versus stress regimes
- estimates a simple OLS relationship between spread, volatility, and log turnover
- compares spread behavior across liquidity tiers and stress regimes
- saves charts and summary outputs for portfolio presentation
After running the scripts, you should see:
data/synthetic_microstructure_data.csvresults/summary_metrics.csvresults/regression_summary.csvresults/key_findings.mdfigures/spread_vs_volatility.pngfigures/spread_by_regime_and_liquidity.pngfigures/spread_distribution_by_liquidity.png
- Average spread proxy is wider in stress regimes than in calm regimes:
31.35 bpsversus24.00 bps - Low-liquidity names show materially wider spreads than high-liquidity names:
38.07 bpsversus18.92 bps - In the simple OLS, realized volatility loads positively on spread:
+283.17 - Log turnover loads negatively on spread:
-8.71 - The stress indicator remains positive even after controlling for volatility and turnover:
+4.55
data/: generated synthetic datasetfigures/: charts created by the analysis scriptnotebooks/: notebook-style walkthrough starterresults/: summary tables and key findingssrc/: data generation and analysis code
This project is designed to complement a dashboard portfolio piece. Instead of showcasing interface design, it showcases research thinking:
- forming a clear hypothesis
- building a reproducible dataset
- running a simple empirical analysis
- summarizing findings in a compact and readable way
- The dataset is synthetic and intended for demonstration rather than live inference.
- The spread proxy is stylized, not a direct market microstructure measurement.
- The regression is deliberately simple and meant to be easy to explain in an interview.

