#56 binomial tree support for non-flat interest rates

open
nobody
None
5
2010-11-08
2010-11-08
Venky Vemparala
No

I have added 6 files in support for this :

ql/methods/lattices/generalizedcrr.hpp/cpp : Implement the Cox-Ross-Rubinstein equal jumps binomial tree, for non-constant interest rates ( per John Hull ).
ql/methods/lattices/generalizedbsmlattice.hpp : Implements the appropriate discount factors at each time step in the binomial tree ( based on the forward rate at each step )
ql/pricingengines/vanilla/generalizedbinomialengine.hpp : Implement compatibility with the GeneralizedBlackScholesProcess and the above changes. Also, re-implement the greeks.
examples/equityoption.cpp : Added code to test the GeneralizedBinomialEngine/CRR/Lattice

In addition I have made the following changes to the exisiting files :

1. ql/pricingengines/vanilla/discretizedvanillaoption.hpp -- replaced the inclusion of bsmlattice.hpp with stochasticprocess.hpp. ( former is not needed and the discretizedvanillaoption need not be constrained to the standard bsmlattice )

2. ql/methods/lattices/binomialtree.hpp : Removed the inclusion of dividendschedule.hpp -- not needed. Additionally, made two methods in the EqualJumpsBinomialTree virtual - functions "underlying" and "probability" -- needed to support other equal jumps tree implementations.

Discussion

  •  
    Attachments
  •  
    Attachments
  •  
    Attachments
  •  
    Attachments
  • Correction -- The patch consists of 4 new files and changes to 3 existing files.