0% found this document useful (0 votes)
8 views

Accounting For Employee Stock Options - Accelerating Convergence

Uploaded by

kamyuenky
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Accounting For Employee Stock Options - Accelerating Convergence

Uploaded by

kamyuenky
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

Accounting for Employee Stock Options: accelerating

convergence.
Brian Byrne, Qianru Shang and Yinqiu Zhang
January, 2018

Hull and White (2004) have developed a lattice pricing model that makes explicit reference to
parameters that are not available in Black Scholes (1973) yet are important for the valuation of
Employee Stock Options (ESOs). Cvitanic, Wiener and Zapatero (2008) point out that a key
weakness of the lattice approach, when applied to valuing ESOs, is the sluggish convergence
not generally experienced in trees configured to estimate plain vanilla options. Cvitanic,
Wiener and Zapatero (2008) propose a very useful closed form solution which may or may not
be endorsed by a whole host of regulatory and professional bodies. In this paper, we propose a
small refinement to Hull and White (2004), based on insights developed by Boyle and Lau
(1994) which ensures faster convergence in lattice estimation when barriers occur. Our model
provides estimates consistent with Cvitanic, Wiener and Zapatero (2008). The proposed model
should also neatly fit into the rubric currently prescribed by the American Financial Accounting
Standards Board (FASB) and endorsed by the Securities and Exchange Commission (SEC).
We also apply a number of truncation techniques to the lattice which removes the zero region
of the tree. We truncate the ESO lattice above the early exercise boundary, peculiar to Hull
White (2004), and dynamically specify the lattice array to spare memory and reduce estimation
time.

JEL: G30, G34, J31, J33

Email Adresses:
[email protected]
[email protected]

Electroniccopy
Electronic copy available
available at:
at: https://ssrn.com/abstract=3098879
https://ssrn.com/abstract=3098879
1. Introduction

Rubinstein (1995) identified key hallmark features that distinguish Employee Stock Options

(ESOs) from other plain vanilla options. ESOs usually have longer maturities of 10 years. They

have vesting periods when the option cannot be exercised. The option structure is a hybrid with

a blend of European and American exercise rights.1 Departure by executives from the company

prior to vesting leads to forfeiture.2 Recipients of ESOs cannot hedge their option position

using dynamic replication or put options. ESOs cannot be viewed as trading in “complete

markets” as generally understood to exist in the Black Scholes (1973) framework.

Hull and White (2004) developed a binomial tree approach to determine the fair value of

Employee Stock Options at the time of their issuance. Their model explicitly considered the

vesting period, the possibility that the optionee will leave the company prior to maturity and/or

vesting. The Black and Scholes (1973) model was originally developed to value European

options. SAB 107, SAB 1103 and FASB 123R all permit the use of Black and Scholes (1973)

to estimate fair value or time value when preparing company financial reports. ESOs however

typically proffer (a) a vesting period during which the call options cannot be exercised but can

be forfeited (b) that a post-vesting exercise of the option is possible even though in some

instances suboptimal (c) non-transferability of the option to third parties and (d) as being non-

hedgeable by taking a short stock position in the company stock. Optionees are not permitted

to sell their ESOs. They can however exercise the option and subsequently sell the company’s

shares to crystallise a cash pay-out. ESOs are necessarily by construction call options: to align

the interests of all stakeholders. Hull and White (2004) makes explicit conditions under which

optionees will exercise early. In practice, this behaviour is not atypical and in part may be

1
We will argue that ESOs have significant features in common with barrier options.
2
The vesting period can run up to 4 years.
3
https://www.sec.gov/interps/account/sab110.htm and more recently SAB 114.

Electroniccopy
Electronic copy available
available at:
at: https://ssrn.com/abstract=3098879
https://ssrn.com/abstract=3098879
explained by the desire to obviate the build-up of portfolio imbalances. Hull and White (2004)

append to the Cox, Ross and Rubinstein (1979) framework much of the guidance set forth by

FAS 123 that encouraged fair value accounting. FASB ASC 718 instructs the accountancy

profession to implement option pricing models that are consistent with (1) fair value

measurement (2) established principles of financial theory and (3) reflect all the substantive

characteristics of option remuneration. Subsequently, S.E.C. staff expressed support for the

flexibility embedded in FASB ASC 718. The Black Scholes (1973) and lattice models are

viewed as the appropriate valuation tools that comply with (1) – (3). Lattice models are

generally considered to provide a sounder theoretical treatment. Accountants nevertheless

commonly rely on Black and Scholes (1973) because considerable costs are incurred in

switching to a binomial framework.4 One cost, in particular, has been well documented by

Cvitanic, Wiener and Zapatero (2008).

Binomial trees that embed Hull and White (2004) parameters inputs are slow to converge and

are much slower than conventional Cox, Ross and Rubinstein (1979) trees. This imposes

nontrivial costs on analysts who wish to expedite valuation. Cvitanic, Wiener and Zapatero

(2008) estimate a Hull and White (2004) tree and found that even after 40,000 steps the tree

had not converged to “True”.5 In this paper, we propose a small refinement to Hull and White

(2004) based on insights developed by Boyle and Lau (1994) which ensures faster convergence

using lattice techniques. Our lattice model provides estimates that are consistent with Cvitanic,

Wiener and Zapatero (2008) without the computational costs associated with the lattice

framework that they developed in their paper.

4
Companies are permitted to choose between Black and Scholes (1973) and lattice techniques.
5
The execution speed of 3,000 steps with 2011 Mac Book pro Core i7 was clocking less than one minute. 40,000
steps was clocking close to one hour using C++ and Apple’s proprietary Xcode IDE. In comparison, Black Scholes
(1973) is not computationally intensive and executes generally without any observable lag. In the appendix, we
outline some techniques to truncate the ESO lattice and we dynamically define the binomial array.

Electronic copy available at: https://ssrn.com/abstract=3098879


2. A Pricing Model for Employee Stock Options

The original pricing model proposed by Hull and White (2004) was conceived as an

“Enhanced FASB 123” model. Adhering to the notation developed by Hull and White (2004),

e was explicitly applied as an estimate of employee turnover (exit) which was used in both the

pre-vesting and the post-vesting period. The “Enhanced FASB 123” model incorporated early

exercise by assuming that this would occur automatically when the stock price was a certain

multiple M of the exercise price K. The Hull and White (2004) model reconfigures the Cox,

Ross and Rubinstein (1979) binomial tree to incorporate added conditions for calculating the

value of the option at each node.6 𝑣 denotes the vesting period expressed in years. There are N

steps of 𝛿𝑡 length.7 Hull and White (2004) specified that:

(i) the option can be exercised in the post vesting period (𝑖𝛿𝑡 > 𝑣)

(ii) the vested option is exercised when the stock price S ≥ M*K, (𝑖𝛿𝑡 > 𝑣)

(iii) the product of the time step 𝛿𝑡 and e can be used to estimate the probability of

forfeiture in the vesting period moving from node to node (𝑖𝛿𝑡 < 𝑣).

(iv) in the post vesting period the probability 𝑒𝛿𝑡 captures the probability that the option

is forfeited if S < K or exercised early to realise S – K if S ≥ K. K here denotes the

strike or exercise.

These conditions are imposed on the conventional Cox, Ross and Rubinstein (1979) tree. See

Figure 2. Here again, we follow the notation set out by Hull and White (2004). At each node

of the tree, there is a specific array reference (i, j) for the respective stock price 𝑆𝑖,𝑗 in the

6
For a very intuitive approach for understanding the array mapping of Cox, Ross and Rubinstein (1979) read Gilli
and Schumann (2009), p. 4. Figure 1 here is a slightly more elaborate representation of the binomial tree
structure. We also recommend Hull (2015) to get an overview of the ESO and lattices techniques. Haug (2007)
provides VBA code to estimate a variety of binomial and trinomial trees. Benninga (2014) also provides an
overview of ESO estimation and VBA code for estimation. In the Appendix, the first C++ snippet provides a simple
Hull White (2004) implementation based on Gilli and Schumann (2009) array mapping and Benninga (2014).
7
𝑆𝑖,𝑗 denotes the stock price at node (i, j). 𝑆𝑖,𝑗 = 𝑆𝑢 𝑗 𝑑 𝑖−𝑗 can be used to estimate iteratively the node values
on the tree grid. 𝛿𝑡 = 𝑇/𝑁 where T is the full ESO maturity.

Electronic copy available at: https://ssrn.com/abstract=3098879


recombining tree. The value of the option at time period 𝑖𝛿𝑡 generated by backward induction

is given by 𝑓𝑖,𝑗 .

𝑓𝑁,𝑗 = max(𝑆𝑁,𝑗 − 𝐾, 0) (1)

The “Enhanced FASB 123” model specifies:

If (𝑖𝛿𝑡 > 𝑣) and 𝑆𝑁,𝑗 ≥ 𝐾𝑀 then

𝑓𝑖,𝑗 = 𝑆𝑖,𝑗 − 𝐾 (2)

If (𝑖𝛿𝑡 > 𝑣) and 𝑆𝑁,𝑗 < 𝐾𝑀 then

𝑓𝑖,𝑗 = (1 − 𝑒𝛿𝑡)𝑒 −𝑟𝛿𝑡 [𝑝𝑓𝑖+1,𝑗+1 + (1 − 𝑝)𝑓𝑖+1,𝑗 ] + 𝑒𝛿𝑡𝑚𝑎𝑥(𝑆𝑖,𝑗 − 𝐾, 0) (3)

