JaxFin is a powerful and versatile Python library designed for pricing exotic options using a range of advanced financial techniques.
Project description
Exotic Pricing library in Python
[Library name] is a powerful and versatile Python library designed for pricing exotic options using a range of advanced financial techniques.
Quickstart
How to get started with the development
Make sure that you've created a virtual environment with the following command
python -m venv venv
and then install the packages needed
pip install -r requirements.txt
Road map
Since using plain python is for kids we are going to use (or least try to use) on of the two following libraries to make our computation performant (even if we are using python):
- Jax
- the problem with jax is that it doesn't support the NVIDIA GPU on windows
- CuPy
- probably this is going to make our code more verbose
What we would like to support
Providing pricing capabilities for the following types of exotic options:
-
European Options: Standard options that can be exercised only at expiration.
-
American Options: Options that can be exercised at any time before or at expiration.
-
Asian Options: Options whose payoff depends on the average price of the underlying asset over a specified period.
-
Lookback Options: Options whose payoff is based on the extrema (maximum or minimum) of the underlying asset's price over its life.
-
Down and Out Options: Options that expire worthless if the underlying asset's price falls below a predetermined barrier during the option's life.
-
Knock and Out Options: Options that expire worthless if the underlying asset's price reaches a specified barrier during the option's life.
-
Up and Out Options: Options that expire worthless if the underlying asset's price rises above a predetermined barrier during the option's life.
Pricing Techniques
1. Monte Carlo Simulation
Utilizes random sampling to simulate multiple possible paths of the underlying asset's price and calculates the option's expected payoff.
2. Partial-Integro Differential Equations
Involves solving partial-integro differential equations to model the behavior of exotic options over time.
3. Carr-Madan Algorithm
An efficient numerical algorithm used for option pricing, particularly in the context of Fourier-based methods.
4. Convolution Method
Leverages convolution techniques to compute the option's price efficiently.
TODOs
- Separate BS and Black model in two different files
- Add tests
- see if it possible to use some fwd_propagation to calculate the greeks of the european
- see where it is possible to jit the
simulate_paths
of UnivariateGBM - use nox for automation stuff
- create the package
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file JaxFin-0.0.1.tar.gz
.
File metadata
- Download URL: JaxFin-0.0.1.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b730b2acd71a72530b417e7b483cf62eccb0b7ff4bc3a2ddf193bd255698cfdb |
|
MD5 | 9d8069ebc91aee77df6e25299a74e424 |
|
BLAKE2b-256 | e42cee2a173366b5f755b6a355b3e24dfca3a6adbc6bc056fb52f5129923638e |
File details
Details for the file JaxFin-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: JaxFin-0.0.1-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a6606025125ea8a05a2589ce5e0a876c44c13f13501d069300014759746dc5a |
|
MD5 | e7b5aaffe72214b453a4c3235273cd35 |
|
BLAKE2b-256 | 32edc58a43acbee49ca9b25bb9425d2b121584fb3553a5e3d003279220a00300 |