Run Monte Carlo simulations to price European options using Black-Scholes in an interactive notebook you can modify and re-run.
Calibrate a jump-diffusion model to real market option data using the provided Python implementations.
Build a mean-variance portfolio optimizer by adapting the portfolio optimization notebook.
Use the Kalman filter notebook to track changing market statistics like rolling mean and variance over time.
Requires Conda or Docker to set up the reproducible Python environment before running notebooks.
This repository is a collection of Jupyter notebooks covering topics in quantitative finance, the area of finance that uses mathematical models and computing to price financial instruments and manage risk. Each notebook is self-contained and combines explanations with runnable Python code, so you can read the theory and immediately experiment with it in the same document. The notebooks span several areas. Some cover standard option pricing using Monte Carlo simulation and the Black-Scholes model. Others focus on less commonly taught approaches: solving partial differential equations numerically, pricing options via Fourier methods, working with models that include random jumps in asset prices (known as Levy processes), and using the Kalman filter to track changing market statistics over time. Additional notebooks cover calibrating model parameters to real market data, pricing exotic options such as barrier and Asian options, and mean-variance portfolio optimization. The collection is aimed at students in science, finance, or economics who have completed at least one course in financial mathematics and statistics. It does not explain foundational concepts like options or stochastic processes from scratch, but every new term comes with a link to a reference for readers who need a refresher. Self-taught readers with an introductory financial mathematics background should also find the material accessible. To run the notebooks, the repository includes setup instructions for several approaches: a reproducible Conda virtual environment, a standard Python virtual environment, and a Docker container. Once the environment is set up, launching Jupyter opens all the notebooks in an interactive format where you can modify and re-run the code.
← cantaro86 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.