If (𝑖𝛿𝑡 ≤ 𝑣) then

𝑓𝑖,𝑗 = (1 − 𝑒𝛿𝑡)𝑒 −𝑟𝛿𝑡 [𝑝𝑓𝑖+1,𝑗+1 + (1 − 𝑝)𝑓𝑖+1,𝑗 ] (4)

The Hull and White (2004) model nests (1) – (4) in a Cox, Ross and Rubinstein (1979)

framework. Figure 2 deconstructs the Hull and White (2004) model, into varying domains

mapped to a standard binomial tree. (1) – (4) can be mapped to vesting and post vesting periods

with an early exercise boundary K*M posited here as a barrier. We proceed by estimating plain

vanilla trees to largely gauge the typical speeds of convergence that can be expected. In the

absence of (1) – (4), backward induction can be handled comfortably even within an

unsophisticated spreadsheet. In what follows, plain vanilla European options are juxtaposed

against a standard implementation of Hull and White (2004). A routine execution of Hull and

White (2004) can however be slow to converge (see Figure 12), so much so, the binomial tree

dimensions must be rescaled to provide a dramatically finer mesh with substantial

computational costs incurred that are likely to deter extensive use of lattice techniques.8

8
We make use of Boyle Lau (1994) specifications to improve the feasibility of ESO lattice estimation. A straight
application of Hull and White (2004) in spreadsheets can be largely impractical when a high level of accuracy is
required. The barrier produces nonlinearity error which can not be easily overcome by relentlessly increasing
the step size. In the Appendix, we add some additional improvement in terms of estimation using truncation
and by redefining the two-dimensional tree to being one dimensional. One dimensional arrays absorb much less
computer processing. In the Appendix, we elaborate somewhat on how some computer science concepts find
useful application in estimating the ESO lattice.

Electronic copy available at: https://ssrn.com/abstract=3098879


3. Estimating the Binomial and Trinomial trees for Plain Vanilla Options

Estimating the binomial model using a Cox, Ross and Rubinstein (1979) tree is quite

straightforward and convergence to a “true value” does not typically present any particular

estimation issues. 9 This type of estimation can be made in a spreadsheet or any standard

Integrated Development Environment (IDE).10 For a European option where the regular Black-

Scholes assumptions apply, we have an exact closed form solution. This is important because

it clearly permits some co-ordination between convergence i.e. as N → ∞, 𝑓0,0 → Black-

Scholes. Selecting N that produces an acceptable proximity to true can be gauged by reference

to the closed form solution. Cox, Ross and Rubinstein (1979) embeds all the main assumptions

of Black and Scholes (1973) and establishes risk neutral conditions in discrete time. Notable

contributions to the lattice literature include Boyle (1986) and Leisen and Reimer (1996). Boyle

(1986) introduced the Trinomial tree which is more flexible in structure because it permits

stock movements of up, down and no change. All else being equal, we would expect the

trinomial tree to converge with fewer steps. Also, Leisen and Reimer (1996) implement

approximations to the normal distribution using Peizer-Pratt inversions. Leisen and Reimer

(1996) work with an odd number of steps and we write our code to convert even numbers to

odd numbers in our estimations.

3.1 The Plain Vanilla European Call

We set out, here initially, to estimate the value of a plain European option using a variety of

lattice models and observe the pattern of convergence to the “True” value. The Black and

8
See https://goo.gl/TU68co and https://goo.gl/BkpHbL. Valuation of Plain Vanilla options using trees does not
pose any particular difficulties in terms of slow convergence. Accuracy can be assured with a relatively low
specification for time steps.
9
We estimated our models using Excel VBA, Visual C++ and Xcode C++. We also developed a number MFC C++
apps which we will make available on request.

Electronic copy available at: https://ssrn.com/abstract=3098879


Scholes (1973) model provides an important benchmark for gauging the accuracy of varying

tree specifications and to determine convergence speed. The focus here initially will be on the

Cox, Ross and Rubinstein (1979) tree (CRR) because it will be applied here extensively to

value the European Call, the ESO using Hull and White (2004) and Hull and White (2004)

refined for barriers. Leisen-Reimer (1996) and Trinomial trees are also developed as

analogues. 11 The CRR construction and array mapping is consistent with the structure

explained by Gilli and Schumann (2009). This will be true for the CRR, Leisen-Reimer vanilla

European and ESO trees. The latter are estimated using the Hull and White (2004) model and

subsequently we refine the Hull and White (2004) model by applying insights developed by

Boyle and Lau (1994) relating to valuing barrier options. We initially estimate the value of the

European Option with the following parameter inputs: S (Stock Price) = 100, K (Strike) = 100,

T (Maturity) = 10 years, Sigma (Volatilty) = 0.2, r (risk free rate) = 0.06.12 In Table 1, we

report the values of the Cox, Ross and Rubinstein (CRR), Leisen-Reimer (LR) and Trinomial

trees. Boyle (1986) originally proposed a Trinomial lattice.13 We note that convergence to

Black Scholes (at a low number of steps) is fastest using Leisen and Reimer (1996).

A CRR Recombining Tree is presented in Figure 1. This is consistent with the structure and

array mapping explained by Gilli and Schumann (2009).14 Each of the nodes can be obtained

by calculating iteratively:

𝑆𝑖,𝑗 = 𝑆𝑢 𝑗 𝑑 𝑖−𝑗 (5)

11
Roauh and Vainberg (2007) provide a full explanation of these techniques. Also the Volopta website
http://www.volopta.com/ provides a large number of executable code implementations of tree techniques.
12
We do not however use R or Matlab code provided by Gilli and Schumann (2009). Instead, we use VBA and
C++. Benninga (2014) provides sample VBA code for estimating ESOs based on Hull White (2004). We found this
to be a good starting point. It also converges slowly to “True” based on Cvitanic, Wiener and Zapatero (2008).
13
Implementations of Leisen Reimer and Trinomial models are available in Haug (2007) and Rouah and Vainberg
(2007). Hull (2015) also explains in depth Lattice estimation procedures and has a full chapter devoted to
Employee Stock Options.
14
Gilli and Schumann (2009) provide a useful primer for understanding lattices and array mapping.

Electronic copy available at: https://ssrn.com/abstract=3098879


and we implement the same (i, j) tree ordering for each of our CRR trees and for each of our

Hull and White (2004) trees.15 The modified Hull and White (2004) model, we introduce later,

will also be nested in a CRR tree that follows initially the same array mapping explained by

Gilli and Schumann (2009). The main finding of interest in Table 1 relates to the convergence

behaviour of each of the trees relative to Black-Scholes: (which we take as “True”). Using a

criterion of two decimal places accuracy, we find in Table 1 that each of the trees will all round

to a value of 49.29 for the European call by 2,500 steps. N represents the number of steps. Tree

performance in terms of convergence however differs markedly. In Figure 3, it is noticeable

that the Leisen and Reimer (1996) tree results are visually indistinguishable from Black-

Scholes with a relatively small number of steps and only in Figure 4 when we adjust the vertical

axis can the outline of both be really observed. The Trinomial and CRR models converge in a

less rapid fashion. Applying an arbitrary criterion of 2 decimal place accuracy the Trinomial

model converges at around 1,200 steps and CRR at around 2,500 steps. This can also be

observed in Figure 5. Again, note the vertical axis has been adjusted. The convergence

behaviour of a plain vanilla option as reported in Table 1 is marked by relatively fast progress.16

In the next section, we can contrast this with the results reported in Tables 2 and 3 where ESO

convergence using Hull and White (2004) is significantly slower and spreadsheet estimation

becomes largely impracticable.

4. Estimating the value of Employee Stock Options based on Hull and White (2004)

Cvitanic, Wiener and Zapatero (2008) point out that Hull and White (2004) rely on CRR

numerical methods to compute the value of the Employee Stock Option. They find that the

15
The Leisen and Reimer (1996) trees have the same array mapping. The Trinomial model has a different array
mapping.
16
Excel estimation is entirely feasible and only small lags are noted time wise in running estimations. The
much higher step range engendered in Table 2 impose longer lags and as step size increase we experienced
growth in time lags. Excel and most commercial software will tend to crash as the larger step size is invoked.

Electronic copy available at: https://ssrn.com/abstract=3098879


Hull and White (2004) model converges very gradually and non-monotonically (which also

creates problems for hedging computations). Cvitanic, Wiener and Zapatero (2008) p. 39 of

their paper reveal that convergence to “True” of a standard binomial implementation of Hull

and White (2004) to be remarkably slow. In fact, at 40,000 steps the binomial ESO estimate

Cvitanic et al (2008) obtained was 27.9291, when the “True” value was 27.8551. That would

appear to be well beyond the 2,500 steps order of convergence we reported in Table 1 of this

paper based on CRR trees.17 This finding may help explain why in practice Accountants and

other actors subjected to current American and European regulatory regimes may be slow to

switch from using a Black Scholes type framework despite the latter being acknowledged as

flawed for the purposes of estimating the value of ESOs. To give some scale of the estimation:

when the number of time steps is equal N (counting from 0), the number of nodes in the CRR
18
tree is equal to (𝑁 + 1)(𝑁 + 2)/2 . Estimation beyond 20,000 steps becomes

computationally intensive for regular desktop computing resources and likely unrealistic for

those who have multiple option issues to frequently synthesize into Financial Reports within

