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