Nine Ways to Calculate Binomial Tree Option Value Using Matlab

Submitted by: Submitted by

Views: 10

Words: 7063

Pages: 29

Category: Business and Industry

Date Submitted: 02/13/2016 02:53 PM

Report This Essay

c 2002 Society for Industrial and Applied Mathematics

SIAM REVIEW

Vol. 44, No. 4, pp. 661–677

Nine Ways to Implement the

Binomial Method for

Option Valuation in MATLAB∗

Desmond J. Higham†

Abstract. In the context of a real-life application that is of interest to many students, we illustrate

how the choices made in translating an algorithm into a high-level computer code can

affect the execution time. More precisely, we give nine MATLAB programs that implement the binomial method for valuing a European put option. The first program is a

straightforward translation of the pseudocode in Figure 10.4 of The Mathematics of Financial Derivatives, by P. Wilmott, S. Howison, and J. Dewynne, Cambridge University

Press, 1995. Four variants of this program are then presented that improve the efficiency

by avoiding redundant computation, vectorizing, and accessing subarrays via MATLAB’s

colon notation. We then consider reformulating the problem via a binomial coefficient

expansion. Here, a straightforward implementation is seen to be improved by vectorizing,

avoiding overflow and underflow, and exploiting sparsity. Overall, the fastest of the binomial method programs has an execution time that is within a factor 2 of direct evaluation

of the Black–Scholes formula. One of the vectorized versions is then used as the basis for

a program that values an American put option. The programs show how execution times

in MATLAB can be dramatically reduced by using high-level operations on arrays rather

than computing with individual components, a principle that applies in many scientific

computing environments. The relevant files are downloadable from the World Wide Web.

Key words. algorithm, American option, Black–Scholes, European option, optimization, overflow,

underflow, vectorization

AMS subject classifications. 65-01, 65Y20

PII. S0036144501393266

1. Introduction. This paper is about the efficient implementation of algorithms.

We use a case study based around the...