short time frames. 19 This may, in part, explain the reluctance of the FASB and SEC to

exclusively impose a standard lattice framework on professional practitioners when valuing

ESOs. The SEC point to some theoretical evidence when providing this latitude.20

17
Direct comparisons in terms of convergence is not completely feasible. Broadie and Detemple (1996) when
estimating American options set out a benchmark of 15,000 steps to approximate true. It is clear from Figures
12 and 13 that convergence of Hull and White (2004) requires a relatively higher benchmark number of steps.
18
See Haug (2007) p.286. N = 40,000 steps would imply in excess of 800 million (i, j) nodes!!
19
In our version of Microsoft Visual Studio Community 2017, C++ code did not execute at 30,000 steps without
requests to reconfigure software specifications. Excel VBA crashed at 20,000 steps however some additional
tweaking of code would have allowed higher specifications. In the Appendix, we pursue this approach. We
provide three snippets of code that followed the evolution of our project to estimate Hull and White (2004) and
then added refinements through optimization. Our initial coding was plagued by an inability to get to an
appropriate level of accuracy within reasonable runtimes.
20
SAB Topic 14 provides some guidance “The staff notes the existence of academic literature that supports the
assertion that the Black-Scholes-Merton closed-form model, with expected term as an input, can produce
reasonable estimates of fair value.” See: https://www.sec.gov/interps/account/sabcodet14.htm

Electronic copy available at: https://ssrn.com/abstract=3098879


4.1 Hull and White (2004)

In what follows, we graft on to the Cox, Ross and Rubinstein (1979) tree the Hull and White

(2004) conditions (i) – (iv) outlined from Section 2. We also amend the backward induction

process in the tree to embed (1) – (4) from Section 2. This is not trivial. The effect on the value

of the option is by no means inconsequential.21 In Table 2, we report the value of the Hull and

White (2004) tree using the Cvitanic, Wiener and Zapatero (2008) parameters S = 100, K =

100, T = 10 years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M = 1.5 and e = 0.04. In contrast

to Table 1, convergence in Table 2 is much slower.22 The “True” value of 27.8551 is only

reached with a criterion of two decimal places accuracy when the number of steps in the tree

is raised to 100,000 steps. The large number of steps required to get close to convergence is

problematic.23 Figures 7, 8 and 9 make clear that convergence is slow and non-monotonic. We

also believe that this type of erratic behaviour may influence practitioners to rely more on Black

Scholes type framework despite the latter being only reliable for valuing options with European

expiry/exercise privileges. Cvitanic, Wiener and Zapatero (2008) point out that convergence is

not uniform, thus many estimations of the same tree are typically required to confirm that

convergence has actually taken place.24 The familiar saw tooth pattern commonly associated

with Barrier Options is evidenced in Figure 12. The Hull White (2004) ESO model is estimated

from 10 to 10,000 steps in intervals of 10. It is clear that convergence is difficult to attain, and

a very large step magnitude tree would be required to remove persistent error which manifests

21
See Figure 6. Early exercise and exit leading to forfeiture would all else being equal tend to reduce the value
of an ESO relative to a plain vanilla option.
22
We use the same notation as Hull and White (2004).
23
An accountant or financial analyst would not easily devote the necessary computing resources and time to
extract fair value if the requisite tree step size was of the order of 100,000 nodes.
24
We don’t quite know when we have got there and analysts could be conceivably forced to repeat a number
of implausibly elevated step magnitude trees to confirm actual convergence. Accountants and other
practitioners understandably may feel obliged to accept Black Scholes (1973) based methodologies to estimate
the fair value of option compensation even though the model is not entirely appropriate for ESOs. Perhaps,
“better the devil you know”.

Electronic copy available at: https://ssrn.com/abstract=3098879


itself again and again. To compound matters, a steadily growing number of steps does not

manifestly yield a consistent reduction in error.

4.2 Hull and White (2004) model specifications in Leisen-Reimer and Trinomial Trees

Likewise, from Table 3, a similar pattern of slow convergence is discernible from Leisen-

Reimer and Trinomial trees that were also adapted to embed conditions (i) – (iv) from Section

2. These adaptations reconfigure the Leisen and Reimer (1996) and Trinomial lattice structures

to take on board Hull and White (2004) ESO specifications. All else being equal, one might

expect that convergence would be swifter in these trees given their performance in Table 1 for

plain vanilla valuation. In Table 3, where Hull and White specifications are appended to each

tree, it can be noted that at 3,000 steps the ESO values are far removed from the “True” value

of 27.8551; based on Cvitanic, Wiener and Zapatero (2008). The suggested parameters

common to Tables 2 and 3 do not yield “True” or close to “True” irrespective of tree

configuration. It might also be noted that the rapid convergence of Leisen and Reimer (1996)

observed in Table 1 has vanished from Table 3. It would appear that the persistent error, in this

instance, is not exclusively related to the choice of tree.25

5. Sources of Lattice error

Derman et al (1995) point out that there at least two sources of inaccuracy when modelling

options using a lattice. 26 The first derives from the fact that the lattice is a discrete time

representation of a continuous time process. As the mesh becomes finer, the level of inaccuracy

can be reduced. This we observed in Table 1, as we increased the number of steps. The second

25
The trinomial model nested with Hull and White (2004) specifications would appear to perform best. The
trinomial model has however a finer mesh and takes longer to compute relative to Cox, Ross and Rubinstein
(1979) and Leisen Reimer (1996) of the same step size.
26
Derman et al (1995) refer to “quantization error” and “specification error”. We address the latter using the
Boyle and Lau (1994) procedure.

Electronic copy available at: https://ssrn.com/abstract=3098879


source of bias may be explained by a failure of the lattice to precisely capture the terms of the

option. 27 The Hull and White (2004) model embeds a specification for early exercise. As

mentioned previously, in Section 2: when the stock price S ≥ M*K, the vested option is

exercised (𝑖𝛿𝑡 > 𝑣)

We argue here that M*K represents a form of barrier in the Hull and White (2004) model which

can be triggered at any time in the post vesting period.28 Derman et al (1995) point out that if

a barrier does not coincide with a series of horizontal nodes on the recombining tree then

systematic biases emerge in estimation. This type of ‘specification error’ is identified in Figure

10. One solution proposed by Boyle and Lau (1994) would involve aligning the tree or a series

of horizontal nodes given by 𝑆𝑖,𝑗 = 𝑆𝑢 𝑗 𝑑𝑖−𝑗 to M*K. This necessitates some manipulation of

the array mapping to produce recombined equivalent values that plot close to or at the barrier.

To correct for tree misalignment Boyle and Lau (1994) recommend that the lattice is designed

so that the barrier falls on a series of successive recombining nodes, see Figure 11. This has

the effect of placing the barrier on the nodes and ‘specification error’ as described by Derman

et al (1995) can be mitigated for estimation purposes.

6. Boyle and Lau (1994)

Boyle and Lau (1994) found that the effect of the barrier was to render convergence to be saw

tooth shaped. Typically for barrier options: a consistently increasing step size does not produce

a consistent diminution in error. Boyle and Lau (1994) advocate that the step size be restricted

to values that produce nodes that match the barrier. In other words, N, the number of steps,

should be selected so that an array of recombining nodes, in the tree, line up or nearly line up

27
Derman et al (1995) refer to this as specification error.
28
We interpret the ESO as configured by Hull and White (2004) to embed American barrier exercise privileges.

Electronic copy available at: https://ssrn.com/abstract=3098879


with the barrier defined by M*K. Boyle and Lau (1994) specify that N can be calibrated by

iterating m until N is the smallest integer that is greater than (6) 29

1 2
𝑁 = [(𝑚2 𝜎 2 𝑇)/ln (𝑀) ] for 𝑚 = 1,2 … … (6)

(6) should be re-estimated until a given m produces the desired or close to the desired number

of time steps consistent with M*K. The intuition behind this method is presented in Figure 11.

The Hull and White (2004) model is nested in a Cox, Ross and Rubinstein (1979) tree. Boyle

and Lau (1994) state that for a Cox, Ross and Rubinstein (1979) tree with N periods to maturity,

a barrier can be positioned m nodes from S where

𝑇
𝑀 = 𝑒𝑥𝑝(m𝜎√𝑁 ) (7)

If the barrier does not coincide with a specified locus of nodes, monitoring will in the American

option’s framework be repetitively out of sync. (6) applies most effectively where there is a

single barrier and volatility is constant. If M varies or if the tree is not consistent with Cox,

Ross and Rubinstein (1979) then Boyle and Lau (1994) may not be appropriate.30

In Table 4, we re-estimate the Hull and White (2004) model by taking into account the

American barrier using (6). The same Cvitanic, Wiener and Zapatero (2008) parameters are

used as Table 2: S = 100, K = 100, T = 10 years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M

= 1.5 and e = 0.04. Otherwise the only difference relative to Table 2 stems from the

specification outlined by Boyle and Lau (1994). Convergence is substantively improved

relative to Table 2. At a step size of 3,000, there would appear to be a relatively stable pattern

29
For a new issuance of ESO where initially S = K i.e. the option is written at-the-money. This is typical for
ESOs.
30
The Leisen Reimer (1996) tree does not recombine iteratively to a fixed range of values. Their model tilts the
lattice so that the terminal stock prices centre towards the exercise. Placing the barrier in the Leisen Reimer
(1996) tree to rest on the recombined nodes is not straight forward.

