Updated plots
Project description
American Options Library
The Library that is using various methods to price the variety of options of american type.
Installation
pip install american_options
Get started
How to obtain option price with this library:
from american_options import Option, Underlying
#Set up your parameters
n_sims = 10000
T = 1
sigma1 = 0.4
sigma2 = 0.8
r = 0.06
N = 255
spot1 = 100
spot2 = 120
K1 = 100
K2 = 110
First you need to create assets you want to write options on. You can do this in following way:
# Instantiate an Underlying object
asset1 = Underlying(spot_price=100, r=0.07)
asset2 = Underlying(spot_price=120, r=0.07)
Next step is to calibrate assets for the use of different models.
# Calibrate created assets
asset1.calibrate_GBM(sigma=0.4, values_per_year_GBM=N)
asset1.calibrate_JD(sigma=0.4, jump_intensity=1/3)
asset2.calibrate_GBM(sigma=0.4, values_per_year_GBM=N)
asset2.calibrate_JD(sigma=0.2, jump_intensity=1/2)
Now create options, for that we need payoff functions as well. You can import some of them from payoffs module:
from american_options.payoffs import *
option1 = Option(underlyings=asset1, payoff_func=lambda trajectory: payoff_creator_1d(trajectory, Call_Payoff, K=100, barrier=True, barrier_level=140), T=1)
option2 = Option(underlyings=(asset1, asset2), payoff_func=lambda trajectories: double_max_put(trajectories, 100), T=1)
And finally obtaining a price!
# Pricing with state space partitioning method
option1.ssp(n_sims=10000, mode='JD')
option2.ssp(n_sims=10000, mode='GBM')
# pPricing with Longstaff-Schwartz method
option1.LS(n_sims=10000, mode='JD')
option2.ssp(n_sims=10000, mode='GBM')
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
american_options-0.1.7.tar.gz
(15.7 kB
view details)
File details
Details for the file american_options-0.1.7.tar.gz
.
File metadata
- Download URL: american_options-0.1.7.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ec9b071b48734d72cb86052d4f336deeb74909fbb283fac952e28d1227195a5 |
|
MD5 | 56618f87c100cb328ca3a72dedbe5f6e |
|
BLAKE2b-256 | c8fc4bdae56541e9069932ed69736d8049cf6d89e92d670591fdadf6572279ab |