1todo(3)                            QuantLib                            todo(3)
2
3
4

NAME

6       todo - .TH "todo" 3 "Thu Aug 19 2010" "Version 1.0.1" "QuantLib"
7

NAME

9       todo -
10
11       Class AmericanCondition
12           unify the intrinsicValues/Payoff thing
13
14       Class AmericanExercise
15           check that everywhere the American condition is applied from
16           earliestDate and not earlier
17
18       Class AmericanPayoffAtExpiry
19           calculate greeks
20
21       Class AmericanPayoffAtHit
22           calculate greeks
23
24       Class AnalyticContinuousGeometricAveragePriceAsianEngine
25           handle seasoned options
26
27       Class AnalyticDigitalAmericanEngine
28           add more greeks (as of now only delta and rho available)
29
30       Class AnalyticDiscreteGeometricAveragePriceAsianEngine
31           implement correct theta, rho, and dividend-rho calculation
32
33       Class BicubicSpline
34           revise end conditions
35
36       Class BinomialVanillaEngine< T >
37           Greeks are not overly accurate. They could be improved by building
38           a tree so that it has three points at the current time. The value
39           would be fetched from the middle one, while the two side points
40           would be used for estimating partial derivatives.
41
42       Class BivariateCumulativeNormalDistributionDr78
43           check accuracy of this algorithm and compare with: 1) Drezner, Z,
44           (1978), Computation of the bivariate normal integral, Mathematics
45           of Computation 32, pp. 277-279. 2) Drezner, Z. and Wesolowsky, G.
46           O. (1990) `On the Computation of the Bivariate Normal Integral',
47           Journal of Statistical Computation and Simulation 35, pp. 101-107.
48           3) Drezner, Z (1992) Computation of the Multivariate Normal
49           Integral, ACM Transactions on Mathematics Software 18, pp. 450-460.
50           4) Drezner, Z (1994) Computation of the Trivariate Normal Integral,
51           Mathematics of Computation 62, pp. 289-294. 5) Genz, A. (1992)
52           `Numerical Computation of the Multivariate Normal Probabilities',
53           J. Comput. Graph. Stat. 1, pp. 141-150.
54
55       Class BlackCallableFixedRateBondEngine
56           set additionalResults (e.g. vega, fairStrike, etc.)
57
58       Class BlackVarianceCurve
59           check time extrapolation
60
61       Class BlackVarianceSurface
62           check time extrapolation
63
64       Member BoundaryCondition< Operator >::Side
65           Generalize for n-dimensional conditions
66
67       Class CallableBond
68           models/shortrate/calibrationHelpers
69
70       OAS/OAD
71
72       floating rate callable bonds ?
73
74       Class CashFlows
75           add tests
76
77       Class CDO
78           Investigate and fix cases $ E_{i+1} < E_i. $
79
80       Class Cdor
81           check settlement days, end-of-month adjustment, and day-count
82           convention.
83
84       Class CliquetOption
85
86       · add local/global caps/floors
87
88       · add accrued coupon and last fixing
89
90       Class ContinuousAveragingAsianOption
91           add running average
92
93       Class CubicInterpolation
94           implement missing schemes (FourthOrder and ModifiedParabolic) and
95           missing boundary conditions (Periodic and Lagrange).
96
97       Class DirichletBC
98           generalize to time-dependent conditions.
99
100       Class ExplicitEuler< Operator >
101           add Richardson extrapolation
102
103       Class FDDividendEngineBase< Scheme >
104           The dividend class really needs to be made more sophisticated to
105           distinguish between fixed dividends and fractional dividends
106
107       Class FDDividendEngineShiftScale< Scheme >
108           Review literature to see whether this is described
109
110       Class FittedBondDiscountCurve
111           refactor the bond helper class so that it is pure virtual and
112           returns a generic bond or its cash flows. Derived classes would
113           include helpers for fixed-rate and zero-coupon bonds. In this way,
114           both bonds and bills can be used to fit a discount curve using the
115           exact same machinery. At present, only fixed-coupon bonds are
116           supported. An even better way to move forward might be to get rate
117           helpers to return cashflows, in which case this class could be used
118           to fit any set of cash flows, not just bonds.
119
120       add more fitting diagnostics: smoothness, standard deviation, student-t
121       test, etc. Generic smoothness method may be useful for smoothing
122       splines fitting. See Fisher, M., D. Nychka and D. Zervos: 'Fitting the
123       term
124                     structure of interest rates with smoothing splines.'
125       Board of Governors of the Federal Reserve System, Federal Resere Board
126       Working Paper, 95-1.
127
128       add extrapolation routines
129
130       Class FittedBondDiscountCurve::FittingMethod
131           derive the special-case class LinearFittingMethods from
132           FittingMethod. A linear fitting to a set of basis functions $
133           b_i(t) $ is any fitting of the form d(t) = _{i=0} c_i b_i(t) ]
134           i.e., linear in the unknown coefficients $ c_i $. Such a fitting
135           can be reduced to a linear algebra problem $ Ax = b $, and for
136           large numbers of bonds, would typically be much faster
137           computationally than the generic non-linear fitting method.
138
139       Class FixedRateBondForward
140           Add preconditions and tests
141
142       Create switch- if coupon goes to seller is toggled on, don't consider
143       income in the $ P_{DirtyFwd}(t) $ calculation.
144
145       Verify this works when the underlying is paper (in which case ignore
146       all AI.)
147
148       Class Forward
149           Add preconditions and tests
150
151       Member GeneralizedBlackScholesProcess::diffusion(Time t, Real x) const
152           revise extrapolation
153
154       Member GeneralizedBlackScholesProcess::drift(Time t, Real x) const
155           revise extrapolation
156
157       Class GenericRiskStatistics< S >
158           add historical annualized volatility
159
160       Class IntegralEngine
161           define tolerance for calculate()
162
163       Class InterestRateIndex
164           add methods returning InterestRate
165
166       Class InverseCumulativeStudent
167           Find/implement an efficient algorithm for evaluating the cumulative
168           Student t-distribution, replacing the Newton iteration
169
170       Class Jibar
171           check settlement days and day-count convention.
172
173       Class MCVarianceSwapEngine< RNG, S >
174           define tolerance of numerical integral and incorporate it in
175           errorEstimate
176
177       Class MixedScheme< Operator >
178
179       · derive variable theta schemes
180
181       · introduce multi time-level schemes.
182
183       Class MultiCubicSpline< i >
184
185       · allow extrapolation as for the other interpolations
186
187       · investigate if and how to implement Hyman filters and different
188         boundary conditions
189
190       Class NeumannBC
191           generalize to time-dependent conditions.
192
193       Class OneFactorCopula
194           Improve on simple Euler integration
195
196       Class OneFactorGaussianStudentCopula
197           Improve performance/accuracy of the calculation of inverse
198           cumulative Y. Tabulate and store it for selected correlations?
199
200       Class OneFactorStudentCopula
201           Improve performance/accuracy of the calculation of inverse
202           cumulative Y. Tabulate and store it for selected correlations?
203
204       Class OneFactorStudentGaussianCopula
205           Improve performance/accuracy of the calculation of inverse
206           cumulative Y. Tabulate and store it for selected correlations?
207
208       Class RandomizedLDS< LDS, PRS >
209           implement the other randomization algorithms
210
211       Member SampledCurve::firstDerivativeAtCenter() const
212           replace or complement with a more general function
213           firstDerivativeAt(spot)
214
215       Member SampledCurve::secondDerivativeAtCenter() const
216           replace or complement with a more general function
217           secondDerivativeAt(spot)
218
219       Member SampledCurve::valueAtCenter() const
220           replace or complement with a more general function valueAt(spot)
221
222       Class Solver1D< Impl >
223
224       · clean up the interface so that it is clear whether the accuracy is
225         specified for $ x $ or $ f(x) $.
226
227       · add target value (now the target value is 0.0)
228
229       Class SwapRateHelper
230           use input SwapIndex to create the swap
231
232       Class Swaption
233           add greeks and explicit exercise lag
234
235       Class SyntheticCDO
236           Investigate and fix cases $ E_{i+1} < E_i. $
237
238       File syntheticcdoengines.hpp
239           Add further engines for analytical expected tranche loss cases -
240           large homogeneous pool with Normal Inverse Gaussian, Gamma copula
241
242       Class Tibor
243           check settlement days and end-of-month adjustment.
244
245       Class TimeGrid
246           what was the rationale for limiting the grid to positive times?
247           Investigate and see whether we can use it for negative ones as
248           well.
249
250       Class TRLibor
251           check end-of-month adjustment.
252
253       Class UnitedKingdom
254           add LIFFE
255
256       Class YoYCapFloorTermPriceSurface
257           deal with index interpolation.
258
259       Class Zibor
260           check settlement days, end-of-month adjustment, and day-count
261           convention.
262
263Version 1.0.1                   Thu Aug 19 2010                        todo(3)
Impressum