BOPM: Binomial option pricing model

Description Usage Arguments Value Author(s) References See Also

View source: R/QFRM.R


Compute option price via binomial option pricing model (recombining symmetric binomial tree). If no tree requested for European option, vectorized algorithm is used.


BOPM(o = OptPx(), IncBT = TRUE)



An OptPx object


Values TRUE or FALSE indicating whether to include a list of all option tree values (underlying and derivative prices) in the returned OptPx object.


An original OptPx object with PxBT field as the binomial-tree-based price of an option and (an optional) the fullly-generated binomial tree in BT field.

Each matrix is a set of possible i outcomes at time step i columns: (underlying prices, option prices)


Oleg Melnikov, Department of Statistics, Rice University, Spring 2015


Hull, J.C., Options, Futures and Other Derivatives, 9ed, 2014. Prentice Hall. ISBN 978-0-13-345631-8,

#See Fig.13.11, Hull/9e/p291. #Create an option and price it o = Opt(Style='Eu', Right='C', S0 = 808, ttm = .5, K = 800) o = BOPM( OptPx(o, r=0.05, q=0.02, vol=0.2, NSteps=2), IncBT=TRUE) o$PxBT #print added calculated price to PxBT field

#Fig.13.11, Hull/9e/p291: o = Opt(Style='Eu', Right='C', S0=810, ttm=.5, K=800) BOPM( OptPx(o, r=0.05, q=0.02, vol=0.2, NSteps=2), IncBT=TRUE)$PxBT

#DerivaGem diplays up to 10 steps: o = Opt(Style='Am', Right='C', 810, .5, 800) BOPM( OptPx(o, r=0.05, q=0.02, vol=0.2, NSteps=20), IncBT=TRUE)

#DerivaGem computes up to 500 steps: o = Opt(Style='American', Right='Put', 810, 0.5, 800) BOPM( OptPx(o, r=0.05, q=0.02, vol=0.2, NSteps=1000), IncBT=FALSE)

See Also

BOPM_Eu for European option via vectorized approach.

QFRM documentation built on May 2, 2019, 8:26 a.m.

Related to BOPM in QFRM...