This repository collects a set of self-contained quantitative research experiments covering core topics commonly used in systematic trading, portfolio analysis, and financial risk modeling.
The goal of this repository is not to provide a production-ready trading system, but to demonstrate:
- Quantitative reasoning
- Research workflows
- Model interpretation
- Risk-aware thinking
- Clean and reproducible experimentation
Each subfolder focuses on a specific concept or modeling paradigm widely used in quantitative finance, hedge funds, and proprietary trading environments.
Quant-Research/
├── backtesting/
├── equity-factor-attribution/
├── geometric-brownian-motion/
├── stock-risk-analysis/
├── XGBoost/
└── hawkes-process-etas/
Each directory contains:
- A standalone Python script
- A dedicated README.md explaining the theory, workflow, and interpretation
- Clear separation between data acquisition, modeling, evaluation, and conclusions
Event-driven backtesting using Backtrader.
This module demonstrates:
- Strategy definition using moving-average crossovers
- Order management and execution logic
- Transaction costs and slippage modeling
- Performance evaluation using Sharpe ratio, drawdowns, and trade statistics
Focus:
How simple trading ideas behave once realistic execution and costs are introduced.
Factor-based performance attribution inspired by Fama–French-style regressions.
This module shows:
- Market beta estimation
- Alpha extraction (excess return beyond market exposure)
- Cross-sectional comparison of stocks
- Risk decomposition versus true skill
Focus:
Separating systematic exposure from genuine outperformance.
Stochastic price modeling using Geometric Brownian Motion (GBM).
This module covers:
- Parameter estimation (drift and volatility)
- Monte Carlo simulation of future price paths
- Confidence intervals and expected outcomes
- Probabilistic interpretation of price evolution
Focus:
Understanding uncertainty and distributional outcomes, not point forecasts.
Classical risk analysis using historical data and simulation.
This module includes:
- Return and volatility estimation
- Trend smoothing via moving averages
- Monte Carlo forward projections
- Value-at-Risk-style reasoning
Focus:
Quantifying downside risk and variability in equity returns.
Machine-learning-based directional classification using gradient boosting.
This module demonstrates:
- Manual feature engineering (RSI, trend distance, volatility, volume shocks)
- Time-series-aware train/test splitting
- Classification of future price direction
- Feature importance analysis
- Probabilistic signal interpretation (BUY / HOLD / SELL)
Focus:
Using ML models as decision-support tools, not black boxes.
Modeling market microstructure using Self-Exciting Point Processes (ETAS).
This module demonstrates:
- Implementation of the Hawkes Process SDE:
$\lambda(t) = \mu + \sum \alpha e^{-\beta(t - t_i)}$ - Modeling of Volatility Clustering and Endogenous Feedback
- Ogata’s Thinning Algorithm for high-frequency tick simulation
- Maximum Likelihood Estimation (MLE) for parameter calibration
Focus:
Understanding how trade clusters and "aftershocks" drive market intensity and liquidity risk.
This repository emphasizes:
- Interpretability over raw performance
- Proper handling of time-series data
- Awareness of noise and overfitting
- Clear separation between research and trading
All scripts are deliberately written in a research-first style, similar to what would be expected in:
- Quant research interviews
- Take-home assignments
- Internal research notes
- Early-stage strategy exploration
This repository is for educational and research purposes only.
It does not constitute investment advice, trading recommendations, or a deployable trading system. All results are based on historical data and simplified assumptions.
Typical dependencies include:
- Python ≥ 3.9
- numpy
- pandas
- matplotlib
- yfinance
- statsmodels
- scikit-learn
- xgboost
- backtrader
Each subfolder README specifies its exact dependencies.
Developed as a quantitative research sandbox by
Luca Dal Zilio