1todo(3) QuantLib todo(3)
2
3
4
6 todo - .TH "todo" 3 "Thu Aug 19 2010" "Version 1.0.1" "QuantLib"
7
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)