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.
pip install option-price
from optionprice import Option
An option can be initialized by:
some_option = Option(european=True,
some_option = Option(european=False,
You can check the option by
which will print out the option’s info.
|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.|
|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
option-price has three approaches to calculate the price of the price of the option. They are
- 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)
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.