Skip to main content

Awesome but light option price calculator in Python

Project description

option-price

option-price is a Python-based powerful but simple option price calculator. It makes use of vectorization, which makes it pretty fast.

A GUI version is available here.

Docs are available here.

Installation

pip install option-price

Quick Start

from optionprice import Option

An option can be initialized by:

some_option = Option(european=True,
                    kind='put',
                    s0=100,
                    k=120,
                    t=45,
                    sigma=0.01,
                    r=0.05,
                    dv=0)

Or

some_option = Option(european=False,
                    kind='call',
                    s0=120,
                    k=100,
                    sigma=0.01,
                    r=0.05,
                    start='2008-2-14'
                    end='2008-3-14'
                    dv=0)

You can check the option by

print(some_option)

which will print out the option’s info.

Type:           European
Kind:           call
Price initial:  80
Price strike:   120
Volatility:     1.0%
Risk free rate: 5.0%
Start Date:     2020-03-24
Expire Date:    2020-04-24
Time span:      31.0 days

Attributes

Name Type Definition
european boolean True if the option is an European option and False if it's an American one.
kind str ‘call’ for call option while ‘put’ for put option. Other strs are not valid.
s0 number initial price
k int strike price
sigma float volatility of stock
r float risk free interest rate per annum
[optional] dv float dividend rate. 0 for non-stock option, which is also the default
[optional] t int length of option in days
[optional] start str beginning date of the option, string like '2008-02-14',default today
[optional] end str end date of the option, string like '2008-02-14',default today plus param t

Note that if start,end and t are all given, then t will choose the difference between end and start

Also, either t or (start and end) should exists

Calculate

option-price has three approaches to calculate the price of the price of the option. They are

  • B-S-M
  • Monte Carlo
  • Binomial Tree

option-price will choose B-S-M algorithm by default. Prices can be simply calculated by

price = some_option.getPrice()

Other methods of calculation are available by adding some parameters. For instance,

price = some_option.getPrice(method='MC',iteration = 500000)

or

price = some_option.getPrice(method='BT',iteration = 1000)

while MC stands for Monte Carlo and BT stands for Binomial Tree.

The iteration has a default value. Note that the larger the value, the slower and more precise the price.

Default value is a balance of speed and accuracy.

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

option-price-0.2.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

option_price-0.2.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file option-price-0.2.0.tar.gz.

File metadata

  • Download URL: option-price-0.2.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for option-price-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2c1fd30a2b1b6c4f8a3cd59301b074c453b3b363867fd6ae3d46c3ca14d9168b
MD5 ee0e81fac8965cda67e5b232f828a6fe
BLAKE2b-256 b109149ef50e8481f9791f5c079ec19a320e42766cc5341338f1396fdca5020c

See more details on using hashes here.

File details

Details for the file option_price-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: option_price-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for option_price-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a218e8bc0119593d2a8aea0484ec3e8527f400e1a599dbe4ac7683de1305f00
MD5 2943f0f39902c38622e86e42b1f86f95
BLAKE2b-256 f0122efe484e73407fe73690a398d480408d9e698458531c5569a55dedbe87af

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