Electronic copy available at: https://ssrn.com/abstract=3098879


of convergence already established. The saw tooth pattern of convergence identified in Figure

12 seems to have been largely resolved. In Figure 13, the relatively parsimonious refinement

introduced by Boyle and Lau (1994) seems to mostly mitigate the sluggish convergence issues

identified by Cvitanic, Wiener and Zapatero (2008) when implementing Hull and White (2004)

in a traditional Cox, Ross and Rubinstein (1979) setting. The Boyle and Lau (1994)

specification outlined in (7) offers some scope particularly for actors in the professional and

regulatory bodies who default to the Black and Scholes (1973) framework by virtue of lower

computational cost. In Table 5, we alter the standard values we used so far: S = 100, K = 100,

T = 10 years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M = 1.5 and e = 0.04. The third column

contains the estimations for original values. We compare the Hull White estimation relative to

Hull-White-Boyle-Lau. In each column, we can observe convergence as we increase the step

size. For each successive column we re-compute these values amending a single variable e.g.

S’ denotes that we amend just a single variable in this case S moves from 100 to 120. The true

values we estimated using Cvitanic, Wiener and F. Zapatero (2008).31 Again it is clear that

HWBL values are clearly closer to True relative to the unadjusted Hull and White (2004).

Standard setters by and large have not been unquestionably rigid in asserting a specific

valuation framework for those charged with preparing company accounts and expensing

Employee Stock Options. Choice of model and parameter inputs however have nontrivial

effects and varying estimates of valuation can be asserted. This may be a source of disquiet for

the accounting profession and to regulatory actors such as the SEC.32 In this paper, we consider

the impact of step size, valuation and convergence. The inability to reach convergence within

a feasible number of steps may render lattice techniques impracticable for most practitioners.

31
We thank Professor Zvi Wiener for confirming the true values.
32
The margin of error produced may be acceptable for producing Financial Statement in the same way that
depreciation of asset estimations also necessarily must reside with a margin of error.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figures 12 and 13 give some sense of the scope to which models are sensitive to varying step

size. The ability of shareholders and bondholders to appraise the incentives propelling senior

executives can also be easily circumscribed by arbitrary choices within the valuation process.

In this paper, we address the problem of slow convergence and develop an efficient framework

to help make the valuation process achieve greater accuracy with smaller computational costs.

We develop the Employee Stock Option as an American Barrier and borrow established

techniques in the literature to improve implementation. In the Appendix, we improve the Hull

White Boyle Lau algorithm by making better use of computer memory. 33 The software

implementation can be made more efficient by defining the array mapping differently for the

lattice. This will involve truncating both the zero region and barrier region. We minimise the

runtime required for binomial pricing by taking the two-dimensional tree as outlined in Figure

1 and storing it as a one-dimensional array. This software implementation dispenses with the

requirement to store the whole binomial tree.

33
Some readers may prefer to read the appendix separately from the rest of the paper or not at all. The
biggest improvement in estimation comes from adapting the Boyle Lau (1996) specification to Hull White
(2004). We attempt in the appendix, to squeeze out some additional efficiencies in terms of run-time by
making better use of memory. Some practitioners may appreciate these additional gains in efficiency
particularly where the humble spreadsheet is the main pricing engine.

Electronic copy available at: https://ssrn.com/abstract=3098879


7. Conclusion

Employee Stock Options have greatly expanded the way corporations can remunerate

employees. The popularity of these exotic instruments, in part, can be explained by a desire of

firms to more deftly craft incentives to maximise shareholder value and retain staff with

strategic skills and know-how. Employee Stock Options moreover provide a useful resonance

in terms of compensation: they permit staff to enjoy windfall gains when corporations are best

placed to share the spoils of stock price increases. As the corporation’s stock price declines,

this largess can be removed without overtly spiting personnel: reducing pay where the key

catalyst is a market response rather than a vindictive boss. This expanded remuneration toolbox

however brings with it, the necessity to determine value and communicate contingency costs

that are likely to be incurred by shareholders. Valuing the potential costs to corporations is

complicated because ESOs are highly exotic with a blend of European, American and barrier

exercise features that alter during different phases of vesting and post vesting. A large number

of Regulatory and Accounting actors effectively agree that fair value is a fundamental norm

that should be adhered to and conveyed in Financial Reports. The standard techniques endorsed

by the SAB 107, SAB 110 and FAS 123R include Black Scholes (1973) and lattice

frameworks. Black Scholes (1973) was developed, in principle, to value only European

Options. Employee Stock Options however feature a highly idiosyncratic blend of exercise

privileges. All else being equal, one might expect a lattice approach would be relied upon

because trees putatively model the many nuances embedded in the granting and vesting of

ESOs. Hull and White (2004) have expounded a lattice pricing model, (they referred to it as

“our Enhanced FASB 123 model”) that makes explicit reference to parameters omitted from

Black Scholes (1973). In this paper, we examined a key weakness identified by Cvitanic,

Wiener and Zapatero (2008) in relation to the lattice approach when applied to ESOs. Lattice

models when applied to ESO valuation can be extremely sluggish in terms of convergence. If

Electronic copy available at: https://ssrn.com/abstract=3098879


trees converge at a slow pace, then estimation can be pushed beyond a practicable threshold

consistent with the available computing resources to many professionals.

Cvitanic, Wiener and Zapatero (2008) propose a very useful closed form solution which may

be ultimately endorsed by the standard setters. In the meantime, we propose a small refinement

to Hull and White (2004), based on insights developed by Boyle and Lau (1994) which ensures

faster convergence in lattice estimation. Our model provides estimates consistent with

Cvitanic, Wiener and Zapatero (2008) and consistent with a tree developed with a much finer

mesh of up to 100,000 steps. The proposed model we develop in this paper has the advantage

of neatly fitting into the rubric currently prescribed by the American Financial Accounting

Standards Board (FASB) and endorsed by staff at the Securities and Exchange Commission

(SEC). It is also a practicable model that can be programmed into spreadsheets or any standard

IDE, executed and converges within a moderate number of steps. This small refinement can

help obviate the need to apply Black and Scholes (1973) and heroically hope for the best. It

furthermore reduces the potential risk that an arbitrary time step can be introduced to yield a

desired fair value for the option. In the Appendix, we identify a small number of techniques

that help make better use of computer resources and this further enhances the viability of

estimating Hull White (2004) lattice for industry actors.

Electronic copy available at: https://ssrn.com/abstract=3098879


Steps CRR LR Tri BS
10 48.7486 49.2881 49.0155 49.2873
20 49.0155 49.2875 49.1508 49.2873
50 49.1781 49.2873 49.2326 49.2873
70 49.2092 49.2873 49.2482 49.2873
100 49.2326 49.2873 49.2599 49.2873
200 49.2599 49.2873 49.2736 49.2873
500 49.2764 49.2873 49.2818 49.2873
700 49.2795 49.2873 49.2834 49.2873
1200 49.2827 49.2873 49.2850 49.2873
1500 49.2837 49.2873 49.2855 49.2873
1700 49.2841 49.2873 49.2857 49.2873
2000 49.2846 49.2873 49.2859 49.2873
2500 49.2851 49.2873 49.2862 49.2873
3000 49.2855 49.2873 49.2864 49.2873

Table 1: Convergence occurs gradually as we increase the number of steps. We compare the
value of the Cox, Ross and Rubinstein (CRR) and Leisen Reimer (LR) trees using the
parameters S = 100, K = 100, T = 10 years, Sigma = 0.2, r = 0.06. We also use the same
parameters for the Trinomial tree (Tri) and Black and Scholes method (BS). We note that
convergence to Black and Scholes is fastest using Leisen Reimer. The Black Scholes (1973) is
developed here as being at the limit ‘true’ because it constitutes a continuous time model.

Electronic copy available at: https://ssrn.com/abstract=3098879


Steps HW True Value
10 31.8244 27.8551
20 28.1415 27.8551
50 28.9496 27.8551
70 29.2895 27.8551
100 29.8886 27.8551
200 29.0914 27.8551
500 28.4026 27.8551
700 27.8762 27.8551
1,200 28.2809 27.8551
1,500 27.9354 27.8551
1,700 28.1117 27.8551
2,000 27.9920 27.8551
2,500 28.2092 27.8551
3,000 28.1615 27.8551
4,000 27.9895 27.8551
5,000 28.0345 27.8551
7,500 27.9605 27.8551
10,000 28.0228 27.8551
20,000 27.8997 27.8551
30,000 27.9599 27.8551
40,000 27.9291 27.8551
50,000 27.9099 27.8551
80,000 27.9000 27.8551
100,000 27.8711 27.8551

Table 2: Convergence occurs at a much slower pace when compared to the results for the
regular CRR type estimation in Table 1. We compare the value of the original Hull and White
(2004) HW with Cvitanic, Wiener and Zapatero (2008) (i.e. the True Value benchmark) using
parameters S = 100, K = 100, T = 10 years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M = 1.5
and e = 0.04. The results of Cvitanic, Wiener and Zapatero (2008) serve as a yardstick. To
implement Hull and White (2004), we graft onto the CRR tree conditions (i) - (iv) from Section
2. To provide some sense of how slow convergence is: note that even with an onerous 100,000
steps, we still have not reached two decimal places of accuracy. The first snippet of C++ code
in the Appendix can be used to generate the estimates above.

Electronic copy available at: https://ssrn.com/abstract=3098879


