Institut für
Wirtschaftsinformatik
Home
WARRANT-PRO-2: A Software-Package for Evaluation, Design and Optimization of Options
Written by Michael H. Breitner   
Donnerstag, 04 Januar 2007

Deutsche Kurzfassung: Numerische Simulation, Design und numerische Optimierung von Finanzderivaten (WARRANT-PRO-2): Der Wert von Finanzderivaten kann näherungsweise mit dem weitverbreiteten Black/Scholes-Modell berechnet werden, wobei für nichttriviale Auszahlungsbedingungen die partielle Black/Scholes-Differentialgleichung (parabolisch, Diffusionstyp) mit diskretisierten Randbedingungen und diskretisiertem Gitter numerisch zu lösen ist. Die Lösung erfolgt mit dem Crank-Nicholson Verfahren und die Optimierung der Auszahlungsbedingungen kann mit einem Hochleistungs-SQP-Verfahren durchgeführt werden. WARRANT-PRO-2 ist FORTRAN 77 basiert, arbeitet mit einer MATLAB-Oberfläche und läuft zurzeit auf LINUX-Betriebssystemen. Ziel ist ein komplettes Softwarereengineering, so daß WARRANT-PRO-2 mit dynamischer Speicherallokation auch unter Windows XP lauffähig wird.

Design and development: Michael H. Breitner with Tobias Burmester (now SAP, Release 0.1, This e-mail address is being protected from spam bots, you need JavaScript enabled to view it ) and Oliver Kubertin (now Hannoversche Lebensversicherung, Release 0.2, This e-mail address is being protected from spam bots, you need JavaScript enabled to view it )

Prologue: The name WARRANT-PRO-2 comes from "warrant", "professional" and "second" tool. Warrants are securitised options that can be traded on stock exchanges similarly to shares and bonds. Today, warrants are very popular in Germany and other countries, see, e. g., www.citiwarrants.com. Professional means that a typical user is an expert in financial derivatives. These experts usually work for a warrant issuer, OTC (= over the counter) option seller or an option buyer controlling large or huge amounts of money. The parallel WARRANT-PRO-1 project started in 1997, but is still in its infancy. WARRANT-PRO-1 can compute market prices, e. g. for options, on the basis of some or very many collected market data. In WARRANT-PRO-1 artificial neural networks are used to learn market prices, see the FAUN neurosimulator (in German) and the software agent PISA (in German). In the future WARRANT-PRO-1 and WARRANT-PRO-2 will be joined to only one common WARRANT-PRO platform.

WARRANT-PRO-2 (Release 0.1): The development of WARRANT-PRO-2 started in 1999. Release 0.1 was completed at the end of 2000, see M. H. Breitner and T. Burmester (2002), Optimization of European Double-Barrier Options via Optimal Control of the Black-Scholes-Equation, in P. Chamoni et al. (Eds.), Operations Research '01, pp. 167 - 174, Springer, Berlin. The primary goal was to optimize cash settlements for European double-barrier options and warrants. From the viewpoint of financial mathematics, the boundary conditions of the partial differential Black-Scholes equation are parameterized. Then the Black-Scholes equation was solved with a numerical Crank-Nicholson scheme and the parameters were optimized by nonlinear programming, i. e. by the advanced sequential quadratic programming (SQP) method NPSOL provided by P. E. Gill, San Diego, et al. The performance index - to be minimized - is the option?s deviation from a predefinable Delta for a set of up to 8 volatilities.

WARRANT-PRO-2 (Release 0.2): The development of Release 0.2 started in spring 2002. In the upgraded version various improvements are made and new features are implemented. The kernel is still coded in ANSI FORTRAN 77 to assure portability, see www.fortran.com for ANSI FORTRAN standards. Public domain and freeware ANSI FORTRAN 77 compilers are available for all computer platforms, see www.fortran.com, too.

 

b4

Modern software engineering techniques focus on software quality. Todays software quality requirements primarily include efficiency, maintainability, portability, functionality, reliability and user friendliness.

 

b5

Now an upgraded Crank-Nicholson scheme is used, which is a combination of an explicit and an implicit finite difference method. The global error order of the Crank-Nicholson scheme is now quadratic in time (option's time to maturity) and space (market price of the option's underlying). The convergence of the upgraded Crank-Nicholson scheme for all relevant inputs and parameters has been proven by O. Kubertin in his diploma thesis (finished March 2003). Evaluations of a double-barrier target option are shown in the following three figures (DAX option example):

 

b1

 

b2

 

Double-barrier target option: Various volatilities

The main memory (RAM) allocation is reduced by the choice of 9 different, precompiled modes. Dependent on the fineness of the Crank-Nicholson grid and the fineness of the boundary conditions' parameterization the user can limit the RAM allocation. For the parameterization 10 (rough), 19 (moderate) and 37 (fine) equidistant points are available, see the figure below. Different interpolation methods between the points are selectable: Linear, (cubic) spline and (cubic) Hermite-spline, see the figure below, too.

 

b8

