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.
The repo is available here.
Installation
1 | pip install option-price |
Quick Start
1 | from optionprice import Option |
An option can be initialized by:
1 | some_option = Option(european=True, |
Or
1 | some_option = Option(european=False, |
You can check the option by
1 | print(some_option) |
which will print out the option’s info.
1 | Type: European |
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
1 | price = some_option.getPrice() |
Other methods of calculation are available by adding some parameters. For instance,
1 | price = some_option.getPrice(method='MC',iteration = 500000) |
or
1 | 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.