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
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.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a218e8bc0119593d2a8aea0484ec3e8527f400e1a599dbe4ac7683de1305f00 |
|
MD5 | 2943f0f39902c38622e86e42b1f86f95 |
|
BLAKE2b-256 | f0122efe484e73407fe73690a398d480408d9e698458531c5569a55dedbe87af |