Steps HW CRR HW LR HW Tri
10 31.8244 31.8729 31.5446
20 28.1415 28.0413 32.6213
50 28.9496 28.9102 30.6084
70 29.2895 29.2596 28.5016
100 29.8886 28.8674 29.0605
200 29.0914 29.0806 28.9422
500 28.4026 28.3978 28.8693
700 27.8762 27.8725 27.8623
1,200 28.2809 28.2788 28.0835
1,500 27.9354 27.9336 28.1599
1,700 28.1117 28.1102 28.0553
2,000 27.9920 27.9907 28.2873
2,500 28.2092 28.2082 28.0335
3,000 28.1615 28.1607 27.9385

Table 3: We re-compute table 2 with the same parameters as Table 1 but we adapt Leisen
Reimer (HW LR) and Trinomial lattices (HW Tri) to embed condition (i) – (iv) from Section
2, as before. Here again it is noticeable that convergence is very slow to the True Value
27.8551. Interestingly, although Leisen Reimer had previously converged quickly, here it
appears to converge at a much slower pace.

Electronic copy available at: https://ssrn.com/abstract=3098879


Steps HWBL True Value
10 27.8891 27.8551
20 27.8891 27.8551
50 27.8632 27.8551
70 27.8238 27.8551
100 27.8675 27.8551
200 27.8715 27.8551
500 27.8675 27.8551
700 27.8450 27.8551
1,200 27.6587 27.8551
1,500 85.8549 27.8551
1,700 27.8530 27.8551
2,000 27.8576 27.8551
2,500 27.8565 27.8551
3,000 27.8562 27.8551
4,000 27.8566 27.8551
5,000 27.8535 27.8551
7,500 27.8559 27.8551
10,000 27.8555 27.8551

Table 4: We re-compute Table 2. Our key insight here is to interpret the Hull and White (2004)
model as incorporating an American Barrier Option Specification. In this instance, the Hull
and White (2004) tree is adapted so that M*K, sits as close as possible on the locus of
recombining nodes. See Figures 10 and 11. We use a Boyle Lau (1994) procedure to achieve
Hull-White-Boyle-Lau (HWBL). See (6) below. The same Cvitanic, Wiener and Zapatero
(2008) parameters are used as before: S = 100, K = 100, T = 10 years, Sigma = 0.2, r = 0.06,
Vesting = 2 years, M = 1.5 and e = 0.04. Otherwise the only difference relative to Table 2
stems from the specification outlined by Boyle and Lau (1994). Convergence noticeably
improves relative to Table 2.
1 2
𝑁 = [(𝑚2 𝜎 2 𝑇)/ln (𝑀) ] for 𝑚 = 1,2 … … (6)

Electronic copy available at: https://ssrn.com/abstract=3098879


