Class DividendTree
The model is the one traders mean: the stock follows geometric Brownian
motion between ex-dates and drops by the cash amount D at each
ex-date. Subtracting D from the nodes would make the tree non-recombining.
Vellekoop and Nieuwenhuis keep one recombining lattice of stock levels
S_ij = S u^{2j-i} and move the dividend into the value function
instead: at an ex-date step i,
V_cum(S_ij) = max( exercise(S_ij), V_ex(S_ij - D) ) (American) V_cum(S_ij) = V_ex(S_ij - D) (European)
where V_ex is the value just after the drop, known on the same
level's nodes and read at S_ij - D by linear interpolation in S
(linear extrapolation above the top node; below the bottom node, linear
towards the value at S = 0, which is 0 for a call and K for an American put
or K e^{-r(T-t)} for a European put). The exercise test on the cum
price is what captures early exercise of calls just before an ex-date.
Conventions: borrow is a continuous yield (stock borrow fee) on
top of the cash dividends, entering like carry in
BinomialTree. Each ex-date is moved to the nearest tree step, and
to step 1 if it rounds to 0, so the date error is at most dt/2; several
dividends on one step are summed. A dividend with ex-time equal to expiry
is applied to the terminal payoff; dividends after expiry are ignored.
With an empty schedule the price equals BinomialTree.price(BlackScholes.OptionType, BinomialTree.ExerciseStyle, double, double, double, double, double, double, int) to rounding
(tested). Convergence is first order in dt, like the plain CRR tree.
Allocates three arrays of steps + 1 doubles per call.
-
Method Summary
Modifier and TypeMethodDescriptionstatic doubleprice(BlackScholes.OptionType type, BinomialTree.ExerciseStyle style, double spot, double strike, double rate, double borrow, double vol, double timeYears, DividendSchedule dividends, int steps) Option price.
-
Method Details
-
price
public static double price(BlackScholes.OptionType type, BinomialTree.ExerciseStyle style, double spot, double strike, double rate, double borrow, double vol, double timeYears, DividendSchedule dividends, int steps) Option price.- Parameters:
borrow- continuous borrow/yield on top of the cash dividendsdividends- cash dividends;DividendSchedule.NONEfor nonesteps- number of tree steps, at least 1
-