BEF Option Pricing Documentation

Introduction

This project was written for Financial Market Modeling (Modelowanie Rynkow Finansowych).
The main idea of the project is to implement two most important algorithms for European option pricing: Black-Scholes-Merton and Binomial Tree.

Both of those algorithms have two versions: one on the CPU (standard way of computation) and one on the GPU. Version on the GPU is usually much faster then CPU. The application gives a lot of options so that user can compare not only algorithms but also GPU vs CPU implementations.


Go to Computations for Option Pricing to understand patterns and algorithms for option pricing.
Go to Sample Screens to see some screenshots of the application.

Requirements

Application was developed on Notebook with GeForce 8600M GT, Core2Duo 2.2 ghz, Windows 7
to run the app you need:

Usage

GUI description:

info.jpg



Mouse:

Keyboard:

Architecture Overview

The project is based on the BEF engine. BEF creates facade on Windows and OpenGL, so that in quite easy steps one can create application based on those technologies. BEF creates window, manages input, swaps buffers, creates texture, shader, mesh managers.
BEF was designed for 3D applications in mind, but after several small changes it was easy to create more "static" application like for drawing diagrams...


The project consists of three important parts: "Option Generator", "Pricing Algorithms" and "Graph3D".

"Option Generator"

Options::GenParams is used to represent variuos params for options. Usually program creates NxN options so that each option differs by two params. That way we can calculate price of option that have, let say, fixed strike price and different expiration time and asset price.

"Pricing Algorithms"

Application has four algorithms for option pricing:

GPU implementations are made using OpenCL. See BinomialOptions.cl and BlackScholesMerton.cl.

When user presses Compute button all of those algorithms are executed. That way we can see and compare differences between them.

"Graph3D"

Graph class is used to draw a 3D graph based on call or put price. Aditionally user can select one quad ot the grid and see exact computed params for it.

References

This project was build with the help of:

Generated on Fri Feb 26 10:08:23 2010 for BEF Option Pricing by  doxygen 1.6.3