#include <qle/methods/fdmquantohelper.hpp>
Public Member Functions | |
FdmQuantoHelper (const ext::shared_ptr< YieldTermStructure > &rTS, const ext::shared_ptr< YieldTermStructure > &fTS, const ext::shared_ptr< BlackVolTermStructure > &fxVolTS, const Real equityFxCorrelation, const Real fxStrike, Real initialFxSpot=Null< Real >(), const bool discounting=true, const bool ensureNonNegativeForwardVariance=false) | |
Rate | quantoAdjustment (Volatility equityVol, Time t1, Time t2) const |
Array | quantoAdjustment (const Array &equityVol, Time t1, Time t2) const |
As the ql class, but fxStrike can be null in which case the atmf level is used as a strike, more precisely we compute
forward vol = sqrt( ( V(t2, k2) - V(t1, k1) ) / (t2-t1) )
where k1, k2 are the atmf levels at t1 and t2. If fxStrike = null, the initialFxSpot value must be given.
If discounting = false, the adjustment will omit the rTS and fTS terms.
If ensureNonNegativeForwardVariance is true, the forward variances from the input vol ts are floored at zero.