Black-Scholes Option Pricing in Virtual Reality


This application was developed during the summer of 2000, as a joint project between the VR Applications Center and the Iowa State University College of Business.  Its purpose is to visualize the Black-Scholes Options Pricing Formula (BSOPF).This is a prototype application intended to demonstrate the potential uses of VR for business. The application could eventually be modified in many ways, here is a small sampling:

Formulas

The BSOPF formula is a function of five variables:

S: Underlying security price
X: Excise price
T: Time to maturity of the option, 0<=T<=1
r: Rate of interest, r<=1
sig: Underlying security price volatility, usually represented by the greek letter Sigma

BSOPF is continuous in time and can be used to determine the price of a call option as follows:

c(S,X,r,T,sig) = SN(d1) - Xe rT N(d2)

where
d1=(ln(S/X) + (r+.5sig2)T)/(sig*sqrt(T))
d2=d1-sig*sqrt(T)
N(d1)=standard normal distribution function evaluated at d1

Also, the price of a put option can be determined by using the call function as follows:

p(S,X,r,T,sig) = -S + XerT + c(S,X,r,T,sig)
 

The VR environment

This application was developed primarly for use in the C6 VR device. However, it was written using the VR Juggler libraries, so it can easily be run in other devices such as the C2, HMDs, and VR theaters. The following picture shows a scene from the application, displaying the call value surface.

The x-axis (runs from left to right) represents the variable S, 25<=S<=80.
The z-axis (runs perpendicular to the monitor screen) represents the variable sig, 0.1<=sig<=0.6
The vertical axis represents the value of the call function.
For example, in the front, lower, left corner of the box S=25, sig=0.1. The resulting value of the call function is 0, so the value plotted for the surface at this location is 0. All of the points on the surface have the same value for T and the same value for X.
 

JAIVE Interaction

The JAIVE project allows a user to interact with a virtual environment using a palmtop computer. Because interaction methods in virtual worlds have not yet been standardized, the use of a palmtop computer running a Windows system allows the user to work in an interaction paradigm he is already familiar with. Additionally, for this project, the palmtop allows the user to finely manipulate numerical data - a task which is often difficult in virtual worlds. The palmtop device used for this project is shown below. More information about it can be found on the JAIVE pages.

Using the palmtop, the user can make modifications to the virtual environment. For example, the user can change the color of the surface being displayed. The following is a JAIVE window which appears on the palmtop and allows the user to choose a color for the surface. A movie demonstrating what happens in the virtual world when the user chooses a new color is available in .avi(425 KB) or quicktime(587 KB) format.

On the JAIVE window, the other tabs can selected to bring up a new set of choices. The Price menu allows the user to set the value of the variable X used in calculating the surface. The Time menu allows the user to set the value of the variable T. Below is a scene where T has been set so that the option is at maturity. This produces a very different surface from the one seen earlier.


 

Under the Operations menu, a user may choose to view an animation of the surface through time, as the option moves towards maturity. A movie of this animation is available in .avi(812 KB) orquicktime(1.2 MB) format. Also under the Operations menu, the user may select to display either the call surface or the put surface. A sample put surface is shown below. Additionally, the user may select to display a combination surface where the value of the combination surface at each point is equal to the value of the call surface + the value of the put surface at that point. This demonstates the capability of the application to eventually display surfaces representing the value of an entire portfolio consiting ofmany different call and put options. An example combination surface is shown below the put surface image.


The XAxis and ZAxis menus allow the user to set the minimum and maximum values of these axes. For example, the user may want to have 10<=S<=100 instead of the default values of 25<=S<=80. Also, these menus allow the user to set the number of increments used when drawing the surface. A smaller number of increments will result in a surface which is less finely detailed but may be drawn more quickly. A movie showing the number of increments being modified is available in .avi(1 MB)or quicktime(1.9 MB) format.

This page describes many, but not all, of the application features. For questions or further information, please contact the appropriate person from the list below:

VR implementation and application details
Laura Arns, arns@vrac.iastate.edu

Business College contact
Brian Mennecke, mennecke@iastate.edu

Other VRAC project personnel:
Carolina Cruz-Neira, cruz@iastate.edu

Other Business College personnel:
Gary Koppenhaver, gkoppy@iastate.edu
Dermot Hayes, dhayes@iastate.edu
William Dilla, wdilla@iastate.edu



last updated 4/4/01