Options Calculator v0.0
Options Calculator with flexible volatility map out:
First version of the Options Calculator is out! The program provides a Java Swing GUI to calculate the profit curves of complex financial option positions. Based on given option prices the current volatility map depending on expiration time and strike prices is calculated. The volatility map is used to calculate the expected volatility of the put in option positions. That means that the volatility skew and/or smile are considered when evaluating the prices of the option position for different times and base prices.
The program can plot position value curves that can be manually offset (volatility and risk-free rate). For plotting the curves two external libraries under the LGPL are dynamical linked with the software (they are both contained in the download within a sub-folder). See “License_Informations.txt” for more information. The Options Calculator uses the Java Code from Espen Hagen to perform the option price calculations according to Black-Scholes.
The program can be downloaded in the right column within the “Downloads” section under:
- “OptionsCalculator.zip” –> Containing the main program and linked libs.
- “optionsDataSet.txt” –> exemplary options data set to load the current market option prices
Getting Started / Simple Documentation:
In the intro window you first have to load option raw data from a file. The raw data file is chosen and opened with the “Open Option Raw File” button. An exemplary raw data file can be downloaded from the “Downloads” section on the right side (–>”optionsDataSet.txt”). The file is organized in line and columns. Lines containing ‘#’ are ignored. Each line stand for one option. The first column contains the call/put flag (‘c’ or ‘p’). The columns are all separated by ‘;’. The second column contains the option price. The third column the strike price of the option and the fourth column contains the time to expiration in years. See also the bottom right section of the intro window.
After loading the file you have to write in the risk free interest rate in the corresponding field. The underlying price corresponding with the option prices in the given option raw file has to be provided as well.
After these inputs are made you press the “Calc Vola Map” button that starts the calculation of the volatility maps (for call and put separated maps are calculated) based on the given option and underlying data. After a successful calculation of the volatility data the “Proceed” button will be enabled. You press it to proceed with the next step.
Options Table Window
In this window you see a table of all options loaded from the raw data file. The calculated options volatility values are shown in the 4th column. The last two columns are editable. In these two columns you can set your desired options position that should be evaluated. In the “Numbers” the absolute number of options of the type in the chosen row are set. In the last column the type of position is provided: L for long position and S for short position. Entries within this columns should be fixed by pressing enter (in the screen shot above positions a combined 1 option long position with the 6400 0.083 yearsToExpiration calls and 2 options short position with the 6800 0.083 yearsToExpiration puts is set).
Pressing the “Plot Vola” button opens a new window that plots the volatilities of the given raw data graphically. Options with the same time to expiration and the same type (call or put) are colored identically.
Pressing the “Display Strategy” button opens the “DisplayStrategy” window that plots the position values for different times and underlying prices.
Display Strategy Window
After the first call of the “Display Strategy” window there are three rows to set different offsets and ranges of the strategy plot to show. You can offset the implicit volatility map and the risk free rate by a given amount. In the third row you can set the price range to show in the plot. When pressing the “Show Plot” button for the first time the Profit vs. Underlying Price plot is shown. This plot contains the profit curves for different times. Beginning with the green line that shows the profit at entry time up to the red line that shows the expected profit at the expiration time of the option with the shortest over all expiration time within the chosen strategy (options whose number is set to zero in the options tabel are not regarded for calculating the smalle expiration time). If you update an offset value or the range value just click the “Show Plot” button again to update the plot. You can simultaneously change the position numbers and short/long flags in the “Options Table” and update the whole plot by pressing the “Show Plot” button again.
I plan to publish the whole project as open-source project (Java Code written in Eclipse IDE using Swing GUI features) if there are collaborators to further develop the software in a community. Functions I would propose to add:
- Automatic reading of the options data from websites containing the option price data
- Automatic options strategy search based on the given option data and/or statistical underlying data
- Improvement of the volatility map class (the extrapolation of the volatilities for the different times and underlying prices is a bit rough)
- … any comments are welcome…
If you have any questions, bug reports or you would like to collaborate in an open-source version of the project, just comment!