Menu

Tree [r4] /
 History

HTTPS access


File Date Author Commit
 bin 2011-05-12 andrewdickinson [r3] Reverted to g++ compiler as default in Makefile
 src 2011-05-12 andrewdickinson [r4] Fixed sign in piece of code that is never called.
 licence.txt 2011-05-12 andrewdickinson [r1] Initial Revision
 readme.txt 2011-05-12 andrewdickinson [r1] Initial Revision
 testFilonLevy.sln 2011-05-12 andrewdickinson [r1] Initial Revision

Read Me

Filon Levy Option Pricer V1.0

Copyright Andrew Dickinson May 2011

This software is supplied under the Boost Software License Version 1.0 (see ./licence.txt).

1. Overview
The purpose of this software is to provide a simple prototype of the algorithm described in the paper 'Numerical Approximation of Option Premia in Displaced-Lognormal Heston Models' by Andrew Dickinson. The algorithm is not completely trivial to implement and it is hoped that this prototype may be cut-and-pasted into interested parties' libraries (one should consolidate the calls to standard functions here, eg. Black-Scholes pricers and exceptions, with those in your own library). The implementation is not highly optimized but sufficient for most practical purposes. It is not that exhaustively commented, and it is down to the reader to figure out how it is actually working. There may be some basic fiddling necessary to get the code building on your machine (most likely issues related to ensuring you have the correct paths of the boost libraries). Code should build warning-free under microsoft visual studio 2008 and gcc. The code successfully builds under intel linux compiler (although with some 'remarks').

2. Folder Structure
./src/numerics/testFilonLevy
	Contains some example code for calling the analytics
./src/numerics/vanilla
	Contains bulk of the algorithm as well as simple financial analytics (Black-Scholes, implied vol,...)
./src/numerics/numerics
	Contains numerical routines (Filon scheme, Gaussian quadrature scheme)
./src/numerics/utils
	Contains an exception class
./bin
	Contains Makefile for building under linux
./
	Contains visual studio 2008 express solution

3. Dependencies:
3.1 Dependency structure is :
	testFilonLevy 	depends on: 	vanilla, numerics, utils
	vanilla		depends on: 	numerics, utils
	numerics		depends on:	utils
	utils

3.2 External dependencies:
	boost (distribution and timer)
	stl

NB: VS projects and makefile need to be updated to point to a suitable version of boost (NB code only depends upon boost headers)

4. Building and Executing
4.1 Under Linux
	Go to /bin
	type make (any problems then suitably modify ./bin/Makefile).
	To run type ./testApprox

4.2 Under Windows
	Download visual studio express and open solution
	Update project settings to point to boost folder
	Build and run

5. Explanation of Extensive Results Labels

'QDelta': q-delta as explained in paper
'K': absolute strike
'lamda': relative strike less 1 (see paper)
'approx': approximation to forward time value based upon algorithm described in paper
'benchmark': benchmark forward time value based upon naive Gaussian quadrature
'RelErr': relative error in forward time value of option
'Bch1E4': approximation of Gaussian quadrature using 1E4 points
'Bch1E6': approximation of Gaussian quadrature using 1E6 points
'Bch2E6': approximation of Gaussian quadrature using 2E6 points
'1qPrice': displaced lognormal price (with no volatility of volatility)
'QIVDK': q-implied volatility of option price using algorithm in paper
'QIVBench': q-implied volatility of option price using 2E6 node gaussian quadrature
'AbsErr': absolute error in q-implied volatility
'IVDK': implied volatility of option price using algorithm in paper
'IVBench': implied volatility of option price using 2E6 node gaussian quadrature
'AbsErr': absolute error in implied volatility