Stramlit app: https://share.streamlit.io/mcf-long-short/option-pricing-fourier-transform/main/app.py
Fourier Transform
and Fast Fourier transforms (FFT)
represent popular approaches to option pricing. They provide a semi-closed form expressions for European
and American option prices
. Most importantly, calculation using these methods is fast and accurate, very useful when we need to bring the model to data (to calibrate it). A number of methods have been proposed in the literature. The goal of this project is to implement these algorithms for Black–Scholes
and Merton model
. Brief introduction to the methods as well as implementation of various models in Python can be found in Hilpisch (2015)
. A really nicely written intro to the Fourier transform and their applications in option pricing can be found in Schmeltze (2010)
.
This repository contains implementation of various Fourier transform methods for pricing options: Black–Scholes and Merton model via FT and FFT. There is an implementation of those models, a streamlit
web app for testing those models and jupyter notebook for model performance comparison under /notebooks/
directory.
Key implementation references:
- Hilpisch, Y. (2015) Derivatives Analytics with Python, John Wiley
- Schmeltze (2010) Fourier Pricing. Full title: Option Pricing formulae using Fourier Transform: Theory and Applications
This repository represents group project work for course in Derivatives
for advanced degree Masters in Computational Finance, Union University.
streamlit-app-2021-09-12-14-09-33.mp4
Build image and run docker container:
docker build -t option-pricing-fourier:latest .
docker run -p 8080:8080 option-pricing-fourier:latest
Streamlit app should be at: http://localhost:8080/
Create python venv and install requirements
# Create virtual env
python3 -m venv venv
#Activate venv (Unix/MaxOS)
source venv/bin/activate
#Activate venv (Windows)
venv\Scripts\activate.bat
# Install requirements
python -m pip install -r requirements.txt
To run streamlit app: streamlit run app.py