Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A Finance Library

Project description


FinancePy is a library of native Python functions for valuing, selecting and risk-managing financial assets.

The aim of this library for me has been to provide a comprehensive and accessible Python library for financial calculations that can be used by students to learn about financial derivatives. It can also be used by academics and practitioners to perform the pricing and risk-management of complex financial products, albeit without any warranties. Users should perform their own testing. See the license for the full disclaimer.

I intend that subsequent versions will also include asset selection, portfolio-level risk management, regulatory calculations and market analysis tools.

In general my objectives have been:

  1. To make the code as simple as possible so that students and those with a basic Python fluency can understand and check the code.
  2. To keep all the code in Python so users can look through the code to the lowest level.
  3. To offset the performance impact of (2) by leveraging Numba to make the code as fast as possible without resorting to Cython.
  4. To make the design product-based rather than model-based so someone wanting to price a specific exotic option can easily find that without having to worry too much about the model – just use the default – unless they want to.
  5. To make the library as complete as possible so a user can find all their required finance-related functionality in one place. This is better for the user as they only have to learn one interface.
  6. To avoid complex designs as I do not want to make it too hard for unskilled Python programmers to use the library.
  7. To have good documentation and easy-to-follow examples.
  8. To make it easy for interested parties to contribute.

In many cases the valuations should be close to if not identical to those produced by financial systems such as Bloomberg. However for some products, larger value differences may arise due to differences in date generation and interpolation schemes. Over time I expect to reduce the size of such differences.


FinancePy depends on Numpy and Numba and Scipy.


FinancePy can be installed via pip as

pip install financepy


See the changelog for a detailed history of changes


Contributions are welcome, as long as you don't mind camel case ;-)



Project details

Download files

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

Files for financepy, version 0.152
Filename, size File type Python version Upload date Hashes
Filename, size financepy-0.152-py3-none-any.whl (207.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size financepy-0.152.tar.gz (129.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page