1history(3)                         QuantLib                         history(3)
2
3
4

NAME

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

NAME

9       history - Release 1.0 - February 2010
10
11       PORTABILITY
12
13       · Fixes for x64 Visual Studio compilation (thanks to Craig Miller.)
14
15       · Enabled language extensions in Visual Studio projects.
16
17       · Prevented make errors with older shells (thanks to Walter Eaves.)
18
19       DATE/TIME
20
21       · Changes to end-of-month adjustment. In a schedule, the Unadjusted
22         convention now supersedes a non-null calendar and causes dates to
23         roll on the unadjusted end of month (possibly a holiday.)
24
25       · Added new date-generation rule for CDS (thanks to Jose Aparicio.)
26
27       · Fix for CDS fair-upfront calculation (thanks to Jose Aparicio.)
28         Previously, fair-upfront calculation required a non-null upfront to
29         begin with. This is no longer the case.
30
31       INSTRUMENTS
32
33       · Fixed discounting of dividends on convertible-bond grid (thanks to
34         Benoit Houzelle and Samuel Lerouge.)
35
36       CASH FLOWS
37
38       · A number of CashFlows methods now return a meaningful result even if
39         the passed leg is empty.
40
41       PROCESSES
42
43       · Changed default discretization for Heston process. The new default
44         (giving a better performance) is quadratic exponential with
45         Martingale correction.
46
47       TERM STRUCTURES
48
49       · Removed ambiguous parRate member functions from YieldTermStructure
50         interface.
51
52       EXAMPLES
53
54       · Added market-model example.
55
56       EXPERIMENTAL FOLDER
57
58       The ql/experimental folder contains code which is still not fully
59       integrated with the library or even fully tested, but is released in
60       order to get user feedback. Experimental classes are considered
61       unstable; their interfaces might change in future releases.
62
63       New contributions for this release were:
64
65       · Longstaff-Schwartz algorithm for basket products including coupon
66         payments (thanks to Andrea Odetti;)
67
68       · added sparse incomplete LU preconditioner for 2D finite-difference
69         models (thanks to Ralph Schreyer.)
70
71       Release 0.9.9 - November 2009
72
73       PORTABILITY
74
75       · Fixes for 64-bit compilation.
76
77       · Fixes for Sun Solaris compilation (thanks to Andreas Spengler.)
78
79       CASH FLOWS
80
81       · Added overnight-index coupon.
82
83       · Added inflation coupons.
84
85       · Parameterized CashFlows functions with explicit flag specifying
86         whether to include settlement-date cash flows.
87
88       · Added cash-flow related flags to Settings class. They determine
89         whether or not to include today's and/or settlement date's cash
90         flows. They can be overridden while calling CashFlows functions.
91
92       DATE/TIME
93
94       · Added EUWAX calendar.
95
96       · Updated 2009 holidays for China, Hong Kong, India, Indonesia,
97         Singapore, and Taiwan.
98
99       · Removed Easter Monday from Canadian holidays (thanks to Matt Knox.)
100
101       · Added weekend-only calendar.
102
103       INDEXES
104
105       · Added EONIA index.
106
107       · Added French HICP and Australian CPI inflation indexes.
108
109       INSTRUMENTS
110
111       · Added overnight-index swaps (including helper for yield-curve
112         bootstrap.)
113
114       · Added inflation cap/floors (including interface for inflation
115         cap/floor volatility structures.)
116
117       · Added inspectors for previous and next coupon dates to Bond class.
118
119       · Added implied z-spread calculation for bonds (thanks to Nathan
120         Abbott.)
121
122       · Added inspector to see whether a bond is still tradable (as opposed
123         to not expired.)
124
125       · Added constructor for fixed-rate bonds taking a generic InterestRate
126         instance (thanks to Piter Dias.)
127
128       · Added upfront to credit default swaps, including application to CDS
129         helpers (thanks to Jose Aparicio.)
130
131       · Added conventional CDS spread calculation (thanks to Jose Aparicio.)
132
133       · Enabled non-spot inflation swaps.
134
135       · Migrated asset swaps to pricing-engine framework.
136
137       · Migrated inflation swaps to pricing-engine framework.
138
139       · Migrated old average-strike Asian option pricer to pricing-engine
140         framework (thanks to IMAFA students Jean Nkeng, Adrien Pinatton, and
141         Alpha Sanou Toure.)
142
143       PRICING ENGINES
144
145       · Added builders for a few Monte Carlo engines.
146
147       · Most Monte Carlo engines can now specify either relative or absolute
148         target tolerance.
149
150       · Some Monte Carlo engines can now specify either an absolute number of
151         time steps or a number of time steps per year.
152
153       · Added choice of evolver scheme to finite-difference vanilla engines.
154
155       MATH
156
157       · Implemented Parabolic and Fritsch-Butland cubic interpolations.
158
159       · Added BFGS optimizer (thanks to Frederic Degraeve.)
160
161       · Added 1D and 2D kernel interpolation (thanks to Dimitri Reiswich.)
162
163       · Added Akima and overshooting-minimization spline algorithms (thanks
164         to Sylvain Bertrand.)
165
166       · Added FFT implementation (thanks to Slava Mazur.)
167
168       RANDOM NUMBERS
169
170       · Added Luescher's luxury random number generator (a proxy for Boost
171         implementation.)
172
173       TERM STRUCTURES
174
175       · Added hook to swap-rate helpers for external discounting term
176         structure (thanks to Roland Lichters.)
177
178       · Added seasonality to inflation term structures (thanks to Piero Del
179         Boca and Chris Kenyon.)
180
181       EXPERIMENTAL FOLDER
182
183       New contributions for this release were:
184
185       · risky bonds and asset-swap options (thanks to Roland Lichters;)
186
187       · spreaded hazard-rate curves (thanks to Roland Lichters;)
188
189       · compound options (thanks to Dimitri Reiswich;)
190
191       · refactored CDS options (thanks to Jose Aparicio;)
192
193       · finite-differences solver for the hybrid Heston Hull-White model,
194         including calibration (thanks to Klaus Spanderen;)
195
196       · finite-differences Asian-option engines (thanks to Ralph Schreyer;)
197
198       · machinery for default-event specification (thanks to Jose Aparicio;)
199
200       · recursive CDO engine (thanks to Jose Aparicio.)
201
202       Release 0.9.7 - November 18th, 2008
203
204       PORTABILITY
205
206       · Microsoft Visual C++ configurations have been renamed. The default
207         Debug and Release configurations now link to the DLL version of the
208         common runtime library. The names of other configuration should now
209         be more descriptive.
210
211       · Fixes for Solaris build.
212
213       BONDS
214
215       · Added bond example (thanks to Florent Grenier.)
216
217       · Added support for amortizing bonds (thanks to Simon Ibbotson.)
218
219       CASH FLOWS
220
221       · Added two more cashflow analysis functions (thanks to Toyin Akin.)
222
223       DATE/TIME
224
225       · Added bespoke calendar.
226
227       INDEXES
228
229       · Added GBP/USD/CHF/JPY swap-rate indexes.
230
231       · Fixed USD LIBOR calendar (settlement, not NYSE.)
232
233       MARKET MODELS
234
235       · Added first displaced-diffusion stochastic-volatility evolver.
236
237       PRICING ENGINES
238
239       · Monte Carlo average-price options now uses past fixings correctly.
240
241       QUOTES
242
243       · added LastFixingQuote, a Quote adapter for the last available fixing
244         of a given index.
245
246       EXPERIMENTAL FOLDER
247
248       New contributions for this release were:
249
250       · time-dependent binomial trees (thanks to John Maiden.)
251
252       · a new multidimensional FDM framework based on operator splitting
253         using Craig-Sneyd, Hundsdorfer or Douglas schemes (thanks to Andreas
254         Gaida, Ralph Schreyer, and Klaus Spanderen.)
255
256       · implementations of Black-variance curve and surface taking a set of
257         quotes as input (thanks to Frank Hövermann.)
258
259       · synthetic CDO engines (thanks to Roland Lichters.)
260
261       · variance options, together with a Heston-process engine (thanks to
262         Lorella Fatone, Francesca Mariani, Maria Cristina Recchioni, and
263         Francesco Zirilli.)
264
265       · a commodity framework, including instruments such as energy futures
266         and energy swaps (thanks to J. Erik Radmall.)
267
268       · quanto-barrier options (thanks to Paul Farrington.)
269
270       · amortizing bonds (thanks to Simon Ibbotson.)
271
272       · a perturbative engine for barrier options (thanks to Lorella Fatone,
273         Maria Cristina Recchioni, and Francesco Zirilli.)
274
275       Release 0.9.6 - August 6th, 2008
276
277       Bug-fix release for QuantLib 0.9.5. It fixes a bug that would cause
278       bootstrapped term structures to silently switch to linear interpolation
279       when log-linear was requested.
280
281       Release 0.9.5 - July 30th, 2008
282
283       CREDIT FRAMEWORK
284
285       New credit framework due to the joint efforts of StatPro Italia, Roland
286       Lichters, Chris Kenyon, and Jose Aparicio. The framework currently
287       include:
288
289       · Interface for default-probability term structure and adapters for
290         hazard-rate and default-density structures.
291
292       · Flat hazard-rate curve.
293
294       · Interpolated hazard-rate and default-density curves.
295
296       · Credit-default swaps (mid-point and integral engines.)
297
298       · Bootstrapped piecewise default-probability curve.
299
300       · CDS example.
301
302       PORTABILITY
303
304       · Added support for Microsoft Visual C++ 2008 (Boost 1.35 is required
305         for this compiler.)
306
307       · Fixes for Cygwin build.
308
309       EXPERIMENTAL FOLDER
310
311       The new ql/experimental folder contains code which is still not fully
312       integrated with the library, but is released in order to get user
313       feedback. Experimental classes are considered unstable; their
314       interfaces are likely to change in future releases. The folder
315       currently include:
316
317       · Generic MC basket option (thanks to Andrea Odetti.)
318
319       · CDS option (thanks to Roland Stamm.)
320
321       · Nth-to-default swap (thanks to Roland Lichters.)
322
323       · Extended Black-Scholes-Merton process (thanks to Frank Hoermann.)
324
325       · Quanto-adjusted coupons and averaged coupons (thanks to Toyin Akin.)
326
327       · Callable bonds (thanks to Allen Kuo.)
328
329       · New framework for volatility term structures.
330
331       · Sensitivity analysis functions.
332
333       CALENDARS
334
335       · Added 2008 holidays for China, India, Indonesia, Singapore, and
336         Taiwan.
337
338       · Added one-off holiday (President Reagan's and Ford's funerals) to
339         NYSE calendar.
340
341       · Fixed South Korea calendar (thanks to Charles Chongseok Hyun.)
342
343       CURRENCIES
344
345       · Added Peruvian currency.
346
347       DATES
348
349       · Added date-generation rules for CDS schedules (i.e., rolling to the
350         20th of the month.)
351
352       INDEXES
353
354       · Added SEK LIBOR index.
355
356       INSTRUMENTS
357
358       · Ported Himalaya and Everest options to pricing-engine framework
359         (thanks to the IMAFA students at Polytech'Nice Sophia: Jeome Bessi,
360         Seastien Bonifaci, Benjamin Degerbaix and Renaud Pentel.)
361
362       MATH
363
364       · Added matrix determinant.
365
366       · Added QR matrix decomposition.
367
368       · Added a number of copulas (thanks to Marek Glowacki.)
369
370       · Added constrained cubic spline.
371
372       · Implemented derivative and second derivative of log-interpolations.
373
374       · Added Gauss-Lobatto integration.
375
376       · Added student-t distribution (thanks to Roland Lichters.)
377
378       MODELS
379
380       · Added calibrated GJR-GARCH model (thanks to Yee Man Chan.)
381
382       · Added Feller constraint to Heston model.
383
384       PRICING ENGINES
385
386       · Refactored variance-swap engines (the underlying stochastic process
387         is now passed to the pricing engine.)
388
389       · Added GJR-GARCH pricing engines for vanilla options (thanks to Yee
390         Man Chan.)
391
392       PROCESSES
393
394       · Added Euler end-point discretization (thanks to Frank Hoermann.)
395
396       · Added GJR-GARCH process (thanks to Yee Man Chan.)
397
398       · Added Bates process.
399
400       TERM STRUCTURES
401
402       · Added turn-of-year effect to yield-curve bootstrapping (generalized
403         to multiple jumps at arbitrary dates.)
404
405       · Added local bootstrap of forward rates (thanks to Simon Ibbotson.)
406
407       · Disabled copies of interpolated curves (the existing behavior was
408         incorrect. A fix to re-enable copying will be included in a future
409         release.)
410
411       VOLATILITY
412
413       · Added constant cap/floor term volatility structure.
414
415       · Added stripped optionlet.
416
417       Release 0.9.0 - December 24th, 2007
418
419       PORTABILITY
420
421       · Fixes for MSYS and Cygwin build.
422
423       · Fixes for VC++ build with CLR support enabled.
424
425       · Dropped MetroWerks CodeWarrior support.
426
427       CALENDARS
428
429       · Fix for business-days calculation (thanks to Piter Dias.)
430
431       · Updated Hong Kong's holidays for 2008 and China's for 2007.
432
433       · Added new holiday to Canadian calendars (thanks to Matt Knox.)
434
435       · Fixed joint-calendar specification (thanks to Jay Walters.)
436
437       · Split Canadian calendar into settlement and TSX (thanks to Matt
438         Knox.)
439
440       · Added Brazilian exchange calendar (thanks to Richard Gomes.)
441
442       · Fixes for the Brazilian calendars (thanks to Piter Dias.)
443
444       CASH FLOWS
445
446       · Added average-BMA coupon (thanks to Roland Lichters.)
447
448       · Fixed-rate coupons can now accept an InterestRate instance (thanks to
449         Piter Dias.)
450
451       · implemented cash-flow vector builders as helper classes to ease
452         skipping default parameters and single/multiple inputs.
453
454       DATES
455
456       · Extended date range up to year 2199.
457
458       · Fixed period comparison (thanks to Chris Kenyon.)
459
460       · Fixed short date formatting (thanks to Robert Lopez.)
461
462       · Enhanced period algebra.
463
464       INDEXES
465
466       · Added BMA index (thanks to Roland Lichters.)
467
468       · Added inflation indexes (thanks to Chris Kenyon.)
469
470       · Added historical interest-rate index analysis.
471
472       INSTRUMENTS
473
474       · Added BMA swaps (thanks to Roland Lichters.)
475
476       · Added year-on-year and zero-coupon inflation swaps (thanks to Chris
477         Kenyon.)
478
479       · Fixed stub-date management and backward date generation for fixed-
480         rate bonds (thanks to Toyin Akin.)
481
482       · Added clean/dirty bond-price calculation from Z-spread.
483
484       LATTICES
485
486       · Fixed Tsiveriotis-Fernandes tree initialization (thanks to John
487         Maiden.)
488
489       MATH
490
491       · Added multi-dimensional cost function for least-square problems
492         (thanks to Guillaume Pealat.)
493
494       · Added histogram class (thanks to Gang Liang.)
495
496       · Added log-cubic interpolation.
497
498       · Fixed conjugate-gradient bug.
499
500       · Fixed nested Levenberg-Marquardt bug.
501
502       PRICING ENGINES
503
504       · Refactored option engines (the underlying stochastic process is now
505         passed to the pricing engine.)
506
507       · Refactored bond, cap/floor, swap, and swaption engines (the discount
508         curve is now passed to the pricing engine.)
509
510       · Added Heston/Hull-White analytic and Monte Carlo engines for vanilla
511         options.
512
513       · Fixed bug in blackFormulaCashItmProbability in case of non null
514         displacement.
515
516       PROCESSES
517
518       · Added hybrid Heston/Hull-White process.
519
520       · Fixed joint-process bug.
521
522       QUOTES
523
524       · Added forward-swap quote.
525
526       RANDOM NUMBERS
527
528       · Fixed ordering of primitive polynomials for Sobol/Levitan and
529         Sobol/Levitan/Lemieux methods.
530
531       · Added JoeKuoD5, JoeKuoD6 and JoeKuoD7 direction integers for Sobol
532         generator.
533
534       · Added Kuo, Kuo2 and Kuo3 direction integers for Sobol generator.
535
536       · Added class to generate low-discrepancy sequences using a lattice
537         rule.
538
539       TERM STRUCTURES
540
541       · Added discount curve fitted on bond prices (thanks to Allen Kuo.)
542
543       · Added BMA-swap rate helper (thanks to Roland Lichters.)
544
545       · Made SwapRateHelper forward-start enabled.
546
547       · Added universal term-structure bootstrapper (thanks to Chris Kenyon.)
548
549       · Added abstract inflation term structures (thanks to Chris Kenyon.)
550
551       · Added piecewise inflation curves (thanks to Chris Kenyon.)
552
553       Release 0.8.1 - June 4th, 2007
554
555       PORTABILITY
556
557       · Version 0.8.1 adds support for Boost 1.34 on Linux systems. If you
558         are using version 0.8.0 on Windows systems, you do not need this
559         upgrade.
560
561       Release 0.8.0 - May 30th, 2007
562
563       PORTABILITY
564
565       · Version 0.8.0 is the last QuantLib release to support the Metrowerks
566         CodeWarrior compiler (which was discountinued by Metrowerks.) If you
567         use such compiler and want support to continue, you can volunteer for
568         maintaining the necessary patches: contact the QuantLib developers
569         for information.
570
571       SOURCE TREE
572
573       · Files and folders in the source tree have been reorganized (hopefully
574         for th ebetter.) If you only included <ql/quantlib.hpp>, all changes
575         were taken care of for you. if you included specific headers, you
576         might want to check its current location; in particular, all folder
577         names are now lowercase.
578
579       CALENDARS
580
581       · Added 2007 holidays for Indonesia, Saudi Arabia, and South Korea
582         calendars.
583
584       CASH FLOWS
585
586       · Added floater range-accrual coupons.
587
588       INDEXES
589
590       · Added EuriborSwapFixB family.
591
592       INSTRUMENTS
593
594       · Added capped/floored floating-rate bond. It can also be used for
595         reverse floaters.
596
597       · Added delta, gamma and theta to binomial option engines (thanks to
598         Steve Cook.)
599
600       · Refactored basket engines to allow for more payoffs.
601
602       LIBOR MARKET MODEL
603
604       · This release includes an experimental implementation of a Libor
605         market model developed with Mark Joshi. Improvements since release
606         0.4.0 include normal forward-rate market model, lognormal CMS market
607         model, lognormal coterminal-swap market model, and calibration to
608         caplets and coterminal swaptions. The interface of the model and its
609         integration with the bulk of the library are still in development.
610
611       MATH
612
613       · Adaptive Gauss-Kronrod integration added.
614
615       · Added Higham's nearest correlation matrix method (thanks to Neil
616         Firth)
617
618       · Refactored optimization framework.
619
620       PROCESSES
621
622       · Added new discretization schema to Heston process.
623
624       UTILITIES
625
626       · The Handle class was split into RelinkableHandle (behaving like the
627         old Handle class) and Handle (which is notified when its copies are
628         relinked, but cannot itself be relinked.) The former can safely be
629         returned from inspectors.
630
631       Release 0.4.0 - February 20th, 2007
632
633       PORTABILITY
634
635       · Starting with release 0.4.0, the Borland free compiler 5.5 and
636         Microsoft Visual C++ 6.0 are no longer supported. If you use one of
637         these compilers and want support to continue, you can volunteer for
638         maintaining the necessary patches: contact the QuantLib developers
639         for information.
640
641       CALENDARS
642
643       · Added 2007 holidays for Hong Kong, India, Singapore, and Taiwan
644         exchanges.
645
646       LIBOR MARKET MODEL
647
648       · This release includes an experimental implementation of a Libor
649         market model developed with Mark Joshi. Improvements since release
650         0.3.14 include the use of quasi-random number generators and the
651         calculation of Greeks and of upper bounds for instruments with early-
652         exercise features. The interface of the model and its integration
653         with the bulk of the library are still in development.
654
655       INSTRUMENTS
656
657       · Added helper classes to make it easier to instantiate swaps,
658         caps/floors, and CMS instruments.
659
660       INTEREST RATES
661
662       · Added capped/floored floating-rate coupons (including convexity
663         adjustment.)
664
665       MATH
666
667       · Curve, domain and surface interfaces added.
668
669       PROCESSES
670
671       · Added reversion level to Ornstein-Uhlenbeck process (thanks to Roland
672         Lichters.)
673
674       VOLATILITY TERM STRUCTURES
675
676       · Added stripping of caplet-volatility term structure from cap quotes.
677
678       · Improved SABR interpolation and calibration.
679
680       Release 0.3.14 - November 6th, 2006
681
682       PORTABILITY
683
684       · Version 0.3.14 is the last QuantLib release to support the Borland
685         free compiler 5.5 and Microsoft Visual C++ 6.0. If you use one of
686         these compilers and want support to continue, you can volunteer for
687         maintaining the necessary patches: contact the QuantLib developers
688         for information.
689
690       LIBOR MARKET MODEL
691
692       · This release includes an experimental implementation of a Libor
693         market model developed with Mark Joshi. The interface and its
694         integration with the bulk of the library are still in development.
695
696       CURRENCIES
697
698       · Added Romanian new lev.
699
700       DATES, CALENDARS, AND DAY COUNTERS
701
702       · Added all serial 3M IMM futures (thanks to Toyin Akin.)
703
704       · Reworked the Schedule class so that it follows market conventions
705         more closely.
706
707       · Added business/252 day-count convention (thanks to Piter Dias.)
708
709       INTEREST RATES
710
711       · Added base swap-rate class and a number of actual swap rates.
712
713       · Added constant-maturity swap coupons (including convexity
714         adjustment.)
715
716       INSTRUMENTS
717
718       · Added asset swaps.
719
720       · Added face amount to bonds (defaulting to 100.)
721
722       MATH
723
724       · Added hypersphere and lower-diagonal salvaging algorithms (thanks to
725         Yiping Chen.)
726
727       PRICING ENGINES
728
729       · Added Longstaff-Schwartz Monte-Carlo algorithm for American/Bermudan
730         equity options with deterministic interest rates.
731
732       TERM STRUCTURE
733
734       · Added piecewise-spreaded yield curve (thanks to Roland Lichters.)
735
736       Release 0.3.13 - July 31st, 2006
737
738       CALENDARS
739
740       · Added NERC calendar (thanks to Joe Byers.)
741
742       INSTRUMENTS AND PRICING ENGINES
743
744       · Added continuous fixed and floating lookback options (thanks to
745         Warren Chou.)
746
747       · Added FRA and forward fixed-coupon bonds; examples provided (thanks
748         to Allen Kuo.)
749
750       · Added variance swaps (thanks to Warren Chou.)
751
752       · Added composite instrument; example provided.
753
754       · Added cash-settled swaption pricing in Black swaption engine; test
755         provided.
756
757       · Added discrete dividends and soft callability to convertible bonds.
758
759       INTEREST RATES
760
761       · Fixed business-day conventions for Euribor and LIBOR indices
762         (following below one month, month-end from one month onwards.)
763
764       MODELS
765
766       · Added more complex market parameterizations and performance
767         improvements for Libor market model (thanks to Klaus Spanderen.)
768
769       PROCESSES
770
771       · Renamed BlackScholedProcess to GeneralizedBlackScholedProcess;
772         specialized classes added for Black-Scholes, Merton, Black and
773         Garman-Kohlhagen processes.
774
775       · Added Hull-White and G2 processes for Monte Carlo simulation (thanks
776         to Banca Profilo.)
777
778       RANDOM NUMBERS
779
780       · Added possibility to skip directly to the n-th item in a Sobol
781         sequence (thanks to Richard Gould.)
782
783       MATH
784
785       · Added SABR interpolation for volatilities.
786
787       · Added general linear least-squares regression (thanks to Klaus
788         Spanderen.)
789
790       Release 0.3.12 - March 27th, 2006
791
792       CALENDARS
793
794       · Added Brazilian calendar (thanks to Piter Dias.)
795
796       · Added Argentinian, Icelandic, Indonesian, Mexican, and Ukrainian
797         calendars.
798
799       INSTRUMENTS AND PRICING ENGINES
800
801       · Added convertible bonds (thanks to Theo Boafo.)
802
803       · The cash flows returned by the Bond::cashflows method now include the
804         redemption.
805
806       · SimpleSwap can now be set an engine. If none is set, the old cash-
807         flow-based calculation is used.
808
809       · Generalized McVanillaEngine so that it can manage n-dimensional
810         processes; it now subsumes McHestonEngine.
811
812       · Added pricing of Bermudan options on binomial trees (thanks to Enrico
813         Michelotti.)
814
815       · Separated accrual and payment conventions for bonds.
816
817       · Modified basis-point sensitivity calculation so that it returns the
818         cash variation for a basis-point change in rate (it used to return
819         the figure to be multiplied by the variation in order to obtain the
820         same result.)
821
822       MODELS
823
824       · Added weights to short-rate model calibration (thanks to Enrico
825         Michelotti.)
826
827       · Added Libor market model (thanks to Klaus Spanderen.)
828
829       OPTIMIZATION
830
831       · Added Levenberg-Marquardt optimization method (thanks to Klaus
832         Spanderen.)
833
834       EXAMPLES
835
836       · Merged American and European option examples; added Bermudan option.
837
838       · Added convertible-bond example (thanks to Theo Boafo.)
839
840       Release 0.3.11 - October 20th, 2005
841
842       GLOBAL FEATURES
843
844       · Added configuration option for adding current function information to
845         error messages.
846
847       · Added hook for multiple sessions to Singleton.
848
849       CALENDARS
850
851       · Added Bombay and Taipei calendars.
852
853       CURRENCIES
854
855       · Added new Turkish lira.
856
857       INDEXES
858
859       · More accurate LIBOR calendars (thanks to Daniele de Francesco.)
860
861       · Added DKKLibor, EURLibor, and NZDLibor indexes.
862
863       · Added TRLibor index (thanks to Sercan Atalik.)
864
865       PRICING ENGINES
866
867       · Added Bates stochastic-volatility model; tests provided (thanks to
868         Klaus Spanderen.)
869
870       · Added vega to analytic discrete-averaging Asian engine; test provided
871         (thanks to Gary Kennedy.)
872
873       · Added stochastic process for caplet Libor market model; tests
874         provided (thanks to Klaus Spanderen.)
875
876       TERM STRUCTURES
877
878       · Added fixed-coupon bond helper for curve bootstrapping (thanks to
879         Toyin Akin.)
880
881       MATH
882
883       · Added tabulated Gauss-Legendre quadratures (thanks to Gary Kennedy.)
884
885       · Added more precise implementation of bivariate cumulative normal
886         distribution (thanks to Gary Kennedy.)
887
888       Release 0.3.10 - July 14th, 2005
889
890       GLOBAL FEATURES
891
892       · The suggested syntax for setting and registering with the global
893         evaluation date is now:
894
895             Settings::instance().evaluationDate() = date;
896             registerWith(Settings::instance().evaluationDate());
897
898
899       CALENDARS
900
901       · Istanbul calendar added (thanks to Serkan Atalik.)
902
903       LATTICE FRAMEWORK
904
905       · Faster implementation of binomial and trinomial trees.
906
907       MONTE CARLO FRAMEWORK
908
909       · Added generic multi-dimensional stochastic process.
910
911       · Added stochastic process array (thanks to Klaus Spanderen.)
912
913       · Multi-path generator now takes a generic stochastic process; tests
914         provided.
915
916       · New Path class implemented which stores asset values rather than
917         variations; this makes pricers independent on whether or not log-
918         variations were calculated. The new class is enabled when
919         QL_DISABLE_DEPRECATED is defined; the old class is used otherwise.
920
921       INSTRUMENTS
922
923       · Multi-asset option now takes a generic stochastic process.
924
925       MODELS
926
927       · Added Heston stochastic-volatility model; tests provided (thanks to
928         Klaus Spanderen.) Provided code include:
929
930         · a corresponding stochastic process;
931
932         · analytic and Monte Carlo option-pricing engines;
933
934         · parameter calibration.
935
936       CASH FLOWS
937
938       · Cash-flow analyses such as NPV, IRR, convexity and duration added
939         (thanks to Charles Whitmore.)
940
941       MATH
942
943       · Added Gaussian orthogonal polynomials and Gaussian quadratures; tests
944         provided (thanks to Klaus Spanderen.)
945
946       · Convergence statistics added; tests provided (thanks to Gary
947         Kennedy.)
948
949       Release 0.3.9 - May 2nd, 2005
950
951       GLOBAL FEATURES
952
953       · QL_SQRT, QL_MIN etc. deprecated in favor of std::sqrt, std::min...
954
955       · Added a tentative tracing facility to ease debugging.
956
957       · Formatters deprecated in favor of output manipulators. A number of
958         data types can now be sent directly to output streams.
959
960       · Stream-based implementation of QL_REQUIRE, QL_TRACE and similar
961         macros. Together with manipulators, this allows one to write simpler
962         error messages, as in:
963
964             QL_FAIL('forward at date ' << d << ' is ' << io::rate(f));
965
966
967       INSTRUMENTS
968
969       · Improved Bond class
970
971         · yield-related calculation can be performed with either compounded
972           or continuous compounding;
973
974         · added theoretical price based on discount curve;
975
976         · fixed-rate coupon bonds can define different rates for each coupon;
977
978         · added zero-coupon and floating-rate bonds (thanks to StatPro.)
979
980       · Option instruments now take a generic StochasticProcess; however,
981         most pricing engines still require a BlackScholesProcess. They should
982         be checked to see whether the requirement can be relaxed. Following
983         this change, Merton76Process no longer inherits from
984         BlackScholesProcess. This avoids erroneous upcasts.
985
986       · Partial fix for Bermudan swaptions with exercise lag (thanks to Luca
987         Berardi for the report and discussion.)
988
989       · Fix for analytic cap/floor engine; caplets/floorlets whose fixing is
990         in the past are now calculated correctly (thanks to Aurelien
991         Chanudet.)
992
993       CALENDARS
994
995       · Added Bratislava and Prague calendars.
996
997       INDICES
998
999       · Fixed calendars for LIBOR fixings (thanks to Daniele De Francesco.)
1000
1001       FINITE_DIFFERENCES FRAMEWORK
1002
1003       · Migrated finite-difference pricers to pricing-engine framework
1004         (thanks to Joseph Wang.)
1005
1006       YIELD TERM STRUCTURES
1007
1008       · Added generic piecewise yield term structure. Client code can choose
1009         what to interpolate (discounts, zero yields, forwards) and how
1010         (linear, log-linear, flat) by instantiating types such as:
1011
1012             PiecewiseYieldCurve<Discount,LogLinear>
1013             PiecewiseYieldCurve<ZeroYield,Linear>
1014             PiecewiseYieldCurve<ForwardRate,Linear>
1015
1016
1017       · Interpolated discount, zero-yield and forward-rate curves can now be
1018         set any interpolation.
1019
1020       · FlatForward can now take rates with compounding other than
1021         continuous.
1022
1023       · Fix for extrapolation in zero-spreaded and forward-spreaded yield
1024         term structure (thanks to Adjriou Belak for the report.)
1025
1026       MATH
1027
1028       · Added backward- and forward-flat interpolations.
1029
1030       Release 0.3.8 - December 22nd, 2004
1031
1032       REQUIRED PACKAGES
1033
1034       · Boost version 1.31.0 or later is now required.
1035
1036       DOCUMENTATION
1037
1038       · Documentation now includes a FAQ page.
1039
1040       GLOBAL FEATURES
1041
1042       · Global evaluation date added through Settings class. Used for index-
1043         fixing and exchange-rate lookup.
1044
1045       · added InterestRate class, which encapsulate the interest rate
1046         compounding algebra. It manages day-counting convention, compounding
1047         convention, conversion between different conventions, and
1048         discount/compounding factor calculations. It also has its own
1049         formatter.
1050
1051       INSTRUMENTS
1052
1053       · Bond and FixedCouponBond classes added (thanks to Jeff Yu) providing
1054         price/yield conversions; tests provided.
1055
1056       DATE, CALENDARS, AND DAY COUNT CONVENTIONS
1057
1058       · Reworked Date interface. Added nextWeekday() and nthWeekday() static
1059         methods to the class Date. Added nextIMM() for the calculation of the
1060         next IMM date.
1061
1062       · Added WeekdayFormatter and FrequencyFormatter
1063
1064       · Added '1/1' day counter. The Actual365 is deprecated: as per ISDA
1065         documentation 'Actual/365' is the same as 'Actual/Actual'. Use the
1066         ActualActual class instead, or the Actual365Fixed class.
1067
1068       · Added dayCounterFromString(std::string) to QuantLibFunctions.
1069
1070       · Improved Beijing calendar (thanks to Zhou Wu.)
1071
1072       CURRENCIES AND FX RATES
1073
1074       · Added currency classes; CurrencyTag replaced in library code.
1075
1076       · Added money class providing arithmetic with or without conversions;
1077         tests provided.
1078
1079       · Added exchange-rate class; tests provided.
1080
1081       · Added exchange-rate manager with smart rate lookup, i.e., able to
1082         derive a missing exchange rate as a chain of provided rates; tests
1083         provided.
1084
1085       MONTE CARLO FRAMEWORK
1086
1087       · Added Faure low-discrepancy sequence (thanks to Gianni Piolanti;)
1088         tests provided.
1089
1090       · Added randomized (shifted) low discrepancy sequences that will be
1091         used for randomized quasi Monte Carlo.
1092
1093       · Added SeedGenerator class, for random generation of seeds when they
1094         are not given by the user.
1095
1096       · Added the implementation of Sobol sequences using the coefficients of
1097         the free direction integers as provided by Bratley and Fox, who
1098         credited unpublished work of Sobol's and Levitan's.
1099
1100       · Added an implementation of Sobol sequences using the coefficients of
1101         the free direction integers of Lemieux, Cieslak, and Luttmer.
1102         Coefficients for d<=40 are the same as in Bradley-Fox. For dimension
1103         40<d<=360 the coefficients have been calculated as optimal values
1104         based on the 'resolution' criterion. The values has been provided by
1105         Christiane Lemieux, private communication, September 2004.
1106
1107       · PathGenerator now works correctly with processes describing S instead
1108         of log S. Geometric Brownian process added (thanks to Walter
1109         Penschke.)
1110
1111       LATTICE FRAMEWORK
1112
1113       · Reworked the DiscretizedAsset interface.
1114
1115       PRICING ENGINES FRAMEWORK
1116
1117       · Added pricing engine for American options with Ju quadratic
1118         approximation.
1119
1120       · Average-price Asian pricers have been deprecated. New equivalent
1121         pricing engines added.
1122
1123       FIXED INCOME
1124
1125       · Added current coupon to discretized swap and cap/floor.
1126
1127       · Added IndexManager as a singleton (will replace XiborManager--already
1128         obsoleted in library code.)
1129
1130       · Added DayCounter parameter to ParCoupon (to be used for accruing
1131         spreads and past fixings.) When missing, it defaults to that of the
1132         term structure.
1133
1134       · Added compilation flag to select default floating-coupon type.
1135
1136       · IndexedCoupon can now take a generic index rather than a Libor
1137         (thanks to Daniele De Francesco.)
1138
1139       · Added hooks for convexity adjustment in floating-rate coupons;
1140         implemented adjustment for InArrearIndexedCoupon.
1141
1142       YIELD TERM STRUCTURE
1143
1144       · TermStructure renamed to YieldTermStructure (the former name was
1145         deprecated.)
1146
1147       · New base class BaseTermStructure which can calculate its reference
1148         date based on the global evaluation date. YieldTermStructure,
1149         BlackVolTermStructure, LocalVolTermStructure,
1150         CapFlatVolatilityStructure, CapletForwardVolatilityStructure, and
1151         SwaptionVolatilityStructure are now derived from BaseTermStructure so
1152         that they inherit its functionality.
1153
1154       PATTERNS
1155
1156       · Added Singleton pattern.
1157
1158       MATH
1159
1160       · Added N-dimensional cubic spline (thanks to Roman Gitlin.)
1161
1162       · Added CovarianceDecomposition class (decomposes a covariance matrix
1163         into standard deviations and correlations)
1164
1165       MISCELLANEA
1166
1167       · Renamed RelinkableHandle to Handle.
1168
1169       PORTABILITY
1170
1171       · Support for Dev-C++ IDE added.
1172
1173       · Fixes for gcc 2.95 added (thanks to Michael Dirkmann.)
1174
1175       Release 0.3.7 - July 23rd, 2004
1176
1177       IMPORTANT
1178
1179       QuantLib now depends on the Boost library (www.boost.org).
1180
1181       You will need a working Boost installation in order to compile and use
1182       QuantLib. Instructions for installing Boost from sources are available
1183       at <http://www.boost.org/more/getting_started.html>. Pre-packaged
1184       binaries might be available from other sources. Google is your friend
1185       (or Debian, or Fink...)
1186
1187       DATE, CALENDARS, AND DAY COUNT CONVENTIONS
1188
1189       · Working on differentiating calendars depending on country or
1190         exchange, instead of city.
1191
1192       · Added Italy (Settlement, Exchange), United Kingdom (Settlement,
1193         Exchange, Metals), United States (Settlement, Exchange,
1194         GovermentBond), Xetra.
1195
1196       · Milan, London, and NewYork calendars have been deprecated.
1197
1198       · Added (old-style) calendars: Beijing, Hong Kong, Riyadh, Seoul,
1199         Singapore, Taiwan.
1200
1201       · RollingConvention has been renamed BusinessDayConvention, as for ISDA
1202         definitions.
1203
1204       MATH
1205
1206       · Added rounding algorythms as per OMG enumeration/definition.
1207
1208       TEST SUITE
1209
1210       · Moved to Boost unit test framework. CppUnit is no longer needed.
1211
1212       · Added test for quanto and forward compound engines.
1213
1214       · Added test for roundings.
1215
1216       · Added test for discrete dividend European options.
1217
1218       · Added test for cliquet options.
1219
1220       MISCELLANEA
1221
1222       · enable/disableExtrapolation() methods were added to a few classes
1223         such as TermStructure. They make it possible to persistently allow
1224         extrapolation without the need of specifying it at every method call.
1225
1226       · Added user-configurable flag to disable usage of deprecated classes.
1227
1228       PORTABILITY
1229
1230       · Fink package available
1231
1232       · Visual C++ 7.x project files added
1233
1234       Release 0.3.6 - April 15th, 2004
1235
1236       Bug-fix release for QuantLib 0.3.5. A bug was removed where calls to
1237       impliedVolatility() would break the state of the option and of all
1238       options sharing the same stochastic process.
1239
1240       Release 0.3.5 - March 31th, 2004
1241
1242       BOOST SUPPORT
1243
1244       · When available, QuantLib 0.3.5 now uses parts of the Boost library.
1245         The presence of Boost is detected automatically under Unix/Linux
1246         systems; on Windows systems, it must be enabled by uncommenting the
1247         relevant line in ql/userconfig.hpp.
1248
1249       · In the next QuantLib release, the presence of the Boost library will
1250         be mandatory.
1251
1252       MONTE CARLO FRAMEWORK
1253
1254       · Modified MultiPath interface to remove drifts. They are now in the
1255         stochastic processes.
1256
1257       · Preliminary implementation of Longstaff-Schwartz least-squares
1258
1259       · Monte Carlo pricer for European basket options
1260
1261       · Brownian-bridge bugs fixed
1262
1263       · StochasticProcess base class and derived classes (diffusion, jump-
1264         diffusion, etc.) have been created.
1265
1266       PRICING ENGINES FRAMEWORK
1267
1268       · Pricing engines now use Payoff and Exercise classes.
1269
1270       · American basket options.
1271
1272       · Binary barrier option replaced by vanilla option with digital payoff.
1273
1274       · Stulz engine for max and min basket calls and puts on two assets.
1275
1276       · American binary option added (a.k.a. one-touch, american digital,
1277         americal barrier, etc.) with different payoffs (cash/asset at
1278         hit/expiry, etc.)
1279
1280       · Added engine for Merton 1976 jump-diffusion process.
1281
1282       · Added Bjerksund and Stensland approximation for American option
1283         (still unstable.)
1284
1285       · Added Barone-Adesi and Whaley approximation for American option.
1286
1287       · Improved Black formula engine with more greeks added.
1288
1289       · Discrete geometric asian option.
1290
1291       · Added Leisen-Reimer binomial tree.
1292
1293       SHORT RATE MODELS
1294
1295       · Model renamed to ShortRateModel. A typedef is provided for backward
1296         compatibility--it will be removed in subsequent releases.
1297
1298       VOLATILITY FRAMEWORK
1299
1300       · bug fix for short time (0<=t<=Tmin) interpolation
1301
1302       OPTIMIZATION FRAMEWORK
1303
1304       · Method renamed to OptimizationMethod. A typedef is provided for
1305         backward compatibility--it will be removed in subsequent releases.
1306
1307       PATTERNS
1308
1309       · Composite pattern
1310
1311       MATH
1312
1313       · Improved cubic spline interpolation. It now handles end conditions
1314         such as first derivative value, second derivative value, not-a-knot.
1315         Hyman filter for monotonically constrained interpolation has been
1316         implemented. Primitive calculation has been enabled in addition to
1317         derivative and second derivative.
1318
1319       · Primitive, first derivative, and second derivative functions are
1320         available for linear interpolator.
1321
1322       · Singular value decomposition improved.
1323
1324       · Added bivariate cumulative normal distribution.
1325
1326       · Added binomial coefficient calculation, binomial distribution,
1327         cumulative binomial distribution, and Peizer-Pratt inversion (method
1328         2.)
1329
1330       · Added beta functions.
1331
1332       · Added Poisson distribution and cumulative distribution.
1333
1334       · Added incomplete gamma functions.
1335
1336       · Added factorial calculation.
1337
1338       · Added rank-reduced square root and improved pseudo-square root of
1339         square symmetric matrices.
1340
1341       · Added Cholesky decomposition.
1342
1343       TEST SUITE
1344
1345       · Added test for cubic spline interpolation.
1346
1347       · Added test for singular value decomposition.
1348
1349       · Added test for two-asset baskets using the Stulz pricing engine.
1350
1351       · Added test for Monte Carlo American cash-at-hit options.
1352
1353       · Added test for jump-diffusion engine.
1354
1355       · Added test for American and European digital options.
1356
1357       MISCELLANEA
1358
1359       · Inner namespaces have been deprecated.
1360
1361       · Added frequency enumeration, including 'once'.
1362
1363       · MarketElement renamed to Quote.
1364
1365       · Handling strike=0.0 where possible.
1366
1367       · More Payoff classes have been introduced: gap, asset-or-nothing,
1368         cash-or-nothing. Payoff is now extensively used.
1369
1370       · Exercise class is now polymorphic. More derived classes have been
1371         introduced, and they are now extensively used.
1372
1373       · Introduced QL_FAIL macro.
1374
1375       · Added calendar for Copenhagen
1376
1377       · 14 April 2004 (election day) added to Johannesburg calendar as a one-
1378         off holiday.
1379
1380       · Documentation generated with Doxygen 1.3.6.
1381
1382       · Win32 installer generated with NSIS 2.0.
1383
1384       Release 0.3.4 - November 21th, 2003
1385
1386       MONTE CARLO FRAMEWORK
1387
1388       · MC European in one step with strike-independent vol curve (hopefully)
1389
1390       · Path pricer for Binary options. It should cover both European and
1391         American style options. Also known as: Digital, Binary, Cash-At-Hit,
1392         Cash-At-Expiry.
1393
1394       · Path pricers for barrier options
1395
1396       PRICING ENGINES FRAMEWORK
1397
1398       · More options moved to the new pricing engine framework: binary,
1399         barrier
1400
1401       · Changed setupEngine() into setupArguments(args)
1402
1403       · Moved pricing-engine machinery up to Instrument class
1404
1405       FIXED INCOME
1406
1407       · New basis-point sensitivity functions
1408
1409       · Added Swap::startDate() and maturity()
1410
1411       · Cap/floor fixing days taken into account
1412
1413       SHORT RATE MODELS
1414
1415       · An additional constraint can now be passed to the calibration
1416
1417       VOLATILITY FRAMEWORK
1418
1419       · Visitable volatility term structures
1420
1421       OPTIMIZATION FRAMEWORK
1422
1423       · Added composite constraint
1424
1425       PATTERNS
1426
1427       · Visitor, Alexandrescu-style (saves some code duplication)
1428
1429       MATH
1430
1431       · Added more integration algorithms contributed by Roman Gitlin
1432
1433       · Relaxed constaints on interval boundaries for integration algorithms
1434
1435       · Interpolation traits
1436
1437       TEST SUITE
1438
1439       · Added implied cap/floor term volatility test
1440
1441       · Added test for binary options in PricingEngine Framework.
1442
1443       · Added tests for Barrier options in PricingEngine Framework. Some
1444         Monte Carlo tests, but not comprehensive.
1445
1446       MISCELLANEA
1447
1448       · Conditionally allowed negative yields (disabled by default)
1449
1450       · Null calendar and simple day counter for reproducing theoretical
1451         calculations
1452
1453       · Fixed for VC++.Net compilation
1454
1455       · Added spec file for RPMs
1456
1457       · Added global flag for early/late payments
1458
1459       · Enabled test suite for Borland
1460
1461       · Removed OnTheEdge VC++ configurations
1462
1463       · Added VC++ configurations for static and dynamic Multithread
1464         libraries
1465
1466       · Upgraded to use Doxygen 1.3.4
1467
1468       Release 0.3.3 - September 3rd, 2003
1469
1470       MONTE CARLO FRAMEWORK
1471
1472       · Re-templatized Monte Carlo model based on traits.
1473
1474       · New path generator based on DiffusionProcess, TimeGrid, and
1475         externally initialized random number generator.
1476
1477       · Added Halton low discrepancy sequence.
1478
1479       · Added sequence generators: random sequence generator creates a
1480         sequence generator out of a random number generator.
1481         InvCumGaussianRsg creates a gaussian sequence generator out of a
1482         uniform (random or low discrepancy) sequence generator.
1483
1484       · RNG as constructor input constructor( long seed) deprecated.
1485
1486       · Mersenne Twister random number generator added
1487
1488       · Old PathPricers, PathGenerators, etc are available with a trailing
1489         _old
1490
1491       · Added Jakel's Brownian Bridge (not used yet.)
1492
1493       · Sobol Random Sequence Generator. Unit and Jakel.
1494
1495       · Added randomized Halton sequences.
1496
1497       FINITE DIFFERENCE FRAMEWORK
1498
1499       · Old class Grid no longer exists, use CenteredGrid to obtain the same
1500         result.
1501
1502       LATTICE FRAMEWORK
1503
1504       · Abstracted discretized option.
1505
1506       · Additive binomial trees. All binomial trees now use DiffusionProcess.
1507
1508       · Added Tian binomial tree.
1509
1510       PRICING ENGINES FRAMEWORK
1511
1512       · Partially implemented.
1513
1514       · Quanto forward compounded engines.
1515
1516       · Integral (european) pricing engine.
1517
1518       YIELD TERM STRUCTURE
1519
1520       · ZeroCurve: a term structure based on linear interpolation of zero
1521         yields.
1522
1523       FIXED INCOME
1524
1525       · Up-front and in-arrear indexed coupon.
1526
1527       · Specific implementation of compound forward rate from zero yield.
1528
1529       · Added compound forward and zero coupon implementations.
1530
1531       · Added Futures rate helper with specified maturity date.
1532
1533       · Added bucketed bps calculation.
1534
1535       · Added swap constructor using specified maturity date as well as added
1536         functionality in Scheduler.
1537
1538       · Added date-bucketed basis point sensitivity based on 1st derivative
1539         of zero coupon rate.
1540
1541       OPTIMIZATION FRAMEWORK
1542
1543       · Solvers now take any function. ObjectiveFunction disappeared.
1544
1545       PATTERNS
1546
1547       · Abstracted lazy object.
1548
1549       · Abstracted the curiously recurring template pattern.
1550
1551       DATE AND CALENDARS
1552
1553       · Added joint calendars.
1554
1555       · Tokyo, Stockholm, Johannesburg calendar improved.
1556
1557       ·
1558
1559       · Added basic date generation starting from the end.
1560
1561       MATH
1562
1563       · Added Gauss-Kronrod integration algorithm.
1564
1565       · Added primitive polynomial modulo 2 up to dimension 18 (available up
1566         to dimension 27.)
1567
1568       · Added BicubicSplineInterpolation.
1569
1570       · Numerical Recipes algorithm is back since there is a problem with
1571         Nicolas' code: it is unable to fit a straight line, it waves around
1572         the line.
1573
1574       · Prime number generation.
1575
1576       · Acklam's approximation for inverse cumulative normal distribution
1577         function (replaced Moro's algorithm as default.)
1578
1579       · Added error function.
1580
1581       · Improved Cumulative Normal Distribution function using the error
1582         function.
1583
1584       · Matrix pseudo square algorithm using salvaging algorithm(s).
1585
1586       · Added SequenceStatistics.
1587
1588       · Major Statistic reworking.
1589
1590       · Added DiscrepancyStatistic that inherits from SequenceStatistic and
1591         extends it with the calculation of L2-discrepancy.
1592
1593       · HStatistics.
1594
1595       · Added first and second derivative ot cubic splines.
1596
1597       RISK MEASURES
1598
1599       · Introduced semiVariance and regret.
1600
1601       · Redefinition of average shorfall (normalization factor now is
1602         cumulative(target) instead of 1.0)
1603
1604       MISCELLANEA
1605
1606       · QuEP 9 'generic disposable objects' implemented.
1607
1608       · Added test suite.
1609
1610       · Dataformatters extended to format long integers, Ordinal numerals,
1611         power of two formatting.
1612
1613       · Exercise class adopted.
1614
1615       · Added user configuration section.
1616
1617       · Inhibited automatic conversion of Handle<T> to RelinkableHandle<T>.
1618
1619       · Diffusion process extended.
1620
1621       · Added strikeSensitivity to the Greeks.
1622
1623       · BS does handle t==0.0 and sigma==0.0.
1624
1625       · TimeGrid has been reworked.
1626
1627       · Added payoff file for Payoff classes. Added Cash-Or-Nothing and
1628         Asset-Or-Nothing payoff classes.
1629
1630       · Upgraded to use Doxygen 1.3.
1631
1632       Release 0.3.1 - February 4th, 2003
1633
1634       FINITE DIFFERENCE FRAMEWORK
1635
1636       · partially implemented QuEP 2 (http://quantlib.org/quep.shtml)
1637
1638       VOLATILITY FRAMEWORK
1639
1640       · added Black and local volatility interface
1641
1642       PRICING ENGINES FRAMEWORK
1643
1644       · partially implemented QuEP 5 (http://quantlib.org/quep.shtml)
1645
1646       YIELD TERM STRUCTURE
1647
1648       · interface revisited
1649
1650       · added discrete time forward methods
1651
1652       · added DiscountCurve (loglinear interpolated) and CompoundForward term
1653         structures
1654
1655       · ForwardSpreadedTermStructure moved under QuantLibTermStructures
1656         namespace
1657
1658       FIXED INCOME
1659
1660       · Modified coupons so that the payment date can be after the end of the
1661         accrual period
1662
1663       MISCELLANEA
1664
1665       · added/verified holidays of many calendars
1666
1667       · added new calendars
1668
1669       · added new currencies
1670
1671       · more date formatters
1672
1673       · added Period(std::string&)
1674
1675       · it is now possible to advance a calandar using a Period
1676
1677       · added LogLinear Interpolation
1678
1679       · the allowExtrapolation boolean in interpolation classes has been
1680         removed from constructors and added to the operator()
1681
1682       · Renamed Solver1D::lowBound and hiBound
1683
1684       · bug fixes
1685
1686       BUILD PROCESS
1687
1688       · More autoconfiscated time functions and types
1689
1690       · Migrated to latest autotools
1691
1692       · added patches for Darwin and Solaris
1693
1694       Release 0.3.0 - May 6th, 2002
1695
1696       MONTE CARLO FRAMEWORK
1697
1698       · Path and MultiPath are time-aware
1699
1700       · McPricer: extended interface, improved convergency algorithm
1701
1702       FINITE DIFFERENCE FRAMEWORK
1703
1704       · added mixed (implicit/explicit) scheme, from which Crank-Nicolson,
1705         ImplicitEuler, and ExplicitEuler are now derived
1706
1707       · Finite Difference exercise conditions are now in the
1708         FiniteDifferences folder/namespace
1709
1710       · Finite Difference pricers now start with 'Fd' letters
1711
1712       · BSMNumericalOption became BsmFdOption
1713
1714       LATTICE FRAMEWORK
1715
1716       · introduced first version of the framework
1717
1718       · CRR and JR binomial trees
1719
1720       VOLATILITY FRAMEWORK
1721
1722       · early works on reorganization of vol structures
1723
1724       YIELD TERM STRUCTURE
1725
1726       · new TermStructure class based on affine model
1727
1728       · yield curves can be spreaded in term of zeros
1729         (ZeroSpreadedTermStructure) and forwards
1730         (ForwardSpreadedTermStructure)
1731
1732       · Added dates() and times() to PiecewiseFlatForward
1733
1734       · discount factor accuracy in the yield curve bootstrapping is an input
1735
1736       · added single factor short-rate models (Hull-White, Black-Karasinski)
1737
1738       · added two factor short-rate models framework
1739
1740       · cap/floor and swaption calibration helpers
1741
1742       · added bermudan swaption pricing example (including BK and HW
1743         calibrations)
1744
1745       FIXED INCOME
1746
1747       · cap/floor and swaption tree pricer
1748
1749       · cap/floor analytical pricer
1750
1751       · vanilla swaption Jamshidian pricer
1752
1753       · Added accruedAmount() to coupons
1754
1755       · Made cash flow vector builders into functions
1756
1757       OPTIMIZATION FRAMEWORK
1758
1759       · added conjugate gradient, simplex
1760
1761       PATTERNS
1762
1763       · implemented QuEP 8 and 10
1764
1765       MISCELLANEA
1766
1767       · added allowExtrapolation parameter to interpolaton classes
1768
1769       · added 2D bilinear interpolation
1770
1771       · better spline interpolation algorithm
1772
1773       · Added non-central chi-square distribution function.
1774
1775       · Improved Inverse Cumulative Normal Distribution using Moro's
1776         algorithm
1777
1778       · Introduced class representing stochastic processes
1779
1780       · added isExpired() to Instrument interface
1781
1782       · added functions folder and namespace for QuantLibXL and any other
1783         function-like interface to QuantLib
1784
1785       · Handle is now castable to an Handle of a compatible type
1786
1787       · added downsideVariance to the Statistics class
1788
1789       · kustosis() and skewness() now handles the case of stddev == 0 and/or
1790         variance == 0
1791
1792       · added Correlation Matrix to MultiVariateAccumulator
1793
1794       · enforced MS VC compilation settings
1795
1796       · added '-debug' to the QL_VERSION version string ifdef QL_DEBUG
1797
1798       ·
1799
1800       · fixed compilation with 'g++ -pedantic'
1801
1802       · Spread as market element
1803
1804       · new calendars introduced
1805
1806       · new Xibor Indexes introduced
1807
1808       · Added optional day count to libor indexes
1809
1810       · Shortened file names within 31 char limit to support HFS
1811
1812       Release 0.2.1 - December 3rd, 2001
1813
1814       MONTE CARLO FRAMEWORK
1815
1816       · Path and MultiPath are now classes on their own
1817
1818       · PathPricer now handles both Path and MultiPath
1819
1820       · MonteCarloModel now handles both single factor and multi factors
1821         simulations.
1822
1823       · McPricer now handles both single factor and multi factors pricing.
1824         New pricing interface
1825
1826       · antithetic variance-reduction technique made possible in Monte Carlo
1827         for both single factor and multi factors
1828
1829       · Control Variate specific class removed: control variation technique
1830         is now handled by the general MC model
1831
1832       · average price and average strike asian option refactored
1833
1834       · Sample as a (value,weight) struct
1835
1836       · random number generators moved under RandomNumbers folder and
1837         namespace
1838
1839       FINITE DIFFERENCE FRAMEWORK
1840
1841       · BackwardEuler and ForwardEuler renamed ImplicitEuler and
1842         ExplicitEuler, respectively
1843
1844       · refactoring of TridiagonalOperator and derived classes
1845
1846       YIELD TERM STRUCTURE AND FIXED INCOME
1847
1848       · Added some useful methods to term structure classes
1849
1850       · Allowed passing a quote to RateHelpers as double
1851
1852       · added FuturesRateHelpers (no convexity adjustment yet)
1853
1854       · PiecewiseFlatForward now observer of rates passed as MarketElements
1855
1856       · Unified Date and Time interface in TermStructure
1857
1858       · Added BPS to generic swap legs
1859
1860       · added term_structure+swap example
1861
1862       · Fixing days introduced for floating-coupon bond
1863
1864       PATTERNS
1865
1866       · Added factory pattern
1867
1868       · Calendar and DayCounter now use the Strategy pattern
1869
1870       VARIOUS
1871
1872       · used do-while-false idiom in QL_REQUIRE-like macros
1873
1874       · now using size_t where appropriate
1875
1876       · dividendYield is now a Spread instead of a Rate (that is: cost of
1877         carry is allowed)
1878
1879       · RelinkableHandle initialized with an optional Handle
1880
1881       · Worked around VC++ problems in History constructor
1882
1883       · added QL_VERSION and QL_HEX_VERSION
1884
1885       · generic bug fixes
1886
1887       · removed classes deprecated in 0.2.0
1888
1889       INSTALLATION FACILITIES
1890
1891       · improved and smoother Win32 binary installer
1892
1893       DOCUMENTATION
1894
1895       · general re-hauling
1896
1897       · improved and extended Monte Carlo documentation
1898
1899       · improved and extended examples
1900
1901       · Upgraded to Doxygen 1.2.11.1
1902
1903       · Added man pages for installed executables
1904
1905       · added docs in Windows Help format
1906
1907       · added info on 'Win32 OnTheEdgeRelease' and 'Win32 OnTheEdgeDebug' MS
1908         VC++ configurations
1909
1910       · additional information on how to create a MS VC++ project based on
1911         QuantLib
1912
1913       Release 0.2.0 - September 18th, 2001
1914
1915       · Library:
1916
1917         · source code moved under ql, better GNU standards
1918
1919         · gcc build dir can now be separated from source tree
1920
1921         · gcc 3.0.1 port
1922
1923         · clean compilation (no warnings)
1924
1925         · bootstrap script on cygwin
1926
1927         · Fixed automatic choice of seed for random number generators
1928
1929         · Actual/actual classes
1930
1931         · extended platform support (see table in documentation)
1932
1933         · antithetic variance-reduction technique made possible in Monte
1934           Carlo
1935
1936         · added dividend-Rho greek
1937
1938         · First implementation of segment integral (to be redesigned)
1939
1940         · Knuth random generator
1941
1942         · Cash flows, scheduler, and swap (both generic and simple) added
1943
1944         · added ICGaussian random generator
1945
1946         · generic bug fixes
1947
1948       · Installation facilities:
1949
1950         · improved and smoother Win32 binary installer
1951
1952         · better distribution
1953
1954         · debian packages available
1955
1956       · Documentation:
1957
1958         · general re-hauling
1959
1960         · added examples of using QuantLib and of projects based on QL
1961
1962       Release 0.1.9 - May 31st, 2001
1963
1964       · Library:
1965
1966         · Style guidelines introduced (see http://quantlib.org/style.shtml)
1967           and partially enforced
1968
1969         · full support for Microsoft Visual Studio
1970
1971         · full support for Linux/gcc
1972
1973         · momentarily broken support for Metrowerks CodeWarrior
1974
1975         · autoconfiscation (with specialized config.*.hpp files for platforms
1976           without automake/autoconf support)
1977
1978         · Include files moved under Include/ql folder and referenced as
1979           'ql/header.hpp'
1980
1981         · Implemented expression templates techniques for array algebra
1982           optimization
1983
1984         · Added custom iterators
1985
1986         · Improved term structure
1987
1988         · Added Asian, Bermudan, Shout, Cliquet, Himalaya, and Barrier
1989           options (all with greeks calculation, control variated where
1990           possible)
1991
1992         · Added Helsinki and Wellington calendars
1993
1994         · Improved Normal distribution related functions: cumulative, inverse
1995           cumulative, etc.
1996
1997         · Added uniform and Gaussian random number generators
1998
1999         · Added Statistics class (mean, variance, skewness, downside
2000           variance, etc.)
2001
2002         · Added RiskMeasures class: VAR, average shortfall, expected
2003           shortfall, etc.
2004
2005         · Added RiskStatistics class combining Statistics and RiskMeasures
2006
2007         · Added sample accumulator for multivariate analysis
2008
2009         · Added Monte Carlo tools
2010
2011         · Added matrix-related functions (square root, symmetric Schur
2012           decomposition)
2013
2014         · Added interpolation framework (linear and cubic spline
2015           interpolation implemented).
2016
2017       · Installation facilities:
2018
2019         · Added Win32 GUI installer for binaries
2020
2021       · Documentation:
2022
2023         · support for Doxygen 1.2.7
2024
2025         · Added man documentation
2026
2027       Release 0.1.1 - November 21st, 2000
2028
2029       Initial release.
2030
2031
2032
2033Version 1.0.1                   Thu Aug 19 2010                     history(3)
Impressum