Initial Multiple'=2 ExitRate'=0.08 DivRate'=0.03 Sigma'=0.4 Interest'=0.03 Vest'=4 T'=8 K'=120 S'=120
Methods Steps
ESO prices
HW 28.4026 35.2359 25.1287 21.7337 36.6282 24.5140 30.3561 27.4778 23.7446 39.6460
500
HWBL 27.8675 34.9800 24.7002 21.4729 35.4646 24.1361 30.0290 26.8391 23.5734 39.5246
HW 28.2824 35.1153 25.0408 21.6802 36.2675 24.4317 30.2862 26.9971 23.9294 40.0232
1000
HWBL 27.8530 35.0000 24.6945 21.4661 35.4434 24.1243 30.0340 26.8557 23.5789 39.5137
HW 27.9354 35.1598 24.7621 21.5080 35.8913 24.1836 30.0867 26.9350 23.5752 39.6849
1500
HWBL 27.8549 34.9970 24.6967 21.4670 35.4100 24.1254 30.0406 26.8425 23.5729 39.5163
HW 27.9920 35.2537 24.8097 21.5377 35.8827 24.2250 30.1190 27.1516 23.7541 39.6131
2000
HWBL 27.8576 34.9959 24.7013 21.4698 35.4265 24.1280 30.0377 26.8496 23.5728 39.5125
HW 28.2092 35.0412 24.9871 21.6473 36.0236 24.3813 30.2437 26.8929 23.7677 39.6518
2500
HWBL 27.8565 34.9956 24.7024 21.4712 35.4174 24.1290 30.0423 26.8486 23.5731 39.5176
HW 28.1615 35.2041 24.9492 21.6239 35.6817 24.3473 30.2173 27.0451 23.6028 39.7450
3000
HWBL 27.8562 34.9978 24.7021 21.4709 35.4251 24.1285 30.0400 26.8479 23.5715 39.5147
HW 27.8799 35.0269 24.7207 21.4818 35.4391 24.1445 30.0555 26.9948 23.5764 39.5519
3500
HWBL 27.8563 34.9970 24.7023 21.4709 35.4160 24.1285 30.0401 26.8488 23.5710 39.5109
HW 27.9895 35.1241 24.8100 21.5378 35.7770 24.2240 30.1174 27.0018 23.6359 39.7116
4000
HWBL 27.8566 34.9969 24.7031 21.4713 35.4199 24.1289 30.0419 26.8463 23.5710 39.5129
HW 28.1356 35.0808 24.9292 21.6115 35.6567 24.3291 30.2020 27.0469 23.7530 39.6070
4500
HWBL 27.8569 34.9963 24.7026 21.4705 35.4263 24.1281 30.0421 26.8471 23.5724 39.5106
HW 28.0345 35.0806 24.8472 21.5608 35.5666 24.2565 30.1438 26.9118 23.6468 39.5255
5000
HWBL 27.8535 34.9960 24.7006 21.4694 35.4221 24.1262 30.0397 26.8480 23.5720 39.5126
True Value 27.8551 34.9973 24.7031 21.4707 35.4181 24.1276 30.0402 26.8472 23.5720 39.5111
Table 5: The values of 100 ESOs with different sets of parameters values at different number of steps using Hull and White (2004) HW and Hull
and White (2004) with Boyle and Lau (1994) (HWBL). The initial set of parameter values (Initial. row 1, column 3) are S = 100, K = 100, T = 10
years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M = 1.5 and e = 0.04. In each subsequent column we change one parameter relative to the initial
(i.e. S’=120” (row 1, last column) implies S changes from 100 to S’=120 ceteris paribus. True values are obtained from Cvitanic, Wiener and
Zapatero (2008) closed-form valuation.

Electronic copy available at: https://ssrn.com/abstract=3098879


HW HWBL
-3
Average deviation (*10 ) 6.8355 0.1093
largest deviation (*10-3) 34.1672 1.3129
Number of deviation > 1% 23 0
RMS (*10-3) 8.9274 0.2034

Table 6: The root mean squared RMS relative error is presented above. We apply the same
measurement as developed by Broadie and Detemple (1996). The estimation error of HW and
and HWBL are obtained from the data presented in Table 5. Average relative deviation is
defined as the arithmetic mean of relative deviations of 100 samples.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure 1: The above Cox, Ross and Rubinstein (1979) recombining binomial tree is created
using 10 steps. Each node can be traced using the i, j array reference. Each node stores a stock
price in discrete time intervals for the two-dimensional static tree. i defines the time step and
increments mark the passage of time until N is reached at maturity. The tree can be programmed
so that N can be set to very high magnitudes. Higher values of N produce higher levels of
accuracy but with exponentially growing estimation costs. In the Appendix, we outline some
strategies to segment the Binomial Tree and truncate zero regions and the region above the
Hull White (2004) K*M barrier. We will also make memory usage more efficient by passing
values sequentially from one column to the preceding column. This has the effect of reducing
the storage costs of the two-dimensional tree (see Figure A2).

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure 2: The Hull and White (2004) model nests condition (1) – (4) as we mentioned before
in a Cox, Ross and Rubinstein (1979) framework. These conditions divide the binomial tree
into four sections in which different option pricing regimes are applied. Hull and White (2004)
specified that:
(i) the option can be exercised in the post vesting period.
(ii) the vested option is exercised when the stock price S ≥ M*K.
(iii) the product of the time step 𝛿𝑡 and e can be used to estimate the probability of
forfeiture in the vesting period moving from node to node.
(iv) in the post vesting period the probability 𝑒𝛿𝑡 captures the probability that the option
is forfeited if S < K or exercised early to realise S – K if S ≥ K. K here denotes the
strike or exercise.
We use the same notation as Hull White (2004). 𝑒 −𝑟𝛿𝑡 denotes a continuous discount factor
whereas 𝑒𝛿𝑡 denotes the product of the exit rate and the time step interval.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure 3: We present here the results from Table 1 for the Cox, Ross and Rubinstein (CRR),
Trinomial and Leisen-Reimer (LR) trees with the number of steps being inferior to 500. The
usual CRR oscillation pattern is not observed because we only selected even numbers for the
number of steps. The Trinomial model is also presented. The number of steps is presented on
the horizontal axis. The option value is presented on the vertical axis. LR would appear to
converge to Black Scholes (1973) at the fastest rate. See below.

Figure 4: Leisen Reimer binomial trees speedily converges to Black Scholes with four decimal
place accuracy within 50 steps. The same parameter input values as Table 1 are used. The
horizontal axis measures the number of steps.

Electronic copy available at: https://ssrn.com/abstract=3098879


49.288

49.286

Option values 49.284

49.282

49.28

49.278

49.276

49.274
500 1000 1500 2000 2500 3000
Number of steps
CRR LR Trinomial BS

Figure 5: (CRR) and Trinomial trees converge to Black Scholes more slowly than Leisen and
Reimer (1996). We use the same parameter values as Table 1. The Leisen and Reimer (1996)
estimates are subsumed into the Black Scholes estimates as they bear no discernible difference
in the graph.

Hull and White convergence to Black Scholes


60

50

40
Value of BS and HW

30

20

10

0
0 1 2 3 4 5 6 7 8 9 10 11
Years of Vesting

Hull and White (2004) BlackScholes

Figure 6: The Hull and White (2004) ESO model is estimated using the Cvitanic, Wiener and
Zapatero (2008) parameters S = 100, K = 100, T = 10 years, Sigma = 0.2, r = 0.06, M = 1.5.
However e ≠ 0.04, rather e = 0 and Vesting = 1,2,3,4…..10 years. As the Vesting approaches
maturity (i.e. T = 10 years), we find that the Hull and White (2004) ESO model reduces to a
CRR tree or Black Scholes value. Early exercise and exit leading to forfeiture, would all else
being equal, tend to reduce the value of an ESO relative to a plain vanilla European option
where the dividend is zero. The Hull and White (2004) model can vary substantially from Black
and Scholes (1973) owing to early exercise and forfeiture.

Electronic copy available at: https://ssrn.com/abstract=3098879


32.5000
32.0000
31.5000
31.0000
ESO values

30.5000
30.0000
29.5000
29.0000
28.5000
28.0000
27.5000
0 100 200 300 400 500
Number of steps
HW True Value

Figure 7: convergence of Hull and White (2004) to “True” is not clear-cut. This graph
illustrates the output reported in Table 2. The non-monotonic nature of convergence implies
that Hull and White (2004) has to be re-estimated many times with an ever-higher number of
steps to determine fair value. Convergence within the 500-step range looks unlikely.

28.5000

28.4000

28.3000
ESO values

28.2000

28.1000

28.0000

27.9000

27.8000
500 1000 1500 2000 2500 3000
Number of steps
HW True Value

Figure 8: The Hull and White (2004) ESO model is estimated with the parameters provided in
Table 2. Convergence does not appear feasible with N < 3,000 steps. The values for the ESO
reported would appear to converge and then subsequently diverge. This non-monotonic
behaviour confounds because it becomes difficult to determine the relative proximity to “True”
without imposing a shift in the scale of steps. We will shortly see that even at 100,000 steps it
may not be possible to assume that convergence is guaranteed.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure 9: At 100,000 steps we may have reached convergence but even here we would need
to re-estimate Hull and White (2004) in the 100,000 steps range a number of times to verify
that the ESO model has actually converged. The scale of computing resources required to
operationalise this estimation would likely deter most practitioners from using this technique
as originally conceived. These results were produced using the Two-Dimensional Static code.
See the first C++ snippet in the Appendix. The tree structure is very slow with runtimes for
larger estimations (80,000, 100,000 steps) were done overnight. It is also fair to say however
that the genesis of the original Hull White (2004) was develop an accounting measure. The
option is not traded so ball park figures may have sufficed given that usual pre-occupation that
arbitrage was not really at stake.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure 10: If the product of the multiple and exercise, M*K falls off the grid i.e. between the
nodes then biases arise in estimating the value of the ESO. M is a specified boundary condition
in the re-combing Hull and White (2004) tree model. In this sense, M constitutes a barrier in
the ESO. For 𝑆𝑖,𝑗 ≥ M*K, the vested option is exercised realising the intrinsic values. Derman
et al (1995) point out that when no values in the array 𝑆𝑖,𝑗 are equal or close to M*K,
convergence slows down.

Electronic copy available at: https://ssrn.com/abstract=3098879


Boyle and Lau (1994) adapted in HW
30.5

30

29.5
ESO Values

29

28.5

28

27.5
0 1000 2000 3000 4000 5000
HW True Value Steps

Figure 11: If the M*K barrier falls on the grid nodes i.e. falls on successive recombining nodes
then ‘Specification error’ as explained by Derman et al (1995) can be reduced. In estimating
the value of the ESO using the CRR tree we tweak the step size by choosing N to fuse the
barrier as close as possible to a horizontal locus of tree nodes. If array mappings are designed
so that a series of 𝑆𝑖,𝑗 line up with M*K, then bias can be reduced. Boyle and Lau (1994)
iteratively re-estimate for successive values of m to yield the desired N or integer closest to the
desired N:
1 2
𝑁 = [(𝑚2 𝜎 2 𝑇)/ln (𝑀) ] for 𝑚 = 1,2 … … (6)
which is shown as red marked points in the line chart.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure 12: The Hull White (2004) ESO model is estimated from 10 to 10,000 steps in intervals
of 10 where the Cvitanic, Wiener and Zapatero (2008) parameters: S = 100, K = 100, T = 10
years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M = 1.5 and e = 0.04. The convergence of Hull
and White (2004) to “True” is recognizably saw-tooth shaped. The non-monotonic nature of
the ESO value implies the Hull and White (2004) model is highly sensitive step size.

Figure 13: The Hull-White-Boyle-Lau specification as outlined in Figure 10 sunstantially


improves convergence to Cvitanic, Wiener and Zapatero (2008). The Hull White (2004) ESO
model can be substantially enhanced by adapting for the implicit barrier. Tables 2 and 4 provide
a clear contrast in terms of performance at the 3,000, 4,000 and 5,000 step-size. The order of
magnitude can be visually inspected here where Hull-White-Boyle-Lau tangibly aligns with
Cvitanic et al. Hull and White (2004) persistently deviates with tiny margins of improvement.

Electronic copy available at: https://ssrn.com/abstract=3098879


Bibliography

Benninga, S. (2014): “Financial Modeling”, 4rth Edition, MIT Press, Cambridge.

Black, F. and M. Scholes (1973): “The pricing of options and corporate liabilities.” The Journal
of Political Economy, pp. 637–654.

Boyle, P. (1986): ‘‘Option Valuation Using a Three-Jump Process.’’ International Options


Journal, Vol. 3, pp. 7–12.

Boyle, P. and S. Lau (1994): “Bumping up against the barrier with the binomial method.”
Journal of Derivatives, 1, pp. 6–14.

Broadie, M. and J. Detemple (1996): “American Option Valuations: New Bounds,


Approximations, and a Comparison of Existing Methods.”, Review of Financial Studies,
Volume 9, Issue 4, pp.1211 - 1250.

Cox, J., S. Ross, and M. Rubinstein (1979): “Option Pricing: A Simplified Approach.” Journal
of Financial Economics, Volume 7, Issue 3, pp. 229–263.

Curran M. (1995): “Accelerating American Option Pricing in Lattices.” Journal of Derivatives,


Winter: 8–18.

Cvitanic, J., Z. Wiener, and F. Zapatero (2008): “Analytic pricing of executive stock options.”
Review of Financial Studies, 21, pp. 683–724.

Derman, E., I. Kani, D. Ergener, and I. Bardhan. (1995): ‘‘Enhanced Numerical Methods for
Options with Barrier.’’ Financial Analysts Journal, November–December, pp. 65–74.

Gilli, M. and E. Schumann (2009): “Implementing Binomial Trees.”


SSRN: https://ssrn.com/abstract=1341181 or http://dx.doi.org/10.2139/ssrn.1341181

Haug E. (2007): Option Pricing Formulas. McGraw-Hill, New York.

Hull, J. (2015): Options, futures, and other derivatives. Pearson Education, New York.

Hull, J. and White, A. (2004): “How to value employee stock options.” Financial Analysts
Journal, 60, pp. 114–119.

Kim, I. J., and S. J. Byun, (1994): “Optimal Exercise Boundary in a Binomial Option Pricing
Model.” Journal of Financial Engineering, 3, pp. 137-158.

Leisen, D., and M. Reimer, (1996): “Binomial models for option valuation – examining and
improving convergence.” Applied Mathematical Finance, 3(4), pp. 319–46.

Rouah, F. and, G. Vainberg, (2007): Option Pricing Models and Volatility Using Excel VBA.
John Wiley & Sons, London.

Rubinstein, M. (1995): “On the accounting valuation of employee stock options,” Journal of
Derivatives, 3, pp. 8-24.

Electronic copy available at: https://ssrn.com/abstract=3098879


Appendix
Convergence in the Hull White (2004) model is slow and follows an obstinate saw tooth erratic
pattern. We found already that a Boyle Lau (1994) specification for the barrier option can
produce faster convergence with lower RMS. In this appendix, we add a few additional tweaks
to make the lattice estimation more efficient. We provide VBA and C++ code below for
estimating efficiently a dynamic Hull White (2004) model which nests the Boyle Lau barrier.
We consider this code to be useful to practitioners intending to value ESOs within a FASB
framework of accounting standards. The VBA code facilitates spreadsheet implementation
which for many practitioners is the archetypal workhorse in a professional environment. C++
code tends to be faster for desktop resources where the appropriate IDE can be used.
Furthermore, online C++ compilers can be used for estimation which in principle expands the
application to smart phones and to tablets by virtue that these resources are web-based. We
also provide code for the static two-dimensional Hull White (2004) tree. We do not recommend
the latter for general use but make it available as a test case and moreover has some virtue as a
pedagogical tool.

In this Appendix, we follow in part the techniques outlined by Curran (1995) to define,
demarcate and ultimately truncate regions within the binomial lattice. In particular, we identify
a zero region and the barrier region of the Hull White ESO lattice that can be used to leverage
some efficiency. We also implement a technique suggested by Broadie and Detemple (1996)
to optimise the mapping array. Most implementations of binomial trees including Benninga
(2014) define a two-dimensional lattice.34 This approach is the most intuitive and can be easily
expounded because it follows the tree mapping and grid references observed in Figure 1.
Broadie and Detemple (1996) in their Appendices B.1 and B.2 state however that it is not
necessary to store the entire tree in memory. They stress that only information related to the
contemporaneous time-period/time-step is required marked out by the Green Oval shapes in
Figure A2. It is possible to enhance the Hull White Boyle Lau procedure by configuring the
backward recursion such that at any one-time computer memory is only being used to estimate
a single column of option time values. Consider the static binomial option tree below

Figure A1

34
See the first snippet of code below.

Electronic copy available at: https://ssrn.com/abstract=3098879


Figure A2

The static Hull White Boyle Lau of Figure A1 defines a two-dimensional Static Binomial
Option Pricing Tree, which allocates an independent storage space for the option time values
of every node.35 The dynamic Hull White Boyle Lau model in Figure A2 is a one-dimensional
Dynamic Binomial Option Pricing Tree, which exhibits a Dynamic Substitution Process.36 In
the option pricing process of backward induction, the option values we calculate at any time
step would substitute the option values at its previous time steps to be stored in the same
space.37 Consider a n-step binomial tree. The static binomial tree requires (𝑛 + 1)(𝑛 + 2)/2
storage spaces. The dynamic binomial tree only needs 𝑛 + 1 storage spaces which reduces by
decrements of one with each successive backward recursion. This optimization effectively
reduces the unnecessary data storage.

35
We provide a C++ implementation for the Static Two-Dimensional tree without Boyle Lau below. This code is
slow and is only recommended here to serve as a benchmark for the faster Dynamic Truncated HWBL model. It
may additionally serve as a didactic tool to help illuminate the main steps of setting out and estimating ESOs
within the binomial framework.
36
We provide VBA and C++ code to run this Dynamic One-Dimension tree with the Boyle Lau specification. This
code is optimised with lower runtimes and faster convergence.
37
Each step time period can be identified above by the passing from one green ovoid to the previous.

Electronic copy available at: https://ssrn.com/abstract=3098879


A second type of optimization follows in line with insights provided by Curran (1995) where
the lattice is effectively truncated. Regions that are unnecessary can be removed from the
backward recursion estimation. In Figure A3 below, we identify 4 regions for the Hull White
(2004) lattice.

Figure A3

We truncate the “Redundant early exercise” region (i.e. the upper triangle) in which option
values of nodes are equal to their intrinsic values and the “zero” region (lower triangle) in
which the option value of each node is zero. The valuation in these two regions are unnecessary
since they will not influence materially the backward induction or values passing back through
to produce the present value of the option. In Figure A3, we identify four different valuation
regions. This similarly follows the logic proposed by Curran (1995). Curran (1995) proposed
the Diagonal method which draws on the Kim and Byun (1994) deduction that the early
boundary of an American option can be identified in the binomial structure. Pinpointing exactly
the early exercise boundary speeds up estimation time because it removes the necessity to
constantly test each node. The stopping region and continuing region can be defined around
the boundary.38 Curran notes that once the option is exercised, it cannot be exercised again.
Importantly, here with Hull White (2004), we know the early exercise because this is made
explicit in the model. Note that in Figure A3 above X marks the location of the exercise (K).
Hull and White (2004) posit that early exercise occurs once the Stock price passes through the
M*K boundary where M is defined as the multiple parameter. This simplifies the analysis and
allows the lattice to be segmented. The option value of the horizontal layer of red nodes is
captured by the intrinsic value defined by M*K. The option values of the diagonal layer of
green nodes are all zero. This leaves the blue nodes and yellow nodes to be valued by backward
induction. The blue nodes still possess the passive early exercise condition applying by virtue
of employees terminating employment. The vesting period does not permit early exercise: only
forfeiture.

In the table below, we provide some insight into how these optimisations speed up computation
times in Excel™ for both the Dynamic Hull White Boyle Lau implementation relative to the
static Hull White Boyle Lau tree.

38
We borrow these terms form Kim and Byun (1994).

Electronic copy available at: https://ssrn.com/abstract=3098879


Speed Comparison: Excel™ VBA Estimation

Steps Static_HWBL Dynamic_Truncated_HWBL


27.8675 27.8675
500
01:56.00 00:00.32
27.8530 27.8530
1000
00:03.36 00:00.18
27.8549 27.8549
1500
00:06.61 00:01.59
27.8576 27.8576
2000
00:11.63 00:02.75
27.8565 27.8565
2500
00:19.80 00:04.45
27.8562 27.8562
3000
00:27.83 00:06.13
27.8566 27.8566
4000
00:47.08 00:10.16
27.8535 27.8535
5000
01:15.22 00:15.67

Table A1
We take again parameters values for the ESO we used before. We set S = 100, K = 100, T = 10
years, Sigma = 0.2, r = 0.06, Vesting = 2 years, M = 1.5 and e = 0.04. The computation time
generated in Excel™ at different number of steps is shown using the format mm:ss.00. The
laptop we used for computation was a DELL Latitude E5470 with Intel’s Core i3 processors.
As can be seen from Table A1, the dynamic Hull White Boyle Lau implementation is
approximately four to five times faster than the static Hull White Boyle Lau implementation.
The main gain in terms convergence is obtained by imposing Boyle Lau. Nevertheless, a
significant reduction in runtime can be engineered by optimizing the code. The Dynamic
Truncated HWBL estimation can potentially afford some relative improvement which should
facilitate work flow. There is respectively a VBA and C++ implementation of the Dynamic
Truncated HWBL model below. Excel™ spreadsheets can be automated using VBA and
spreadsheet modelling is relied upon heavily by industry practitioners. C++ permits higher
speed but also permits some robustness to be established. A number of online C++ compilers
expand the scope of implementation.39 Finally, the code below can be used as a check for
Cvitanic, Wiener and Zapatero (2008). To date, this closed form solution has not been
referenced in the Accounting Standards. We feel it is worthy of a second look and practitioners
may perhaps feel comfortable with making some further use of their contribution if a relatively
cheap testing technology were available. The VBA and C++ code presented below for the
Dynamic trees go some way to provide an additional test of robustness.

39
https://www.onlinegdb.com/online_c++_compiler

Electronic copy available at: https://ssrn.com/abstract=3098879


C++ Code for Hull White (2004) model with Two-Dimensional Static tree. This code is very slow! Not recommended for estimation.
#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>
#include <time.h>

using namespace std;

double ESOs_Binomial(void)
{
double Spot = 100; // Spot Price
double K = 100; // Strike Price
double Vest = 2; // Vesting period (in years)
double T = 10; // Maturity in Years
double Sigma = 0.2; // Volatility
double DivRate = 0.0; // Dividend rate
double ExitRate = 0.04; // Exit rate
double Multiple = 1.5; // Multiple: Stock/strike ratio
double InterestR = 0.06; // Interest Rate
double n = 500; // no longer subdivision

double R = exp(InterestR *T/ n); // Interest rate in one period.(a)


double dt = T/ n; // Time interval.
double Up = exp(Sigma * sqrt(dt));
double Down = exp(-Sigma * sqrt(dt));
double PiUp = (exp((InterestR - DivRate) * dt) - Down) / (Up - Down); //'Risk-neutral up probability
double PiDown = 1 - PiUp; //'Risk-neutral down probability

int i, j;

int NT = (int)(n); //the depth of binomial tree, also means the dimension of the array.

vector<vector<double> > S(NT + 1, vector<double>(NT + 1));


vector<vector<double> > OptN(NT + 1, vector<double>(NT + 1));

// Build the Static Two-Dimensional binomial tree


for (i = 0; i <= NT; i++) {
for (j = 0; j <= i; j++) {
S[i][j] = Spot*pow(Up, j)*pow(Down, i - j);
}

Electronic copy available at: https://ssrn.com/abstract=3098879


}

for (i = 0; i <= NT; i++) {


OptN[NT][i] = max(S[NT][i] - K, 0.0);

//Early exercise when: stock price > (multiple * exercise after vesting)
//Calculate the option price from second last period
for (i = (NT - 1); i >= 0; i--)
{
for (j = 0; j <= i; j++)
{

if ((i > Vest*n/T) && (S[i][j] >= (Multiple*K)))


{
OptN[i][j] = max(S[i][j] - K, 0.0);
}
if ((i > Vest*n/T) && (S[i][j] < (Multiple*K)))
{
OptN[i][j] = ((1 - ExitRate*T / n) * (PiUp * OptN[i + 1][j + 1] + PiDown * OptN[i + 1][j]) / R + ExitRate *T/ n * max(S[i][j] - K, 0.0));
}
if (i <= Vest*n/T)
{
OptN[i][j] = (1 - ExitRate*T / n) * (PiUp * OptN[i + 1][j + 1] + PiDown * OptN[i + 1][j]) / R;
}
}
}
return OptN[0][0];
}

// Main program
int main()
{
clock_t start_time, end_time;
start_time = clock();

cout << "The ESO value of Binomial is: " << ESOs_Binomial() << endl;
end_time = clock();
cout << " " << start_time << " " << end_time << " " << (end_time - start_time) << endl;
cout << " " << start_time << " " << end_time << " " << (end_time - start_time) / (double)CLOCKS_PER_SEC << " seconds" << endl;

system("PAUSE");

Electronic copy available at: https://ssrn.com/abstract=3098879


VBA Code for Hull White (2004) model amended for Boyle Lau barrier and optimised using truncation and dynamic recursion.
Function Dyn_Trun_HWBL(Stock As Double, X As Double, T As Double, Vest As Double, Interest As Double, _
Sigma As Double, Divrate As Double, Exitrate As Double, Multiple As Double, n As Integer)

Dim dt As Double, r As Double, u As Double, d As Double, p As Double, StoppingOpt As Double, _


i As Integer, j As Integer, VestInt As Integer, Condition As Integer, NumZero As Integer, NumStopping As Integer

'Boyle and Lau


For i = 1 To n
If n < Int((i ^ 2 * Sigma ^ 2 * T) / (Log(Multiple * X / Stock)) ^ 2) Then
n = Int((i ^ 2 * Sigma ^ 2 * T) / (Log(Multiple * X / Stock)) ^ 2)
Exit For
End If
Next

ReDim Opt(n)

dt = T / n
r = Exp(Interest * dt)
u = Exp(Sigma * Sqr(dt))
d = 1 / u
p = (Exp((Interest - Divrate) * dt) - d) / (u - d)
VestInt = Int(Vest / dt) 'The last column in the vesting period
NumZero = Int((Log(X / Stock) / Log(u) + n) / 2) 'The last zero node from the bottom at the maturity
NumStopping = Application.Ceiling((Log(X * Multiple / Stock) / Log(u) + n) / 2, 1) 'The first early exercise node at the maturity
Finish = NumStopping - 1

'Distinguish two conditions:


StoppingOpt = Stock * u ^ (2 * NumStopping - n) - X
Condition = 0 'The horizontal layer to which (n, NumStopping) belongs is the boundary of proactive early exercise region
If Stock * u ^ (2 * (NumStopping - 1) - (n - 1)) >= X * Multiple Then
StoppingOpt = Stock * u ^ (2 * (NumStopping - 1) - (n - 1)) - X
Condition = 1 'The horizontal layer to which (n-1,NumStopping-1) belongs is the boundary of proactive early exercise region
End If

'Defining the option value of nodes at the maturity


For i = 0 To NumStopping - 1
If i <= NumZero Then
Opt(i) = 0
Else
Opt(i) = Stock * u ^ (2 * i - n) - X
End If
Next i

'Option Pricing Loop


For j = n - 1 To 0 Step -1

Electronic copy available at: https://ssrn.com/abstract=3098879


'Start: Truncate "zero" region
If j >= n - NumZero Then
Start = NumZero - (n - 1 - j)
Else
Start = 0
End If

'Option pricing after vesting period


If j > VestInt Then
'Finish: Truncate "redundant proactive early exercise" region (St>=Multiple*X)
If Finish <= j Then
If (n - j) Mod 2 = 0 Then
If Condition = 0 Then Finish = Finish - 1
If Condition = 1 Then Opt(Finish + 1) = StoppingOpt
Else
If Condition = 0 Then Opt(Finish + 1) = StoppingOpt
If Condition = 1 Then Finish = Finish - 1
End If
ElseIf Finish > j Then 'No proactive early exercise at j column
Finish = j
End If

'No proactive early exercise, only passive early exercise (St<Multiple*X)


For i = Start To Finish
Opt(i) = ((1 - Exitrate * dt) * (p * Opt(i + 1) + (1 - p) * Opt(i))) / r + _
Exitrate * dt * Application.Max(Stock * u ^ (2 * i - j) - X, 0)
Next

'Option values of proactive early exercise nodes at (Vest/dt+1) columnn


If j = VestInt + 1 Then
For i = Finish + 1 To j
Opt(i) = Stock * u ^ (2 * i - j) - X
Next
End If

'Option pricing during vesting period


ElseIf j <= VestInt Then
For i = Start To j
Opt(i) = ((1 - Exitrate * dt) * (p * Opt(i + 1) + (1 - p) * Opt(i))) / r
Next
End If
Next

Dyn_Trun_HWBL = Opt(0)

End Function

Electronic copy available at: https://ssrn.com/abstract=3098879


C++ Code for Hull White (2004) model amended for Boyle Lau barrier and optimised using truncation and dynamic recursion
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <algorithm>
#include <iostream>
#include <vector>
#include<iomanip>
#include <string>
#include <cmath>
#include <time.h>

//using namespace System;


using namespace std;

// Function for binomial tree


double DynTrunHWBL(double S, double K, double T, double Vest, double Interest, double Sigma, double Divrate, double Exitrate, double Multiple, int n) {
double dt, r, u, d, p, StoppingOpt;
int i, j, VestInt, Condition, NumZero, NumStopping, Finish, Start;

for (i = 1; i <= n; i++)


{
if (n < int((pow(i, 2) * pow(Sigma, 2) * T) / pow(log(Multiple * K / S), 2)))
{
n = int((pow(i, 2) * pow(Sigma, 2) * T) / pow(log(Multiple * K / S), 2));
break;
}
}

dt = T / n;
r = exp(Interest * dt);
u = exp(Sigma * sqrt(dt));
d = 1 / u;
p = (exp((Interest - Divrate) * dt) - d) / (u - d);
VestInt = int(Vest / dt); //The last column in the vesting period
NumZero = int((log(K / S) / log(u) + n) / 2); //The last zero node from the bottom at the maturity
NumStopping = ceil((log(K * Multiple / S) / log(u) + n) / 2); //The first early exercise node at the maturity
Finish = NumStopping - 1;

vector<double> Opt;
//resize the column
Opt.resize(n + 1);

//Distinguish two conditions:


StoppingOpt = S * pow(u, 2 * NumStopping - n) - K;
Condition = 0;
if (S * pow(u, 2 * (NumStopping - 1) - (n - 1)) >= K * Multiple)

Electronic copy available at: https://ssrn.com/abstract=3098879


{
StoppingOpt = S * pow(u, 2 * (NumStopping - 1) - (n - 1)) - K;
Condition = 1;
}

//Defining the option value of nodes at the maturity


for (i = 0; i < NumStopping; i++)
{
if (i <= NumZero)
{
Opt[i] = 0;
}
else
{
Opt[i] = S * pow(u, 2 * i - n) - K;
}
}

//Option Pricing Loop


for (j = n - 1; j >= 0; j--)
{

//Start: Truncate "zero" region


if (j >= n - NumZero)
{
Start = NumZero - (n - 1 - j);
}
else
{
Start = 0;
}

//Option pricing after vesting period


if (j > VestInt)
{
//Finish: Truncate "redundant proactive early exercise" region (St>=Multiple*K)
if (Finish <= j)
{
if ((n - j) % 2 == 0)
{
if (Condition == 0)
{
Finish = Finish - 1;
}
if (Condition == 1)
{
Opt[Finish + 1] = StoppingOpt;
}

Electronic copy available at: https://ssrn.com/abstract=3098879


}
else
{
if (Condition == 0)
{
Opt[Finish + 1] = StoppingOpt;
}
if (Condition == 1)
{
Finish = Finish - 1;
}
}
}
else if (Finish > j) //No proactive early exercise at j column
{
Finish = j;
}

//No proactive early exercise, only passive early exercise (St<Multiple*K)


for (i = Start; i <= Finish; i++)
{
Opt[i] = ((1 - Exitrate * dt) * (p * Opt[i + 1] + (1 - p) * Opt[i])) / r + Exitrate * dt * max(S * pow(u, 2 * i - j) - K, 0.0);
}

//Option values of proactive early exercise nodes at (Vest/dt+1) columnn


if (j == VestInt + 1)
{
for (i = Finish + 1; i <= j; i++)
{
Opt[i] = S * pow(u, 2 * i - j) - K;
}
}
}

//Option pricing during vesting period


else if (j <= VestInt)
{
for (i = Start; i <= j; i++)
{
Opt[i] = ((1 - Exitrate * dt) * (p * Opt[i + 1] + (1 - p) * Opt[i])) / r;
}
}
}

// Return the option price


return Opt[0];
}

Electronic copy available at: https://ssrn.com/abstract=3098879


int main() {

clock_t start_time, end_time;


start_time = clock();

double S = 100.0; // Spot Price


double K = 100.0; // Strike Price
double T = 10.0; // Maturity in Years
double Vest = 2; // Vesting period (in years
double Interest = 0.06; // Interest Rate
double Sigma = 0.20; // Volatility
double Divrate = 0.0; // Dividend rate
double Exitrate = 0.04; // Exit rate
double Multiple = 1.5; // Multiple: Stock/strike ratio
int n = 500; // Number of Steps Specified for Tree

cout << "The ESO price is " << DynTrunHWBL(S, K, T, Vest, Interest, Sigma, Divrate, Exitrate, Multiple, n) << endl;

end_time = clock();
cout << " " << start_time << " " << end_time << " " << (end_time - start_time) << endl;
cout << " " << start_time << " " << end_time << " " << (end_time - start_time) / (double)CLOCKS_PER_SEC << " seconds" << endl;

//system("PAUSE");
// https://www.youtube.com/c/BrianByrneFinance
}

Electronic copy available at: https://ssrn.com/abstract=3098879

You might also like