Skip to main content

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:

  1. European Options: Standard options that can be exercised only at expiration.

  2. American Options: Options that can be exercised at any time before or at expiration.

  3. Asian Options: Options whose payoff depends on the average price of the underlying asset over a specified period.

  4. Lookback Options: Options whose payoff is based on the extrema (maximum or minimum) of the underlying asset's price over its life.

  5. Down and Out Options: Options that expire worthless if the underlying asset's price falls below a predetermined barrier during the option's life.

  6. Knock and Out Options: Options that expire worthless if the underlying asset's price reaches a specified barrier during the option's life.

  7. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

JaxFin-0.0.1.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

JaxFin-0.0.1-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

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

Hashes for JaxFin-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b730b2acd71a72530b417e7b483cf62eccb0b7ff4bc3a2ddf193bd255698cfdb
MD5 9d8069ebc91aee77df6e25299a74e424
BLAKE2b-256 e42cee2a173366b5f755b6a355b3e24dfca3a6adbc6bc056fb52f5129923638e

See more details on using hashes here.

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

Hashes for JaxFin-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0a6606025125ea8a05a2589ce5e0a876c44c13f13501d069300014759746dc5a
MD5 e7b5aaffe72214b453a4c3235273cd35
BLAKE2b-256 32edc58a43acbee49ca9b25bb9425d2b121584fb3553a5e3d003279220a00300

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page