Todo List

Class AmericanCondition
unify the intrinsicValues/Payoff thing

Class AmericanExercise
check that everywhere the American condition is applied from earliestDate and not earlier

Class AmericanPayoffAtExpiry
calculate greeks

Class AmericanPayoffAtHit
calculate greeks

Class AnalyticBarrierEngine
rework to avoid repeated casts inside utility methods

Class AnalyticContinuousGeometricAveragePriceAsianEngine
handle seasoned options

Class AnalyticDigitalAmericanEngine
add more greeks (as of now only delta and rho available)

Class AnalyticDiscreteGeometricAveragePriceAsianEngine
implement correct theta, rho, and dividend-rho calculation

Class BasketOption
Replace with STL algorithms

Class BermudanExercise
it would be nice to have a way for making a Bermudan with one exercise date equivalent to an European

Class BicubicSpline
revise end conditions

Class BinomialVanillaEngine
Greeks are not overly accurate. They could be improved by building a tree so that it has three points at the current time. The value would be fetched from the middle one, while the two side points would be used for estimating partial derivatives.

Class BivariateCumulativeNormalDistributionDr78
check accuracy of this algorithm and compare with: 1) Drezner, Z, (1978), Computation of the bivariate normal integral, Mathematics of Computation 32, pp. 277-279. 2) Drezner, Z. and Wesolowsky, G. O. (1990) `On the Computation of the Bivariate Normal Integral', Journal of Statistical Computation and Simulation 35, pp. 101-107. 3) Drezner, Z (1992) Computation of the Multivariate Normal Integral, ACM Transactions on Mathematics Software 18, pp. 450-460. 4) Drezner, Z (1994) Computation of the Trivariate Normal Integral, Mathematics of Computation 62, pp. 289-294. 5) Genz, A. (1992) `Numerical Computation of the Multivariate Normal Probabilities', J. Comput. Graph. Stat. 1, pp. 141-150.

Class BlackVarianceCurve
check time extrapolation

Class BlackVarianceSurface
check time extrapolation

Member BoundaryCondition::Side
Generalize for n-dimensional conditions

Class CapVolatilityVector
either add correct copy behavior or inhibit copy. Right now, a copied instance would end up with its own copy of the length vector but an interpolation pointing to the original ones.

Class CashFlows
add tests

Class Cdor
check settlement days, end-of-month adjustment, and day-count convention.

Class CliquetOption
  • add local/global caps/floors
  • add accrued coupon and last fixing

Class ContinuousAveragingAsianOption
add running average

Class DirichletBC
generalize to time-dependent conditions.

Class DiscreteGeometricASO
add analytical greeks

Member Event::hasOccurred (const Date &d, bool includeToday=false) const
make QL_TODAYS_PAYMENT dynamically configurable?

Class ExplicitEuler
add Richardson extrapolation

Class FixedRateBondForward
Add preconditions and tests

Class FixedRateBondForward
Create switch- if coupon goes to seller is toggled on, don't consider income in the $ P_{DirtyFwd}(t) $ calculation.

Class FixedRateBondForward
Verify this works when the underlying is paper (in which case ignore all AI.)

Class Forward
Add preconditions and tests

Class ForwardRateAgreement
Add preconditions and tests

Class ForwardRateAgreement
Should put an instance of ForwardRateAgreement in the FraRateHelper to ensure consistency with the piecewise yield curve.

Class ForwardRateAgreement
Differentiate between BBA (British)/AFB (French) [assumed here] and ABA (Australian) banker conventions in the calculations.

Class FuturesRateHelper
implement/refactor constructors with: Index instead of (nMonths, calendar, convention, dayCounter), IMM code

Member GeneralizedBlackScholesProcess::drift (Time t, Real x) const
revise extrapolation

Member GeneralizedBlackScholesProcess::diffusion (Time t, Real x) const
revise extrapolation

Class GenericRiskStatistics
add historical annualized volatility

Class IborIndex
add methods returning InterestRate

Class IntegralEngine
define tolerance for calculate()

Class InterestRateIndex
add methods returning InterestRate

Class Jibar
check settlement days and day-count convention.

Class LogLinearInterpolation
implement primitive, derivative, and secondDerivative functions.

Class MCVarianceSwapEngine
define tolerance of numerical integral and incorporate it in errorEstimate

Class MixedScheme
  • derive variable theta schemes
  • introduce multi time-level schemes.

Class MultiCubicSpline
  • allow extrapolation as for the other interpolations
  • investigate if and how to implement Hyman filters and different boundary conditions

Class NeumannBC
generalize to time-dependent conditions.

Class Option::arguments
  • remove std::vector<Time> stoppingTimes
  • how to handle strike-less option (asian average strike, forward, etc.)?

Class RandomizedLDS
implement the other randomization algorithms

Member SampledCurve::valueAtCenter () const
replace or complement with a more general function valueAt(spot)

Member SampledCurve::firstDerivativeAtCenter () const
replace or complement with a more general function firstDerivativeAt(spot)

Member SampledCurve::secondDerivativeAtCenter () const
replace or complement with a more general function secondDerivativeAt(spot)

Class Solver1D
  • clean up the interface so that it is clear whether the accuracy is specified for $ x $ or $ f(x) $.
  • add target value (now the target value is 0.0)

Class Swaption
add greeks and explicit exercise lag

Class Tibor
check settlement days and end-of-month adjustment.

Class TimeGrid
what was the rationale for limiting the grid to positive times? Investigate and see whether we can use it for negative ones as well.

Class TRLibor
check end-of-month adjustment.

Class UnitedKingdom
add LIFFE

Class YieldTermStructure
add derived class ParSwapTermStructure similar to ZeroYieldTermStructure, DiscountStructure, ForwardRateStructure

Class Zibor
check settlement days, end-of-month adjustment, and day-count convention.