Skip to content

Commit c0713e4

Browse files
Update README.md
1 parent 418400e commit c0713e4

File tree

1 file changed

+34
-29
lines changed

1 file changed

+34
-29
lines changed

README.md

+34-29
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
11
## Options Pricing Overview
2-
3-
https://www.optionspricerapp.com/
4-
5-
### `options.py`
6-
7-
#### 1. **European Options Pricing:**
8-
- The `price_european_option` function calculates the price of European call or put options using the final prices of simulated asset paths. It computes the discounted payoff of the option, considering the strike price, risk-free interest rate, and time until expiry.
9-
- The function supports pricing for both call and put options, providing the mean payoff, mean payoff sample standard deviation, and payoff sample standard deviation.
10-
11-
#### 2. **American Options Pricing - Longstaff Schwartz Method:**
12-
- The `longstaff_schwartz` function implements the Longstaff-Schwartz method for pricing American options. It supports both call and put options.
13-
- The function iteratively computes the option price, considering whether it's optimal to exercise the option at each time step. It uses polynomial regression to estimate the continuation value at each step, deciding whether to exercise based on a comparison between the exercise and continuation values.
14-
15-
### `options_pricer.py`
16-
17-
- The `price_option` function in `options_pricer.py` is a comprehensive function for pricing options. It retrieves the initial stock price and implied volatility, then uses these values, along with user-specified parameters, to generate asset paths using the Heston model.
18-
- The function then prices European and American options using the `price_european_option` and `longstaff_schwartz` functions from `options.py`. It returns the prices of both types of options along with their standard deviations and the generated asset paths.
19-
20-
#### Parameters:
21-
- `call_or_put`: Specifies whether the option is a call or put.
22-
- `ticker`: The stock ticker.
23-
- `K`: The strike price.
24-
- `T`: Time to expiry.
25-
- `n`: Number of simulations.
26-
27-
### Supporting Modules:
28-
- The repository also contains supporting modules like `black_scholes.py` for Black-Scholes pricing, `monte_carlo.py` for generating asset paths using the Heston model, and `brownian_motion.py` for generating correlated Brownian motions, which are integral to the options pricing process.
29-
30-
For a deeper understanding, users are encouraged to review the code and comments within each function in the respective files.
2+
A full stack application that utilizes the Heston Model and Longstaff Schwartz approach to price American and European Options
3+
4+
Access the site at https://www.optionspricerapp.com/
5+
6+
![App Screenshot](images/app_pic.png)
7+
8+
## Usage
9+
The user interface is very intuitive. In the top left of the application there is a form where users first enter a stock ticker they would like to price an option on. YFinance is used to collect stock data, so only options can only be priced on stocks who's data is available through YFinance.
10+
Other parameters (Strike price, time-to-expiry, number of simulations) are selected in the same form. When the parameters are selected, the "Calculate" button is used to begin calculating Options Price.
11+
Upon calculation, the application visualizes 100 of the user's simulated paths, the standard error for American Prices, and a distrubution of the returns on the final day.
12+
13+
## Built With
14+
* <a href="https://reactjs.org/"><img src="https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB" alt="React" width="100"></a>
15+
* <a href="https://flask.palletsprojects.com/en/3.0.x/"><img src="https://flask.palletsprojects.com/en/3.0.x/_images/flask-horizontal.png" alt="Flask" width="100"></a>
16+
17+
## Credits
18+
<ul>
19+
<li>
20+
<b>Christian Lindler</b>
21+
<a href="www.linkedin.com/in/christianlindler"><img src="https://cdn1.iconfinder.com/data/icons/logotypes/32/circle-linkedin-512.png" alt="Linkedin" width="30"></a>
22+
<a href="https://github.com/ChristianLindler"><img src="https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png" alt="GitHub" width="30"></a>
23+
<a href="mailto:ChristianWLindler@gmail.com"><img src="https://static.vecteezy.com/system/resources/previews/016/716/465/non_2x/gmail-icon-free-png.png" alt="Email" width="30"></a>
24+
</li>
25+
<li>
26+
<b>
27+
Ben DiPrete
28+
</b>
29+
</li>
30+
<li>
31+
<b>
32+
Cole Miller
33+
</b>
34+
</li>
35+
</ul>

0 commit comments

Comments
 (0)