The gradient of the performance index is needed in order to minimize the performance index with the SQP method NPSOL. The gradient is now computed highly accurate, i. e. with the Crank-Nicholson scheme's accuracy. Automatic differentiation - also called algorithmic differentiation - instead of numerical differentiation is used. Automatic differentiation is concerned with the accurate and efficient evaluation of derivatives for functions defined by computer programs. No truncation errors are incurred and the resulting numerical derivative values can be used for all scientific computations. Chainrule techniques for evaluating derivatives of composite functions are used. Automatic differentiation today is applied to larger and larger programs, e. g. for optimum shape design. In many such applications modeling was restricted to simulations at various parameters settings. Today, with the help of automatic differentiation techniques, this trial and error approach can be replaced by a more efficient optimization w. r. t. modes, design and control parameters. Alternatively computer algebra systems, e. g. MAPLE, see www.maplesoft.com, can be used to calculate analytic derivatives for functions. Here, based on the ANSI FORTRAN 77 code for the computation of the performance index efficient ANSI FORTRAN 77 code for the gradient computation has been generated. For the code generation ADIFOR 2.0, see www.autodiff.org, has been used. The gradient of the performance index can be computed relatively cheap in comparison to the numerical differentiation used in WARRANT-PRO-2 (0.1). Summarized the new ANSI FORTRAN 77 kernel is about 10 to 20 times faster compared to the kernel of Release 0.1. The robustness of the convergence of the SQP method NPSOL has improved significantly due to the significantly higher accuracy of the gradient. The reduced RAM allocation enables the usage of older computers with only 32 or 64 MB RAM. Moreover smaller problems can be stored completely in large level-2 or level-3 cache memories (4 MB or more). If so, an additional speed up of 2.5 to 3 is gained.

On the one hand, programming a user friendly GUI is very important for modern software, on the other hand the GUI programming usually is very time consuming and often a mandatory GUI reduces portability. A well-designed GUI should be intuitively obvious to the user. Providing an interface between user and application, GUIs enable users to operate the application without knowing commands and/or formats required by a command line and/or file interface. Thus applications providing GUIs are easier to learn and easier to use.

Tools for semi-automatic and fast setup of GUIs - also called rapid application development (RAD) tools - are a compromise, e. g. Borland Delphi 7 Studio Enterprise, see www.borland.com/delphi, or MATLAB Release 13, see www.mathworks.com. For the WARRANT-PRO-2 (0.2) GUI the MATLAB GUIDE and and MATLAB Compiler have been used to generate C and C++ code. The C and C++ code has been compiled and linked with the MATLAB run-time libraries. A stand-alone executable for LINUX PCs and laptops was built which calls the compiled kernel program. The stand-alone application runs even if MATLAB is not installed on the end-user's system. Internal information flows via input and output files. The file concept has the important advantage that the compiled kernel program of the Release 0.2 runs without GUI, too. Remote logins on LINUX compute servers are possible for time-consuming computations. A stand-alone application for WINDOWS computers can be compiled and linked analogously.

The GUI provides several windows: The main window, the boundary conditions' window, the multiple volatilities window and the 1-dimensional, 2-dimensional and 3-dimensional graphics windows, see the figures below and also above (screenshots).

 

b6

 

Window for multiple volatilities

 

b9

 

Window for the limits of the boundary conditions

Unless originally designed to optimize cash settlements, WARRANT-PRO-2 (0.2) proved to be very useful and comfortable also for the computation of Black-Scholes values without optimization, see the figures above for a DAX option with a target. The most important option greeks can be evaluated and plotted easily, too. Optimized options are depicted in the figures below. In the next figure a very interesting solution with Delta = 1 is shown which also can be calculated analytically, see M. H. Breitner and T. Burmester (2002), Optimization of European Double-Barrier Options via Optimal Control of the Black-Scholes-Equation, in P. Chamoni et al. (Eds.), Operations Research '01, pp. 167 - 174, Springer, Berlin.

 

b11

 

b12

 

b13

Conclusions: European double-barrier options are very flexible and powerful options which can revolutionize modern financial markets. WARRANT-PRO-2, currently an uncommercial software, proved to be an ideal tool to design and to optimize the cash settlements and to visualize an option's Black-Scholes value and option greeks. Moreover, for given cash settlements an option's value and the option greeks can be computed fast and comfortably. Interested visitors can contact M. H. Breitner to get a freeware trial version of WARRANT-PRO-2 (0.2).

Slides: M. H. Breitner and O. Kubertin have presented WARRANT-PRO-2 at the OR 2003 (Annual International Conference of the German Operations Research Society (GOR)), Universität Heidelberg, September 3 - 5, 2003, in the section Finance, Banking and Insurances organized by Prof. Dr. S. Trautmann, Johannes Gutenberg-Universität Mainz. The slides can be downloaded as a PDF-file (1.9 MB).

WARRANT-PRO-2 publication: A paper by M. H. Breitner and O. Kubertin submitted for publication in the OR 2003 Proceedings, the slides of the talk presented at the OR 2003 and the abovementioned paper by M. H. Breitner and T. Burmester are collected in the IWI Discussion Paper #5 WARRANT-PRO-2: A GUI-Software for Easy Evaluation, Design and Visualization of European Double-Barrier Options (September 12, 2003). A copy of the IWI Discussion Paper #5 is available from M. H. Breitner .
Last Updated ( Freitag, 24 August 2007 )