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='call',
s0=100,
k=120,
t=45,
sigma=0.01,
r=0.05,
dv=0)
Or
some_option = Option(european=False,
kind='put',
s0=100,
k=120,
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
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
Hashes for option_price-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb3e7f8cf559055653697c959fde10222e632fb216a3dd86a22d3186126fad4 |
|
MD5 | 792d8d0f93aba77574f07bb9b5a0808b |
|
BLAKE2b-256 | f18521d43ca1379ac8221ad0a3d2fe437240931b0682958fb9bd897189930cff |