File: history.html

package info (click to toggle)
quantlib-refman-html 1.2-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 84,552 kB
  • ctags: 5,132
  • sloc: makefile: 33
file content (1484 lines) | stat: -rw-r--r-- 70,767 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="robots" content="none">
<title>Version history</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>

<div id="container">
<div id="header">
<img class="titleimage"
 src="QL-title.jpg" width="185" height="50" border="0"
 alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">

<h3 class="navbartitle">Version 1.2</h3>

<hr>

<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>

<hr>

<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="todo.html">Todo List</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>

<div id="content">
<!--Doxygen-generated content-->

<!-- Generated by Doxygen 1.7.6.1 -->
</div>
<div class="header">
  <div class="headertitle">
<div class="title">Version history </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><b>Release 1.2 - March 2012</b></p>
<p>PORTABILITY</p>
<ul>
<li>Microsoft Visual C++ 2010 no longer needs to disable uBlas code.</li>
<li>QuantLib now ships with an updated specification file for building RPMs (thanks to Matt Fair).</li>
</ul>
<p>DATE/TIME</p>
<ul>
<li>When EOM was specified, a schedule's end date was moved to the end of month even if the 'Unadjusted' convention was given. This is now fixed.</li>
<li>When a daily frequency was used, a schedule could end up containing duplicated dates. This is now fixed (thanks to Simone Medori for the bug report).</li>
<li>Added method to return truncated schedule.</li>
<li>Fixed Swedish Midsummer Eve's date (thanks to Gary Kennedy).</li>
<li>Added South Korea holidays for 2011/2012 (thanks to Charles Chongseok Hyun and Faycal El Karaa).</li>
<li>Added holidays for 2011 to China, Hong Kong, India, Indonesia, Saudi Arabia, and Taiwan calendars.</li>
<li>Added ECB maintenance dates for 2012 and 2013.</li>
<li>Greatly improved performance of business/252 day counter. The previous implementation would count the business days between two dates at each invocation. The new implementation caches dynamically the count of business days for whole months and years, so that after a while only the first and last few days are counted.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>The AssetSwap instrument now supports non-par repayment.</li>
<li>Added specialized class for Italian CCTEU (certificato di credito del tesoro).</li>
<li>Added CPI-linked swaps, bonds, and cap/floors.</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>Added CashFlows::npvbps() method to calculate NPV and BPS in a single loop to improve performance.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Better detection of forecast/past fixings for inflation indexes. When an interpolated index is asked for a fixing at the beginning of a month, the fixing for the following (which would have zero weight in the interpolation) is no longer required. Also, if a fixing is loaded in the index time series, it can be used even its observation lag has not fully elapsed.</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Vastly improved the performance of piecewise yield curve bootstrap. Anchoring the evaluation date (see below) provides a further improvement.</li>
<li>Moved CPI-volatility interface from experimental folder to the core library.</li>
</ul>
<p>MATH</p>
<ul>
<li>Added Newton 1-D solver with finite difference derivatives.</li>
<li>Improved interface for linear least-square regression (thanks to Slava Mazur).</li>
</ul>
<p>FINITE DIFFERENCES</p>
<ul>
<li>Added TR-BDF2 scheme (thanks to Fabien Le Floc'h).</li>
<li>Moved stable parts of 2D finite-difference framework from the experimental folder to the core library.</li>
</ul>
<p>UTILITIES</p>
<ul>
<li>Added resetEvaluationDate() and anchorEvaluationDate() methods to enable/disable change of evaluation date at midnight, respectively. Anchoring the evaluation date also improves the performance of some calculations.</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>Fixed possible problem in LazyObject notification logic. The previous implementation would pass obsolete information to observers that asked for data in their update() method (which is not advised, but possible). This is no longer the case.</li>
</ul>
<p>EXPERIMENTAL FOLDER</p>
<p>The ql/experimental folder contains code which is still not fully integrated with the library or even fully tested, but is released in order to get user feedback. Experimental classes are considered unstable; their interfaces might change in future releases.</p>
<p>New contributions for this release were:</p>
<ul>
<li>Spread option and related engine (thanks to IMAFA/Polytech'Nice students Meryem Chibo and Samad Abdessadki).</li>
<li>Writer-extensible option and related engine (thanks to IMAFA/Polytech'Nice students Delphine Bouthier, Marine Casanova, and Xavier Caron).</li>
<li>Levy engine for continuous-averaging Asian options (thanks to IMAFA/Polytech'Nice students Yasmine Lahlou and Amine Samani).</li>
<li>Simple Virtual Power Plant and related finite-difference (FD) engine (thanks to Klaus Spanderen).</li>
<li>FD solver and vanilla spread engine for Kluge-Ornstein-Uhlenbeck process (thanks to Klaus Spanderen).</li>
<li>Added generic n-dimensional FD solver (thanks to Klaus Spanderen).</li>
<li>Added FD pricing engine for a simple storage option based on an exponential Ornstein Uhlenbeck process (thanks to Klaus Spanderen).</li>
<li>Added vanilla and swing option FD pricer for Kluge model (thanks to Klaus Spanderen).</li>
<li>Added FD pricing engine for a simple swing option based on the Black-Scholes model (thanks to Klaus Spanderen).</li>
</ul>
<p><b>Release 1.1 - May 2011</b></p>
<p>PORTABILITY</p>
<ul>
<li>Added support for Microsoft Visual C++ 2010.</li>
<li>Fixed m4 macro for QuantLib detection. It now works also when asked for versions such as 1.1 (as opposed to 1.1.0).</li>
</ul>
<p>DATE/TIME</p>
<ul>
<li>Added Russian calendar.</li>
<li>Revamped time-series iterators (thanks to Slava Mazur.) Iterators on dates and values were added, as well as C++0X-style cbegin() and cend() iterators.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Added a few inspectors to zero-coupon inflation swaps.</li>
<li>Added Kirk approximation for two-asset spread options.</li>
<li>Added specialized BTP class (Italian government bonds) and related RendistatoCalculator class to help instantiation of this type of FixedRateBond.</li>
<li>Added analytic pricing engine for the piecewise-constant time-dependent Heston model.</li>
<li>Added paymentCalendar to FixedRateBond, possibly different than the one used for accrual-date calculation.</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Added Quadratic Exponential discretization scheme for the Heston process, including martingale correction.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Added inspector for discounting curve to swap index (thanks to Peter Caspers.)</li>
<li>Added exogenous discounting to all swap indexes.</li>
<li>Added SONIA index.</li>
<li>Added HICPXT indexes.</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Added time-based interface to inflation curves.</li>
<li>Piecewise zero-spreaded term structure can now manage spread with any compounding (thanks to Robert Philipp.)</li>
<li>FittedBondDiscountCurve now works with any BondHelpers, not only FixedRateBondHelpers.</li>
<li>Added Svensson curve-fitting method (thanks to Alessandro Roveda.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added Ziggurat random-number generator (thanks to Kakhkhor Abdijalilov.)</li>
<li>Added experimental copula-based random-number generators (thanks to Hachemi Benyahia.)</li>
<li>More performant implementation of inverse cumulative distribution (thanks to Kakhkhor Abdijalilov.)</li>
<li>More performant mt19937 implementation (thanks to Kakhkhor Abdijalilov.)</li>
<li>Added more copulas (thanks to Hachemi Benyahia.) The new formulas are for Ali-Mikhail-Haq copula, Galambos copula, Husler-Reiss copula, and Plackett copula.</li>
<li>Added autocovariance calculation (thanks to Slava Mazur.)</li>
</ul>
<p>MONTE CARLO</p>
<ul>
<li>Improved LSM basis system (thanks to Kakhkhor Abdijalilov.)</li>
</ul>
<p>UTILITIES</p>
<ul>
<li>Reworked Null class template (thanks to Kakhkhor Abdijalilov.) The new implementation avoids the need for a macro on 64-bit systems and automatically covers all floating-point and integer types.</li>
</ul>
<p>EXPERIMENTAL FOLDER</p>
<p>The ql/experimental folder contains code which is still not fully integrated with the library or even fully tested, but is released in order to get user feedback. Experimental classes are considered unstable; their interfaces might change in future releases.</p>
<p>New contributions for this release were:</p>
<ul>
<li>2D finite-difference Bates engine based on the partial integro differential equation.</li>
<li>2D finite-difference engine for Black-Scholes processes (including local volatility.)</li>
<li>Black-Scholes process with support for vega stress test (thanks to Michael Heckl.)</li>
<li>Extended Ornstein-Uhlenbeck process.</li>
<li>Margrabe option (thanks to IMAFA/Polytech'Nice students Marius Akre, Michael Benguigui, and Yanice Cherrak.)</li>
<li>Simple chooser option (thanks to IMAFA/Polytech'Nice students Clement Barret, Fakher Braham, and Mohamed Amine Sadaoui.)</li>
<li>Generalized Hull-White model (thanks to Cavit Hafizoglu.) The generalized model can take piecewise-constant parameters instead of constant ones. A matching generalized Ornstein-Uhlenbeck process was also added.</li>
<li>Variance-gamma implementation (thanks to Adrian O'Neill.) Contributed classes include a variance-gamma process and model (with data but no behavior at this time) and a couple of working engines for European options.</li>
<li>Hybrid products in the McBasket framework (thanks to Andrea Odetti.) Path pricers now take a vector of YieldTermStructures that contains the (possibly stochastic) yield curves.</li>
<li>Delta calculator for FX options (thanks to Dimitri Reiswich.)</li>
</ul>
<p><b>Release 1.0.1 - September 17th, 2010</b></p>
<p>Bug-fix release.</p>
<p><b>Release 1.0 - February 24th, 2010</b></p>
<p>PORTABILITY</p>
<ul>
<li>Fixes for x64 Visual Studio compilation (thanks to Craig Miller.)</li>
<li>Enabled language extensions in Visual Studio projects.</li>
<li>Prevented make errors with older shells (thanks to Walter Eaves.)</li>
</ul>
<p>DATE/TIME</p>
<ul>
<li>Changes to end-of-month adjustment. In a schedule, the Unadjusted convention now supersedes a non-null calendar and causes dates to roll on the unadjusted end of month (possibly a holiday.)</li>
<li>Added new date-generation rule for CDS (thanks to Jose Aparicio.)</li>
<li>Fix for CDS fair-upfront calculation (thanks to Jose Aparicio.) Previously, fair-upfront calculation required a non-null upfront to begin with. This is no longer the case.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Fixed discounting of dividends on convertible-bond grid (thanks to Benoit Houzelle and Samuel Lerouge.)</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>A number of CashFlows methods now return a meaningful result even if the passed leg is empty.</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Changed default discretization for Heston process. The new default (giving a better performance) is quadratic exponential with Martingale correction.</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Removed ambiguous parRate member functions from YieldTermStructure interface.</li>
</ul>
<p>EXAMPLES</p>
<ul>
<li>Added market-model example.</li>
</ul>
<p>EXPERIMENTAL FOLDER</p>
<p>The ql/experimental folder contains code which is still not fully integrated with the library or even fully tested, but is released in order to get user feedback. Experimental classes are considered unstable; their interfaces might change in future releases.</p>
<p>New contributions for this release were:</p>
<ul>
<li>Longstaff-Schwartz algorithm for basket products including coupon payments (thanks to Andrea Odetti;)</li>
<li>added sparse incomplete LU preconditioner for 2D finite-difference models (thanks to Ralph Schreyer.)</li>
</ul>
<p><b>Release 0.9.9 - November 2009</b></p>
<p>PORTABILITY</p>
<ul>
<li>Fixes for 64-bit compilation.</li>
<li>Fixes for Sun Solaris compilation (thanks to Andreas Spengler.)</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>Added overnight-index coupon.</li>
<li>Added inflation coupons.</li>
<li>Parameterized CashFlows functions with explicit flag specifying whether to include settlement-date cash flows.</li>
<li>Added cash-flow related flags to Settings class. They determine whether or not to include today's and/or settlement date's cash flows. They can be overridden while calling CashFlows functions.</li>
</ul>
<p>DATE/TIME</p>
<ul>
<li>Added EUWAX calendar.</li>
<li>Updated 2009 holidays for China, Hong Kong, India, Indonesia, Singapore, and Taiwan.</li>
<li>Removed Easter Monday from Canadian holidays (thanks to Matt Knox.)</li>
<li>Added weekend-only calendar.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Added EONIA index.</li>
<li>Added French HICP and Australian CPI inflation indexes.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Added overnight-index swaps (including helper for yield-curve bootstrap.)</li>
<li>Added inflation cap/floors (including interface for inflation cap/floor volatility structures.)</li>
<li>Added inspectors for previous and next coupon dates to Bond class.</li>
<li>Added implied z-spread calculation for bonds (thanks to Nathan Abbott.)</li>
<li>Added inspector to see whether a bond is still tradable (as opposed to not expired.)</li>
<li>Added constructor for fixed-rate bonds taking a generic InterestRate instance (thanks to Piter Dias.)</li>
<li>Added upfront to credit default swaps, including application to CDS helpers (thanks to Jose Aparicio.)</li>
<li>Added conventional CDS spread calculation (thanks to Jose Aparicio.)</li>
<li>Enabled non-spot inflation swaps.</li>
<li>Migrated asset swaps to pricing-engine framework.</li>
<li>Migrated inflation swaps to pricing-engine framework.</li>
<li>Migrated old average-strike Asian option pricer to pricing-engine framework (thanks to IMAFA students Jean Nkeng, Adrien Pinatton, and Alpha Sanou Toure.)</li>
</ul>
<p>PRICING ENGINES</p>
<ul>
<li>Added builders for a few Monte Carlo engines.</li>
<li>Most Monte Carlo engines can now specify either relative or absolute target tolerance.</li>
<li>Some Monte Carlo engines can now specify either an absolute number of time steps or a number of time steps per year.</li>
<li>Added choice of evolver scheme to finite-difference vanilla engines.</li>
</ul>
<p>MATH</p>
<ul>
<li>Implemented Parabolic and Fritsch-Butland cubic interpolations.</li>
<li>Added BFGS optimizer (thanks to Frederic Degraeve.)</li>
<li>Added 1D and 2D kernel interpolation (thanks to Dimitri Reiswich.)</li>
<li>Added Akima and overshooting-minimization spline algorithms (thanks to Sylvain Bertrand.)</li>
<li>Added FFT implementation (thanks to Slava Mazur.)</li>
</ul>
<p>RANDOM NUMBERS</p>
<ul>
<li>Added Luescher's luxury random number generator (a proxy for Boost implementation.)</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Added hook to swap-rate helpers for external discounting term structure (thanks to Roland Lichters.)</li>
<li>Added seasonality to inflation term structures (thanks to Piero Del Boca and Chris Kenyon.)</li>
</ul>
<p>EXPERIMENTAL FOLDER</p>
<p>New contributions for this release were:</p>
<ul>
<li>risky bonds and asset-swap options (thanks to Roland Lichters;)</li>
<li>spreaded hazard-rate curves (thanks to Roland Lichters;)</li>
<li>compound options (thanks to Dimitri Reiswich;)</li>
<li>refactored CDS options (thanks to Jose Aparicio;)</li>
<li>finite-differences solver for the hybrid Heston Hull-White model, including calibration (thanks to Klaus Spanderen;)</li>
<li>finite-differences Asian-option engines (thanks to Ralph Schreyer;)</li>
<li>machinery for default-event specification (thanks to Jose Aparicio;)</li>
<li>recursive CDO engine (thanks to Jose Aparicio.)</li>
</ul>
<p><b>Release 0.9.7 - November 18th, 2008</b></p>
<p>PORTABILITY</p>
<ul>
<li>Microsoft Visual C++ configurations have been renamed. The default Debug and Release configurations now link to the DLL version of the common runtime library. The names of other configuration should now be more descriptive.</li>
<li>Fixes for Solaris build.</li>
</ul>
<p>BONDS</p>
<ul>
<li>Added bond example (thanks to Florent Grenier.)</li>
<li>Added support for amortizing bonds (thanks to Simon Ibbotson.)</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>Added two more cashflow analysis functions (thanks to Toyin Akin.)</li>
</ul>
<p>DATE/TIME</p>
<ul>
<li>Added bespoke calendar.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Added GBP/USD/CHF/JPY swap-rate indexes.</li>
<li>Fixed USD LIBOR calendar (settlement, not NYSE.)</li>
</ul>
<p>MARKET MODELS</p>
<ul>
<li>Added first displaced-diffusion stochastic-volatility evolver.</li>
</ul>
<p>PRICING ENGINES</p>
<ul>
<li>Monte Carlo average-price options now uses past fixings correctly.</li>
</ul>
<p>QUOTES</p>
<ul>
<li>added LastFixingQuote, a Quote adapter for the last available fixing of a given index.</li>
</ul>
<p>EXPERIMENTAL FOLDER</p>
<p>New contributions for this release were:</p>
<ul>
<li>time-dependent binomial trees (thanks to John Maiden.)</li>
<li>a new multidimensional FDM framework based on operator splitting using Craig-Sneyd, Hundsdorfer or Douglas schemes (thanks to Andreas Gaida, Ralph Schreyer, and Klaus Spanderen.)</li>
<li>implementations of Black-variance curve and surface taking a set of quotes as input (thanks to Frank Hövermann.)</li>
<li>synthetic CDO engines (thanks to Roland Lichters.)</li>
<li>variance options, together with a Heston-process engine (thanks to Lorella Fatone, Francesca Mariani, Maria Cristina Recchioni, and Francesco Zirilli.)</li>
<li>a commodity framework, including instruments such as energy futures and energy swaps (thanks to J. Erik Radmall.)</li>
<li>quanto-barrier options (thanks to Paul Farrington.)</li>
<li>amortizing bonds (thanks to Simon Ibbotson.)</li>
<li>a perturbative engine for barrier options (thanks to Lorella Fatone, Maria Cristina Recchioni, and Francesco Zirilli.)</li>
</ul>
<p><b>Release 0.9.6 - August 6th, 2008</b></p>
<p>Bug-fix release for QuantLib 0.9.5. It fixes a bug that would cause bootstrapped term structures to silently switch to linear interpolation when log-linear was requested.</p>
<p><b>Release 0.9.5 - July 30th, 2008</b></p>
<p>CREDIT FRAMEWORK</p>
<p>New credit framework due to the joint efforts of StatPro Italia, Roland Lichters, Chris Kenyon, and Jose Aparicio. The framework currently include:</p>
<ul>
<li>Interface for default-probability term structure and adapters for hazard-rate and default-density structures.</li>
<li>Flat hazard-rate curve.</li>
<li>Interpolated hazard-rate and default-density curves.</li>
<li>Credit-default swaps (mid-point and integral engines.)</li>
<li>Bootstrapped piecewise default-probability curve.</li>
<li>CDS example.</li>
</ul>
<p>PORTABILITY</p>
<ul>
<li>Added support for Microsoft Visual C++ 2008 (Boost 1.35 is required for this compiler.)</li>
<li>Fixes for Cygwin build.</li>
</ul>
<p>EXPERIMENTAL FOLDER</p>
<p>The new ql/experimental folder contains code which is still not fully integrated with the library, but is released in order to get user feedback. Experimental classes are considered unstable; their interfaces are likely to change in future releases. The folder currently include:</p>
<ul>
<li>Generic MC basket option (thanks to Andrea Odetti.)</li>
<li>CDS option (thanks to Roland Stamm.)</li>
<li>Nth-to-default swap (thanks to Roland Lichters.)</li>
<li>Extended Black-Scholes-Merton process (thanks to Frank H&ouml;vermann.)</li>
<li>Quanto-adjusted coupons and averaged coupons (thanks to Toyin Akin.)</li>
<li>Callable bonds (thanks to Allen Kuo.)</li>
<li>New framework for volatility term structures.</li>
<li>Sensitivity analysis functions.</li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Added 2008 holidays for China, India, Indonesia, Singapore, and Taiwan.</li>
<li>Added one-off holiday (President Reagan's and Ford's funerals) to NYSE calendar.</li>
<li>Fixed South Korea calendar (thanks to Charles Chongseok Hyun.)</li>
</ul>
<p>CURRENCIES</p>
<ul>
<li>Added Peruvian currency.</li>
</ul>
<p>DATES</p>
<ul>
<li>Added date-generation rules for CDS schedules (i.e., rolling to the 20th of the month.)</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Added SEK LIBOR index.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Ported Himalaya and Everest options to pricing-engine framework (thanks to the IMAFA students at Polytech'Nice Sophia: J&eacute;r&ocirc;me Bessi, S&eacute;bastien Bonifaci, Benjamin Degerbaix and Renaud Pentel.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added matrix determinant.</li>
<li>Added QR matrix decomposition.</li>
<li>Added a number of copulas (thanks to Marek Glowacki.)</li>
<li>Added constrained cubic spline.</li>
<li>Implemented derivative and second derivative of log-interpolations.</li>
<li>Added Gauss-Lobatto integration.</li>
<li>Added student-t distribution (thanks to Roland Lichters.)</li>
</ul>
<p>MODELS</p>
<ul>
<li>Added calibrated GJR-GARCH model (thanks to Yee Man Chan.)</li>
<li>Added Feller constraint to Heston model.</li>
</ul>
<p>PRICING ENGINES</p>
<ul>
<li>Refactored variance-swap engines (the underlying stochastic process is now passed to the pricing engine.)</li>
<li>Added GJR-GARCH pricing engines for vanilla options (thanks to Yee Man Chan.)</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Added Euler end-point discretization (thanks to Frank H&ouml;vermann.)</li>
<li>Added GJR-GARCH process (thanks to Yee Man Chan.)</li>
<li>Added Bates process.</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Added turn-of-year effect to yield-curve bootstrapping (generalized to multiple jumps at arbitrary dates.)</li>
<li>Added local bootstrap of forward rates (thanks to Simon Ibbotson.)</li>
<li>Disabled copies of interpolated curves (the existing behavior was incorrect. A fix to re-enable copying will be included in a future release.)</li>
</ul>
<p>VOLATILITY</p>
<ul>
<li>Added constant cap/floor term volatility structure.</li>
<li>Added stripped optionlet.</li>
</ul>
<p><b>Release 0.9.0 - December 24th, 2007</b></p>
<p>PORTABILITY</p>
<ul>
<li>Fixes for MSYS and Cygwin build.</li>
<li>Fixes for VC++ build with CLR support enabled.</li>
<li>Dropped MetroWerks CodeWarrior support.</li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Fix for business-days calculation (thanks to Piter Dias.)</li>
<li>Updated Hong Kong's holidays for 2008 and China's for 2007.</li>
<li>Added new holiday to Canadian calendars (thanks to Matt Knox.)</li>
<li>Fixed joint-calendar specification (thanks to Jay Walters.)</li>
<li>Split Canadian calendar into settlement and TSX (thanks to Matt Knox.)</li>
<li>Added Brazilian exchange calendar (thanks to Richard Gomes.)</li>
<li>Fixes for the Brazilian calendars (thanks to Piter Dias.)</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>Added average-BMA coupon (thanks to Roland Lichters.)</li>
<li>Fixed-rate coupons can now accept an InterestRate instance (thanks to Piter Dias.)</li>
<li>implemented cash-flow vector builders as helper classes to ease skipping default parameters and single/multiple inputs.</li>
</ul>
<p>DATES</p>
<ul>
<li>Extended date range up to year 2199.</li>
<li>Fixed period comparison (thanks to Chris Kenyon.)</li>
<li>Fixed short date formatting (thanks to Robert Lopez.)</li>
<li>Enhanced period algebra.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Added BMA index (thanks to Roland Lichters.)</li>
<li>Added inflation indexes (thanks to Chris Kenyon.)</li>
<li>Added historical interest-rate index analysis.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Added BMA swaps (thanks to Roland Lichters.)</li>
<li>Added year-on-year and zero-coupon inflation swaps (thanks to Chris Kenyon.)</li>
<li>Fixed stub-date management and backward date generation for fixed-rate bonds (thanks to Toyin Akin.)</li>
<li>Added clean/dirty bond-price calculation from Z-spread.</li>
</ul>
<p>LATTICES</p>
<ul>
<li>Fixed Tsiveriotis-Fernandes tree initialization (thanks to John Maiden.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added multi-dimensional cost function for least-square problems (thanks to Guillaume Pealat.)</li>
<li>Added histogram class (thanks to Gang Liang.)</li>
<li>Added log-cubic interpolation.</li>
<li>Fixed conjugate-gradient bug.</li>
<li>Fixed nested Levenberg-Marquardt bug.</li>
</ul>
<p>PRICING ENGINES</p>
<ul>
<li>Refactored option engines (the underlying stochastic process is now passed to the pricing engine.)</li>
<li>Refactored bond, cap/floor, swap, and swaption engines (the discount curve is now passed to the pricing engine.)</li>
<li>Added Heston/Hull-White analytic and Monte Carlo engines for vanilla options.</li>
<li>Fixed bug in blackFormulaCashItmProbability in case of non null displacement.</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Added hybrid Heston/Hull-White process.</li>
<li>Fixed joint-process bug.</li>
</ul>
<p>QUOTES</p>
<ul>
<li>Added forward-swap quote.</li>
</ul>
<p>RANDOM NUMBERS</p>
<ul>
<li>Fixed ordering of primitive polynomials for Sobol/Levitan and Sobol/Levitan/Lemieux methods.</li>
<li>Added JoeKuoD5, JoeKuoD6 and JoeKuoD7 direction integers for Sobol generator.</li>
<li>Added Kuo, Kuo2 and Kuo3 direction integers for Sobol generator.</li>
<li>Added class to generate low-discrepancy sequences using a lattice rule.</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Added discount curve fitted on bond prices (thanks to Allen Kuo.)</li>
<li>Added BMA-swap rate helper (thanks to Roland Lichters.)</li>
<li>Made SwapRateHelper forward-start enabled.</li>
<li>Added universal term-structure bootstrapper (thanks to Chris Kenyon.)</li>
<li>Added abstract inflation term structures (thanks to Chris Kenyon.)</li>
<li>Added piecewise inflation curves (thanks to Chris Kenyon.)</li>
</ul>
<p><b>Release 0.8.1 - June 4th, 2007</b></p>
<p>PORTABILITY</p>
<ul>
<li>Version 0.8.1 adds support for Boost 1.34 on Linux systems. If you are using version 0.8.0 on Windows systems, you do not need this upgrade.</li>
</ul>
<p><b>Release 0.8.0 - May 30th, 2007</b></p>
<p>PORTABILITY</p>
<ul>
<li>Version 0.8.0 is the last QuantLib release to support the Metrowerks CodeWarrior compiler (which was discountinued by Metrowerks.) If you use such compiler and want support to continue, you can volunteer for maintaining the necessary patches: contact the QuantLib developers for information.</li>
</ul>
<p>SOURCE TREE</p>
<ul>
<li>Files and folders in the source tree have been reorganized (hopefully for th ebetter.) If you only included &lt;ql/quantlib.hpp&gt;, all changes were taken care of for you. if you included specific headers, you might want to check its current location; in particular, all folder names are now lowercase.</li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Added 2007 holidays for Indonesia, Saudi Arabia, and South Korea calendars.</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>Added floater range-accrual coupons.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>Added EuriborSwapFixB family.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Added capped/floored floating-rate bond. It can also be used for reverse floaters.</li>
<li>Added delta, gamma and theta to binomial option engines (thanks to Steve Cook.)</li>
<li>Refactored basket engines to allow for more payoffs.</li>
</ul>
<p>LIBOR MARKET MODEL</p>
<ul>
<li>This release includes an experimental implementation of a Libor market model developed with Mark Joshi. Improvements since release 0.4.0 include normal forward-rate market model, lognormal CMS market model, lognormal coterminal-swap market model, and calibration to caplets and coterminal swaptions. The interface of the model and its integration with the bulk of the library are still in development.</li>
</ul>
<p>MATH</p>
<ul>
<li>Adaptive Gauss-Kronrod integration added.</li>
<li>Added Higham's nearest correlation matrix method (thanks to Neil Firth)</li>
<li>Refactored optimization framework.</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Added new discretization schema to Heston process.</li>
</ul>
<p>UTILITIES</p>
<ul>
<li>The Handle class was split into RelinkableHandle (behaving like the old Handle class) and Handle (which is notified when its copies are relinked, but cannot itself be relinked.) The former can safely be returned from inspectors.</li>
</ul>
<p><b>Release 0.4.0 - February 20th, 2007</b></p>
<p>PORTABILITY</p>
<ul>
<li>Starting with release 0.4.0, the Borland free compiler 5.5 and Microsoft Visual C++ 6.0 are no longer supported. If you use one of these compilers and want support to continue, you can volunteer for maintaining the necessary patches: contact the QuantLib developers for information.</li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Added 2007 holidays for Hong Kong, India, Singapore, and Taiwan exchanges.</li>
</ul>
<p>LIBOR MARKET MODEL</p>
<ul>
<li>This release includes an experimental implementation of a Libor market model developed with Mark Joshi. Improvements since release 0.3.14 include the use of quasi-random number generators and the calculation of Greeks and of upper bounds for instruments with early-exercise features. The interface of the model and its integration with the bulk of the library are still in development.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Added helper classes to make it easier to instantiate swaps, caps/floors, and CMS instruments.</li>
</ul>
<p>INTEREST RATES</p>
<ul>
<li>Added capped/floored floating-rate coupons (including convexity adjustment.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Curve, domain and surface interfaces added.</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Added reversion level to Ornstein-Uhlenbeck process (thanks to Roland Lichters.)</li>
</ul>
<p>VOLATILITY TERM STRUCTURES</p>
<ul>
<li>Added stripping of caplet-volatility term structure from cap quotes.</li>
<li>Improved SABR interpolation and calibration.</li>
</ul>
<p><b>Release 0.3.14 - November 6th, 2006</b></p>
<p>PORTABILITY</p>
<ul>
<li>Version 0.3.14 is the last QuantLib release to support the Borland free compiler 5.5 and Microsoft Visual C++ 6.0. If you use one of these compilers and want support to continue, you can volunteer for maintaining the necessary patches: contact the QuantLib developers for information.</li>
</ul>
<p>LIBOR MARKET MODEL</p>
<ul>
<li>This release includes an experimental implementation of a Libor market model developed with Mark Joshi. The interface and its integration with the bulk of the library are still in development.</li>
</ul>
<p>CURRENCIES</p>
<ul>
<li>Added Romanian new lev.</li>
</ul>
<p>DATES, CALENDARS, AND DAY COUNTERS</p>
<ul>
<li>Added all serial 3M IMM futures (thanks to Toyin Akin.)</li>
<li>Reworked the Schedule class so that it follows market conventions more closely.</li>
<li>Added business/252 day-count convention (thanks to Piter Dias.)</li>
</ul>
<p>INTEREST RATES</p>
<ul>
<li>Added base swap-rate class and a number of actual swap rates.</li>
<li>Added constant-maturity swap coupons (including convexity adjustment.)</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Added asset swaps.</li>
<li>Added face amount to bonds (defaulting to 100.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added hypersphere and lower-diagonal salvaging algorithms (thanks to Yiping Chen.)</li>
</ul>
<p>PRICING ENGINES</p>
<ul>
<li>Added Longstaff-Schwartz Monte-Carlo algorithm for American/Bermudan equity options with deterministic interest rates.</li>
</ul>
<p>TERM STRUCTURE</p>
<ul>
<li>Added piecewise-spreaded yield curve (thanks to Roland Lichters.)</li>
</ul>
<p><b>Release 0.3.13 - July 31st, 2006</b></p>
<p>CALENDARS</p>
<ul>
<li>Added NERC calendar (thanks to Joe Byers.)</li>
</ul>
<p>INSTRUMENTS AND PRICING ENGINES</p>
<ul>
<li>Added continuous fixed and floating lookback options (thanks to Warren Chou.)</li>
<li>Added FRA and forward fixed-coupon bonds; examples provided (thanks to Allen Kuo.)</li>
<li>Added variance swaps (thanks to Warren Chou.)</li>
<li>Added composite instrument; example provided.</li>
<li>Added cash-settled swaption pricing in Black swaption engine; test provided.</li>
<li>Added discrete dividends and soft callability to convertible bonds.</li>
</ul>
<p>INTEREST RATES</p>
<ul>
<li>Fixed business-day conventions for Euribor and LIBOR indices (following below one month, month-end from one month onwards.)</li>
</ul>
<p>MODELS</p>
<ul>
<li>Added more complex market parameterizations and performance improvements for Libor market model (thanks to Klaus Spanderen.)</li>
</ul>
<p>PROCESSES</p>
<ul>
<li>Renamed BlackScholedProcess to GeneralizedBlackScholedProcess; specialized classes added for Black-Scholes, Merton, Black and Garman-Kohlhagen processes.</li>
<li>Added Hull-White and G2 processes for Monte Carlo simulation (thanks to Banca Profilo.)</li>
</ul>
<p>RANDOM NUMBERS</p>
<ul>
<li>Added possibility to skip directly to the n-th item in a Sobol sequence (thanks to Richard Gould.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added SABR interpolation for volatilities.</li>
<li>Added general linear least-squares regression (thanks to Klaus Spanderen.)</li>
</ul>
<p><b>Release 0.3.12 - March 27th, 2006</b></p>
<p>CALENDARS</p>
<ul>
<li>Added Brazilian calendar (thanks to Piter Dias.)</li>
<li>Added Argentinian, Icelandic, Indonesian, Mexican, and Ukrainian calendars.</li>
</ul>
<p>INSTRUMENTS AND PRICING ENGINES</p>
<ul>
<li>Added convertible bonds (thanks to Theo Boafo.)</li>
<li>The cash flows returned by the Bond::cashflows method now include the redemption.</li>
<li>SimpleSwap can now be set an engine. If none is set, the old cash-flow-based calculation is used.</li>
<li>Generalized McVanillaEngine so that it can manage n-dimensional processes; it now subsumes McHestonEngine.</li>
<li>Added pricing of Bermudan options on binomial trees (thanks to Enrico Michelotti.)</li>
<li>Separated accrual and payment conventions for bonds.</li>
<li>Modified basis-point sensitivity calculation so that it returns the cash variation for a basis-point change in rate (it used to return the figure to be multiplied by the variation in order to obtain the same result.)</li>
</ul>
<p>MODELS</p>
<ul>
<li>Added weights to short-rate model calibration (thanks to Enrico Michelotti.)</li>
<li>Added Libor market model (thanks to Klaus Spanderen.)</li>
</ul>
<p>OPTIMIZATION</p>
<ul>
<li>Added Levenberg-Marquardt optimization method (thanks to Klaus Spanderen.)</li>
</ul>
<p>EXAMPLES</p>
<ul>
<li>Merged American and European option examples; added Bermudan option.</li>
<li>Added convertible-bond example (thanks to Theo Boafo.)</li>
</ul>
<p><b>Release 0.3.11 - October 20th, 2005</b></p>
<p>GLOBAL FEATURES</p>
<ul>
<li>Added configuration option for adding current function information to error messages.</li>
<li>Added hook for multiple sessions to Singleton.</li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Added Bombay and Taipei calendars.</li>
</ul>
<p>CURRENCIES</p>
<ul>
<li>Added new Turkish lira.</li>
</ul>
<p>INDEXES</p>
<ul>
<li>More accurate LIBOR calendars (thanks to Daniele de Francesco.)</li>
<li>Added DKKLibor, EURLibor, and NZDLibor indexes.</li>
<li>Added TRLibor index (thanks to Sercan Atalik.)</li>
</ul>
<p>PRICING ENGINES</p>
<ul>
<li>Added Bates stochastic-volatility model; tests provided (thanks to Klaus Spanderen.)</li>
<li>Added vega to analytic discrete-averaging Asian engine; test provided (thanks to Gary Kennedy.)</li>
<li>Added stochastic process for caplet Libor market model; tests provided (thanks to Klaus Spanderen.)</li>
</ul>
<p>TERM STRUCTURES</p>
<ul>
<li>Added fixed-coupon bond helper for curve bootstrapping (thanks to Toyin Akin.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added tabulated Gauss-Legendre quadratures (thanks to Gary Kennedy.)</li>
<li>Added more precise implementation of bivariate cumulative normal distribution (thanks to Gary Kennedy.)</li>
</ul>
<p><b>Release 0.3.10 - July 14th, 2005</b></p>
<p>GLOBAL FEATURES</p>
<ul>
<li>The suggested syntax for setting and registering with the global evaluation date is now: <div class="fragment"><pre class="fragment">      Settings::instance().evaluationDate() = date;
      registerWith(Settings::instance().evaluationDate());
</pre></div></li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Istanbul calendar added (thanks to Serkan Atalik.)</li>
</ul>
<p>LATTICE FRAMEWORK</p>
<ul>
<li>Faster implementation of binomial and trinomial trees.</li>
</ul>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>Added generic multi-dimensional stochastic process.</li>
<li>Added stochastic process array (thanks to Klaus Spanderen.)</li>
<li>Multi-path generator now takes a generic stochastic process; tests provided.</li>
<li>New Path class implemented which stores asset values rather than variations; this makes pricers independent on whether or not log-variations were calculated. The new class is enabled when QL_DISABLE_DEPRECATED is defined; the old class is used otherwise.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Multi-asset option now takes a generic stochastic process.</li>
</ul>
<p>MODELS</p>
<ul>
<li>Added Heston stochastic-volatility model; tests provided (thanks to Klaus Spanderen.) Provided code include:<ul>
<li>a corresponding stochastic process;</li>
<li>analytic and Monte Carlo option-pricing engines;</li>
<li>parameter calibration.</li>
</ul>
</li>
</ul>
<p>CASH FLOWS</p>
<ul>
<li>Cash-flow analyses such as NPV, IRR, convexity and duration added (thanks to Charles Whitmore.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added Gaussian orthogonal polynomials and Gaussian quadratures; tests provided (thanks to Klaus Spanderen.)</li>
<li>Convergence statistics added; tests provided (thanks to Gary Kennedy.)</li>
</ul>
<p><b>Release 0.3.9 - May 2nd, 2005</b></p>
<p>GLOBAL FEATURES</p>
<ul>
<li>QL_SQRT, QL_MIN etc. deprecated in favor of std::sqrt, std::min...</li>
<li>Added a tentative tracing facility to ease debugging.</li>
<li>Formatters deprecated in favor of output manipulators. A number of data types can now be sent directly to output streams.</li>
<li>Stream-based implementation of QL_REQUIRE, QL_TRACE and similar macros. Together with manipulators, this allows one to write simpler error messages, as in: <div class="fragment"><pre class="fragment">      <a class="code" href="errors_8hpp.html#a8efe9cb3e67c8d0585e57b4d53c5d2fe" title="throw an error (possibly with file and line information)">QL_FAIL</a>(<span class="stringliteral">&quot;forward at date &quot;</span> &lt;&lt; d &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code" href="group__manips.html#gac63ea3dad10259db3764c7d15a61cde5" title="output rates and spreads as percentages">io::rate</a>(f));
</pre></div></li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Improved Bond class<ul>
<li>yield-related calculation can be performed with either compounded or continuous compounding;</li>
<li>added theoretical price based on discount curve;</li>
<li>fixed-rate coupon bonds can define different rates for each coupon;</li>
<li>added zero-coupon and floating-rate bonds (thanks to StatPro.)</li>
</ul>
</li>
<li>Option instruments now take a generic StochasticProcess; however, most pricing engines still require a BlackScholesProcess. They should be checked to see whether the requirement can be relaxed. Following this change, Merton76Process no longer inherits from BlackScholesProcess. This avoids erroneous upcasts.</li>
<li>Partial fix for Bermudan swaptions with exercise lag (thanks to Luca Berardi for the report and discussion.)</li>
<li>Fix for analytic cap/floor engine; caplets/floorlets whose fixing is in the past are now calculated correctly (thanks to Aurelien Chanudet.)</li>
</ul>
<p>CALENDARS</p>
<ul>
<li>Added Bratislava and Prague calendars.</li>
</ul>
<p>INDICES</p>
<ul>
<li>Fixed calendars for LIBOR fixings (thanks to Daniele De Francesco.)</li>
</ul>
<p>FINITE_DIFFERENCES FRAMEWORK</p>
<ul>
<li>Migrated finite-difference pricers to pricing-engine framework (thanks to Joseph Wang.)</li>
</ul>
<p>YIELD TERM STRUCTURES</p>
<ul>
<li>Added generic piecewise yield term structure. Client code can choose what to interpolate (discounts, zero yields, forwards) and how (linear, log-linear, flat) by instantiating types such as: <div class="fragment"><pre class="fragment">      PiecewiseYieldCurve&lt;Discount,LogLinear&gt;
      PiecewiseYieldCurve&lt;ZeroYield,Linear&gt;
      PiecewiseYieldCurve&lt;ForwardRate,Linear&gt;
</pre></div></li>
<li>Interpolated discount, zero-yield and forward-rate curves can now be set any interpolation.</li>
<li>FlatForward can now take rates with compounding other than continuous.</li>
<li>Fix for extrapolation in zero-spreaded and forward-spreaded yield term structure (thanks to Adjriou Belak for the report.)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added backward- and forward-flat interpolations.</li>
</ul>
<p><b>Release 0.3.8 - December 22nd, 2004</b></p>
<p>REQUIRED PACKAGES</p>
<ul>
<li>Boost version 1.31.0 or later is now required.</li>
</ul>
<p>DOCUMENTATION</p>
<ul>
<li>Documentation now includes a FAQ page.</li>
</ul>
<p>GLOBAL FEATURES</p>
<ul>
<li>Global evaluation date added through Settings class. Used for index-fixing and exchange-rate lookup.</li>
<li>added InterestRate class, which encapsulate the interest rate compounding algebra. It manages day-counting convention, compounding convention, conversion between different conventions, and discount/compounding factor calculations. It also has its own formatter.</li>
</ul>
<p>INSTRUMENTS</p>
<ul>
<li>Bond and FixedCouponBond classes added (thanks to Jeff Yu) providing price/yield conversions; tests provided.</li>
</ul>
<p>DATE, CALENDARS, AND DAY COUNT CONVENTIONS</p>
<ul>
<li>Reworked Date interface. Added nextWeekday() and nthWeekday() static methods to the class Date. Added nextIMM() for the calculation of the next IMM date.</li>
<li>Added WeekdayFormatter and FrequencyFormatter</li>
<li>Added "1/1" day counter. The Actual365 is deprecated: as per ISDA documentation "Actual/365" is the same as "Actual/Actual". Use the ActualActual class instead, or the Actual365Fixed class.</li>
<li>Added dayCounterFromString(std::string) to QuantLibFunctions.</li>
<li>Improved Beijing calendar (thanks to Zhou Wu.)</li>
</ul>
<p>CURRENCIES AND FX RATES</p>
<ul>
<li>Added currency classes; CurrencyTag replaced in library code.</li>
<li>Added money class providing arithmetic with or without conversions; tests provided.</li>
<li>Added exchange-rate class; tests provided.</li>
<li>Added exchange-rate manager with smart rate lookup, i.e., able to derive a missing exchange rate as a chain of provided rates; tests provided.</li>
</ul>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>Added Faure low-discrepancy sequence (thanks to Gianni Piolanti;) tests provided.</li>
<li>Added randomized (shifted) low discrepancy sequences that will be used for randomized quasi Monte Carlo.</li>
<li>Added SeedGenerator class, for random generation of seeds when they are not given by the user.</li>
<li>Added the implementation of Sobol sequences using the coefficients of the free direction integers as provided by Bratley and Fox, who credited unpublished work of Sobol's and Levitan's.</li>
<li>Added an implementation of Sobol sequences using the coefficients of the free direction integers of Lemieux, Cieslak, and Luttmer. Coefficients for d&lt;=40 are the same as in Bradley-Fox. For dimension 40&lt;d&lt;=360 the coefficients have been calculated as optimal values based on the "resolution" criterion. The values has been provided by Christiane Lemieux, private communication, September 2004.</li>
<li>PathGenerator now works correctly with processes describing S instead of log S. Geometric Brownian process added (thanks to Walter Penschke.)</li>
</ul>
<p>LATTICE FRAMEWORK</p>
<ul>
<li>Reworked the DiscretizedAsset interface.</li>
</ul>
<p>PRICING ENGINES FRAMEWORK</p>
<ul>
<li>Added pricing engine for American options with Ju quadratic approximation.</li>
<li>Average-price Asian pricers have been deprecated. New equivalent pricing engines added.</li>
</ul>
<p>FIXED INCOME</p>
<ul>
<li>Added current coupon to discretized swap and cap/floor.</li>
<li>Added IndexManager as a singleton (will replace XiborManager--already obsoleted in library code.)</li>
<li>Added DayCounter parameter to ParCoupon (to be used for accruing spreads and past fixings.) When missing, it defaults to that of the term structure.</li>
<li>Added compilation flag to select default floating-coupon type.</li>
<li>IndexedCoupon can now take a generic index rather than a Libor (thanks to Daniele De Francesco.)</li>
<li>Added hooks for convexity adjustment in floating-rate coupons; implemented adjustment for InArrearIndexedCoupon.</li>
</ul>
<p>YIELD TERM STRUCTURE</p>
<ul>
<li>TermStructure renamed to YieldTermStructure (the former name was deprecated.)</li>
<li>New base class BaseTermStructure which can calculate its reference date based on the global evaluation date. YieldTermStructure, BlackVolTermStructure, LocalVolTermStructure, CapFlatVolatilityStructure, CapletForwardVolatilityStructure, and SwaptionVolatilityStructure are now derived from BaseTermStructure so that they inherit its functionality.</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>Added Singleton pattern.</li>
</ul>
<p>MATH</p>
<ul>
<li>Added N-dimensional cubic spline (thanks to Roman Gitlin.)</li>
<li>Added CovarianceDecomposition class (decomposes a covariance matrix into standard deviations and correlations)</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>Renamed RelinkableHandle to Handle.</li>
</ul>
<p>PORTABILITY</p>
<ul>
<li>Support for Dev-C++ IDE added.</li>
<li>Fixes for gcc 2.95 added (thanks to Michael Dirkmann.)</li>
</ul>
<p><b>Release 0.3.7 - July 23rd, 2004</b></p>
<center>IMPORTANT</center><p>QuantLib now depends on the Boost library (www.boost.org).</p>
<p>You will need a working Boost installation in order to compile and use QuantLib. Instructions for installing Boost from sources are available at &lt;<a href="http://www.boost.org/more/getting_started.html">http://www.boost.org/more/getting_started.html</a>&gt;. Pre-packaged binaries might be available from other sources. Google is your friend (or Debian, or Fink...)</p>
<hr/>
<p>DATE, CALENDARS, AND DAY COUNT CONVENTIONS</p>
<ul>
<li>Working on differentiating calendars depending on country or exchange, instead of city.</li>
<li>Added Italy (Settlement, Exchange), United Kingdom (Settlement, Exchange, Metals), United States (Settlement, Exchange, GovermentBond), Xetra.</li>
<li>Milan, London, and NewYork calendars have been deprecated.</li>
<li>Added (old-style) calendars: Beijing, Hong Kong, Riyadh, Seoul, Singapore, Taiwan.</li>
<li>RollingConvention has been renamed BusinessDayConvention, as for ISDA definitions.</li>
</ul>
<p>MATH</p>
<ul>
<li>Added rounding algorythms as per OMG enumeration/definition.</li>
</ul>
<p>TEST SUITE</p>
<ul>
<li>Moved to Boost unit test framework. CppUnit is no longer needed.</li>
<li>Added test for quanto and forward compound engines.</li>
<li>Added test for roundings.</li>
<li>Added test for discrete dividend European options.</li>
<li>Added test for cliquet options.</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>enable/disableExtrapolation() methods were added to a few classes such as TermStructure. They make it possible to persistently allow extrapolation without the need of specifying it at every method call.</li>
<li>Added user-configurable flag to disable usage of deprecated classes.</li>
</ul>
<p>PORTABILITY</p>
<ul>
<li>Fink package available</li>
<li>Visual C++ 7.x project files added</li>
</ul>
<p><b>Release 0.3.6 - April 15th, 2004</b></p>
<p>Bug-fix release for QuantLib 0.3.5. A bug was removed where calls to impliedVolatility() would break the state of the option and of all options sharing the same stochastic process.</p>
<p><b>Release 0.3.5 - March 31th, 2004</b></p>
<p>BOOST SUPPORT</p>
<ul>
<li>When available, QuantLib 0.3.5 now uses parts of the Boost library. The presence of Boost is detected automatically under Unix/Linux systems; on Windows systems, it must be enabled by uncommenting the relevant line in ql/userconfig.hpp.</li>
</ul>
<ul>
<li>In the next QuantLib release, the presence of the Boost library will be mandatory.</li>
</ul>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>Modified MultiPath interface to remove drifts. They are now in the stochastic processes.</li>
<li>Preliminary implementation of Longstaff-Schwartz least-squares</li>
<li>Monte Carlo pricer for European basket options</li>
<li>Brownian-bridge bugs fixed</li>
<li>StochasticProcess base class and derived classes (diffusion, jump-diffusion, etc.) have been created.</li>
</ul>
<p>PRICING ENGINES FRAMEWORK</p>
<ul>
<li>Pricing engines now use Payoff and Exercise classes.</li>
<li>American basket options.</li>
<li>Binary barrier option replaced by vanilla option with digital payoff.</li>
<li>Stulz engine for max and min basket calls and puts on two assets.</li>
<li>American binary option added (a.k.a. one-touch, american digital, americal barrier, etc.) with different payoffs (cash/asset at hit/expiry, etc.)</li>
<li>Added engine for Merton 1976 jump-diffusion process.</li>
<li>Added Bjerksund and Stensland approximation for American option (still unstable.)</li>
<li>Added Barone-Adesi and Whaley approximation for American option.</li>
<li>Improved Black formula engine with more greeks added.</li>
<li>Discrete geometric asian option.</li>
<li>Added Leisen-Reimer binomial tree.</li>
</ul>
<p>SHORT RATE MODELS</p>
<ul>
<li>Model renamed to ShortRateModel. A typedef is provided for backward compatibility--it will be removed in subsequent releases.</li>
</ul>
<p>VOLATILITY FRAMEWORK</p>
<ul>
<li>bug fix for short time (0&lt;=t&lt;=Tmin) interpolation</li>
</ul>
<p>OPTIMIZATION FRAMEWORK</p>
<ul>
<li>Method renamed to OptimizationMethod. A typedef is provided for backward compatibility--it will be removed in subsequent releases.</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>Composite pattern</li>
</ul>
<p>MATH</p>
<ul>
<li>Improved cubic spline interpolation. It now handles end conditions such as first derivative value, second derivative value, not-a-knot. Hyman filter for monotonically constrained interpolation has been implemented. Primitive calculation has been enabled in addition to derivative and second derivative.</li>
<li>Primitive, first derivative, and second derivative functions are available for linear interpolator.</li>
<li>Singular value decomposition improved.</li>
<li>Added bivariate cumulative normal distribution.</li>
<li>Added binomial coefficient calculation, binomial distribution, cumulative binomial distribution, and Peizer-Pratt inversion (method 2.)</li>
<li>Added beta functions.</li>
<li>Added Poisson distribution and cumulative distribution.</li>
<li>Added incomplete gamma functions.</li>
<li>Added factorial calculation.</li>
<li>Added rank-reduced square root and improved pseudo-square root of square symmetric matrices.</li>
<li>Added Cholesky decomposition.</li>
</ul>
<p>TEST SUITE</p>
<ul>
<li>Added test for cubic spline interpolation.</li>
<li>Added test for singular value decomposition.</li>
<li>Added test for two-asset baskets using the Stulz pricing engine.</li>
<li>Added test for Monte Carlo American cash-at-hit options.</li>
<li>Added test for jump-diffusion engine.</li>
<li>Added test for American and European digital options.</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>Inner namespaces have been deprecated.</li>
<li>Added frequency enumeration, including 'once'.</li>
<li>MarketElement renamed to Quote.</li>
<li>Handling strike=0.0 where possible.</li>
<li>More Payoff classes have been introduced: gap, asset-or-nothing, cash-or-nothing. Payoff is now extensively used.</li>
<li>Exercise class is now polymorphic. More derived classes have been introduced, and they are now extensively used.</li>
<li>Introduced QL_FAIL macro.</li>
<li>Added calendar for Copenhagen</li>
<li>14 April 2004 (election day) added to Johannesburg calendar as a one-off holiday.</li>
<li>Documentation generated with Doxygen 1.3.6.</li>
<li>Win32 installer generated with NSIS 2.0.</li>
</ul>
<p><b>Release 0.3.4 - November 21th, 2003</b></p>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>MC European in one step with strike-independent vol curve (hopefully)</li>
<li>Path pricer for Binary options. It should cover both European and American style options. Also known as: Digital, Binary, Cash-At-Hit, Cash-At-Expiry.</li>
<li>Path pricers for barrier options</li>
</ul>
<p>PRICING ENGINES FRAMEWORK</p>
<ul>
<li>More options moved to the new pricing engine framework: binary, barrier</li>
<li>Changed setupEngine() into setupArguments(args)</li>
<li>Moved pricing-engine machinery up to Instrument class</li>
</ul>
<p>FIXED INCOME</p>
<ul>
<li>New basis-point sensitivity functions</li>
<li>Added Swap::startDate() and maturity()</li>
<li>Cap/floor fixing days taken into account</li>
</ul>
<p>SHORT RATE MODELS</p>
<ul>
<li>An additional constraint can now be passed to the calibration</li>
</ul>
<p>VOLATILITY FRAMEWORK</p>
<ul>
<li>Visitable volatility term structures</li>
</ul>
<p>OPTIMIZATION FRAMEWORK</p>
<ul>
<li>Added composite constraint</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>Visitor, Alexandrescu-style (saves some code duplication)</li>
</ul>
<p>MATH</p>
<ul>
<li>Added more integration algorithms contributed by Roman Gitlin</li>
<li>Relaxed constaints on interval boundaries for integration algorithms</li>
<li>Interpolation traits</li>
</ul>
<p>TEST SUITE</p>
<ul>
<li>Added implied cap/floor term volatility test</li>
<li>Added test for binary options in PricingEngine Framework.</li>
<li>Added tests for Barrier options in PricingEngine Framework. Some Monte Carlo tests, but not comprehensive.</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>Conditionally allowed negative yields (disabled by default)</li>
<li>Null calendar and simple day counter for reproducing theoretical calculations</li>
<li>Fixed for VC++.Net compilation</li>
<li>Added spec file for RPMs</li>
<li>Added global flag for early/late payments</li>
<li>Enabled test suite for Borland</li>
<li>Removed OnTheEdge VC++ configurations</li>
<li>Added VC++ configurations for static and dynamic Multithread libraries</li>
<li>Upgraded to use Doxygen 1.3.4</li>
</ul>
<p><b>Release 0.3.3 - September 3rd, 2003</b></p>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>Re-templatized Monte Carlo model based on traits.</li>
<li>New path generator based on DiffusionProcess, TimeGrid, and externally initialized random number generator.</li>
<li>Added Halton low discrepancy sequence.</li>
<li>Added sequence generators: random sequence generator creates a sequence generator out of a random number generator. InvCumGaussianRsg creates a gaussian sequence generator out of a uniform (random or low discrepancy) sequence generator.</li>
<li>RNG as constructor input constructor( long seed) deprecated.</li>
<li>Mersenne Twister random number generator added</li>
<li>Old PathPricers, PathGenerators, etc are available with a trailing _old</li>
<li>Added J&auml;ckel's Brownian Bridge (not used yet.)</li>
<li>Sobol Random Sequence Generator. Unit and J&auml;ckel.</li>
<li>Added randomized Halton sequences.</li>
</ul>
<p>FINITE DIFFERENCE FRAMEWORK</p>
<ul>
<li>Old class Grid no longer exists, use CenteredGrid to obtain the same result.</li>
</ul>
<p>LATTICE FRAMEWORK</p>
<ul>
<li>Abstracted discretized option.</li>
<li>Additive binomial trees. All binomial trees now use DiffusionProcess.</li>
<li>Added Tian binomial tree.</li>
</ul>
<p>PRICING ENGINES FRAMEWORK</p>
<ul>
<li>Partially implemented.</li>
<li>Quanto forward compounded engines.</li>
<li>Integral (european) pricing engine.</li>
</ul>
<p>YIELD TERM STRUCTURE</p>
<ul>
<li>ZeroCurve: a term structure based on linear interpolation of zero yields.</li>
</ul>
<p>FIXED INCOME</p>
<ul>
<li>Up-front and in-arrear indexed coupon.</li>
<li>Specific implementation of compound forward rate from zero yield.</li>
<li>Added compound forward and zero coupon implementations.</li>
<li>Added Futures rate helper with specified maturity date.</li>
<li>Added bucketed bps calculation.</li>
<li>Added swap constructor using specified maturity date as well as added functionality in Scheduler.</li>
<li>Added date-bucketed basis point sensitivity based on 1st derivative of zero coupon rate.</li>
</ul>
<p>OPTIMIZATION FRAMEWORK</p>
<ul>
<li>Solvers now take any function. ObjectiveFunction disappeared.</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>Abstracted lazy object.</li>
<li>Abstracted the curiously recurring template pattern.</li>
</ul>
<p>DATE AND CALENDARS</p>
<ul>
<li>Added joint calendars.</li>
<li>Tokyo, Stockholm, Johannesburg calendar improved.</li>
<li>"MonthEndReference" business day rolling convention. Similar to "ModifiedFollowing", unless where original date is last business day of month all resulting dates will also be last business day of month.</li>
<li>Added basic date generation starting from the end.</li>
</ul>
<p>MATH</p>
<ul>
<li>Added Gauss-Kronrod integration algorithm.</li>
<li>Added primitive polynomial modulo 2 up to dimension 18 (available up to dimension 27.)</li>
<li>Added BicubicSplineInterpolation.</li>
<li>Numerical Recipes algorithm is back since there is a problem with Nicolas' code: it is unable to fit a straight line, it waves around the line.</li>
<li>Prime number generation.</li>
<li>Acklam's approximation for inverse cumulative normal distribution function (replaced Moro's algorithm as default.)</li>
<li>Added error function.</li>
<li>Improved Cumulative Normal Distribution function using the error function.</li>
<li>Matrix pseudo square algorithm using salvaging algorithm(s).</li>
<li>Added SequenceStatistics.</li>
<li>Major Statistic reworking.</li>
<li>Added DiscrepancyStatistic that inherits from SequenceStatistic and extends it with the calculation of L2-discrepancy.</li>
<li>HStatistics.</li>
<li>Added first and second derivative ot cubic splines.</li>
</ul>
<p>RISK MEASURES</p>
<ul>
<li>Introduced semiVariance and regret.</li>
<li>Redefinition of average shorfall (normalization factor now is cumulative(target) instead of 1.0)</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>QuEP 9 "generic disposable objects" implemented.</li>
<li>Added test suite.</li>
<li>Dataformatters extended to format long integers, Ordinal numerals, power of two formatting.</li>
<li>Exercise class adopted.</li>
<li>Added user configuration section.</li>
<li>Inhibited automatic conversion of Handle&lt;T&gt; to RelinkableHandle&lt;T&gt;.</li>
<li>Diffusion process extended.</li>
<li>Added strikeSensitivity to the Greeks.</li>
<li>BS does handle t==0.0 and sigma==0.0.</li>
<li>TimeGrid has been reworked.</li>
<li>Added payoff file for Payoff classes. Added Cash-Or-Nothing and Asset-Or-Nothing payoff classes.</li>
<li>Upgraded to use Doxygen 1.3.</li>
</ul>
<p><b>Release 0.3.1 - February 4th, 2003</b></p>
<p>FINITE DIFFERENCE FRAMEWORK</p>
<ul>
<li>partially implemented QuEP 2 (<a href="http://quantlib.org/quep.shtml">http://quantlib.org/quep.shtml</a>)</li>
</ul>
<p>VOLATILITY FRAMEWORK</p>
<ul>
<li>added Black and local volatility interface</li>
</ul>
<p>PRICING ENGINES FRAMEWORK</p>
<ul>
<li>partially implemented QuEP 5 (<a href="http://quantlib.org/quep.shtml">http://quantlib.org/quep.shtml</a>)</li>
</ul>
<p>YIELD TERM STRUCTURE</p>
<ul>
<li>interface revisited</li>
<li>added discrete time forward methods</li>
<li>added DiscountCurve (loglinear interpolated) and CompoundForward term structures</li>
<li>ForwardSpreadedTermStructure moved under QuantLib::TermStructures namespace</li>
</ul>
<p>FIXED INCOME</p>
<ul>
<li>Modified coupons so that the payment date can be after the end of the accrual period</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>added/verified holidays of many calendars</li>
<li>added new calendars</li>
<li>added new currencies</li>
<li>more date formatters</li>
<li>added Period(std::string&amp;)</li>
<li>it is now possible to advance a calandar using a Period</li>
<li>added LogLinear Interpolation</li>
<li>the allowExtrapolation boolean in interpolation classes has been removed from constructors and added to the operator()</li>
<li>Renamed Solver1D::lowBound and hiBound</li>
<li>bug fixes</li>
</ul>
<p>BUILD PROCESS</p>
<ul>
<li>More autoconfiscated time functions and types</li>
<li>Migrated to latest autotools</li>
<li>added patches for Darwin and Solaris</li>
</ul>
<p><b>Release 0.3.0 - May 6th, 2002</b></p>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>Path and MultiPath are time-aware</li>
<li>McPricer: extended interface, improved convergency algorithm</li>
</ul>
<p>FINITE DIFFERENCE FRAMEWORK</p>
<ul>
<li>added mixed (implicit/explicit) scheme, from which Crank-Nicolson, ImplicitEuler, and ExplicitEuler are now derived</li>
<li>Finite Difference exercise conditions are now in the FiniteDifferences folder/namespace</li>
<li>Finite Difference pricers now start with 'Fd' letters</li>
<li>BSMNumericalOption became BsmFdOption</li>
</ul>
<p>LATTICE FRAMEWORK</p>
<ul>
<li>introduced first version of the framework</li>
<li>CRR and JR binomial trees</li>
</ul>
<p>VOLATILITY FRAMEWORK</p>
<ul>
<li>early works on reorganization of vol structures</li>
</ul>
<p>YIELD TERM STRUCTURE</p>
<ul>
<li>new TermStructure class based on affine model</li>
<li>yield curves can be spreaded in term of zeros (ZeroSpreadedTermStructure) and forwards (ForwardSpreadedTermStructure)</li>
<li>Added dates() and times() to PiecewiseFlatForward</li>
<li>discount factor accuracy in the yield curve bootstrapping is an input</li>
<li>added single factor short-rate models (Hull-White, Black-Karasinski)</li>
<li>added two factor short-rate models framework</li>
<li>cap/floor and swaption calibration helpers</li>
<li>added bermudan swaption pricing example (including BK and HW calibrations)</li>
</ul>
<p>FIXED INCOME</p>
<ul>
<li>cap/floor and swaption tree pricer</li>
<li>cap/floor analytical pricer</li>
<li>vanilla swaption Jamshidian pricer</li>
<li>Added accruedAmount() to coupons</li>
<li>Made cash flow vector builders into functions</li>
</ul>
<p>OPTIMIZATION FRAMEWORK</p>
<ul>
<li>added conjugate gradient, simplex</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>implemented QuEP 8 and 10</li>
</ul>
<p>MISCELLANEA</p>
<ul>
<li>added allowExtrapolation parameter to interpolaton classes</li>
<li>added 2D bilinear interpolation</li>
<li>better spline interpolation algorithm</li>
<li>Added non-central chi-square distribution function.</li>
<li>Improved Inverse Cumulative Normal Distribution using Moro's algorithm</li>
<li>Introduced class representing stochastic processes</li>
<li>added isExpired() to Instrument interface</li>
<li>added functions folder and namespace for QuantLibXL and any other function-like interface to QuantLib</li>
<li>Handle is now castable to an Handle of a compatible type</li>
<li>added downsideVariance to the Statistics class</li>
<li>kustosis() and skewness() now handles the case of stddev == 0 and/or variance == 0</li>
<li>added Correlation Matrix to MultiVariateAccumulator</li>
<li>enforced MS VC compilation settings</li>
<li>added "-debug" to the QL_VERSION version string ifdef QL_DEBUG</li>
<li>"make check" runs the example programs under Borland C++</li>
<li>fixed compilation with "g++ -pedantic"</li>
<li>Spread as market element</li>
<li>new calendars introduced</li>
<li>new Xibor Indexes introduced</li>
<li>Added optional day count to libor indexes</li>
<li>Shortened file names within 31 char limit to support HFS</li>
</ul>
<p><b>Release 0.2.1 - December 3rd, 2001</b></p>
<p>MONTE CARLO FRAMEWORK</p>
<ul>
<li>Path and MultiPath are now classes on their own</li>
<li>PathPricer now handles both Path and MultiPath</li>
<li>MonteCarloModel now handles both single factor and multi factors simulations.</li>
<li>McPricer now handles both single factor and multi factors pricing. New pricing interface</li>
<li>antithetic variance-reduction technique made possible in Monte Carlo for both single factor and multi factors</li>
<li>Control Variate specific class removed: control variation technique is now handled by the general MC model</li>
<li>average price and average strike asian option refactored</li>
<li>Sample as a (value,weight) struct</li>
<li>random number generators moved under RandomNumbers folder and namespace</li>
</ul>
<p>FINITE DIFFERENCE FRAMEWORK</p>
<ul>
<li>BackwardEuler and ForwardEuler renamed ImplicitEuler and ExplicitEuler, respectively</li>
<li>refactoring of TridiagonalOperator and derived classes</li>
</ul>
<p>YIELD TERM STRUCTURE AND FIXED INCOME</p>
<ul>
<li>Added some useful methods to term structure classes</li>
<li>Allowed passing a quote to RateHelpers as double</li>
<li>added FuturesRateHelpers (no convexity adjustment yet)</li>
<li>PiecewiseFlatForward now observer of rates passed as MarketElements</li>
<li>Unified Date and Time interface in TermStructure</li>
<li>Added BPS to generic swap legs</li>
<li>added term_structure+swap example</li>
<li>Fixing days introduced for floating-coupon bond</li>
</ul>
<p>PATTERNS</p>
<ul>
<li>Added factory pattern</li>
<li>Calendar and DayCounter now use the Strategy pattern</li>
</ul>
<p>VARIOUS</p>
<ul>
<li>used do-while-false idiom in QL_REQUIRE-like macros</li>
<li>now using size_t where appropriate</li>
<li>dividendYield is now a Spread instead of a Rate (that is: cost of carry is allowed)</li>
<li>RelinkableHandle initialized with an optional Handle</li>
<li>Worked around VC++ problems in History constructor</li>
<li>added QL_VERSION and QL_HEX_VERSION</li>
<li>generic bug fixes</li>
<li>removed classes deprecated in 0.2.0</li>
</ul>
<p>INSTALLATION FACILITIES</p>
<ul>
<li>improved and smoother Win32 binary installer</li>
</ul>
<p>DOCUMENTATION</p>
<ul>
<li>general re-hauling</li>
<li>improved and extended Monte Carlo documentation</li>
<li>improved and extended examples</li>
<li>Upgraded to Doxygen 1.2.11.1</li>
<li>Added man pages for installed executables</li>
<li>added docs in Windows Help format</li>
<li>added info on "Win32 OnTheEdgeRelease" and "Win32 OnTheEdgeDebug" MS VC++ configurations</li>
<li>additional information on how to create a MS VC++ project based on QuantLib</li>
</ul>
<p><b>Release 0.2.0 - September 18th, 2001</b></p>
<ul>
<li>Library:<ul>
<li>source code moved under ql, better GNU standards</li>
<li>gcc build dir can now be separated from source tree</li>
<li>gcc 3.0.1 port</li>
<li>clean compilation (no warnings)</li>
<li>bootstrap script on cygwin</li>
<li>Fixed automatic choice of seed for random number generators</li>
<li>Actual/actual classes</li>
<li>extended platform support (see table in documentation)</li>
<li>antithetic variance-reduction technique made possible in Monte Carlo</li>
<li>added dividend-Rho greek</li>
<li>First implementation of segment integral (to be redesigned)</li>
<li>Knuth random generator</li>
<li>Cash flows, scheduler, and swap (both generic and simple) added</li>
<li>added ICGaussian random generator</li>
<li>generic bug fixes</li>
</ul>
</li>
<li>Installation facilities:<ul>
<li>improved and smoother Win32 binary installer</li>
<li>better distribution</li>
<li>debian packages available</li>
</ul>
</li>
<li>Documentation:<ul>
<li>general re-hauling</li>
<li>added examples of using QuantLib and of projects based on QL</li>
</ul>
</li>
</ul>
<p><b>Release 0.1.9 - May 31st, 2001</b></p>
<ul>
<li>Library:<ul>
<li>Style guidelines introduced (see <a href="http://quantlib.org/style.shtml">http://quantlib.org/style.shtml</a>) and partially enforced</li>
<li>full support for Microsoft Visual Studio</li>
<li>full support for Linux/gcc</li>
<li>momentarily broken support for Metrowerks CodeWarrior</li>
<li>autoconfiscation (with specialized config.*.hpp files for platforms without automake/autoconf support)</li>
<li>Include files moved under Include/ql folder and referenced as "ql/header.hpp"</li>
<li>Implemented expression templates techniques for array algebra optimization</li>
<li>Added custom iterators</li>
<li>Improved term structure</li>
<li>Added Asian, Bermudan, Shout, Cliquet, Himalaya, and Barrier options (all with greeks calculation, control variated where possible)</li>
<li>Added Helsinki and Wellington calendars</li>
<li>Improved Normal distribution related functions: cumulative, inverse cumulative, etc.</li>
<li>Added uniform and Gaussian random number generators</li>
<li>Added Statistics class (mean, variance, skewness, downside variance, etc.)</li>
<li>Added RiskMeasures class: VAR, average shortfall, expected shortfall, etc.</li>
<li>Added RiskStatistics class combining Statistics and RiskMeasures</li>
<li>Added sample accumulator for multivariate analysis</li>
<li>Added Monte Carlo tools</li>
<li>Added matrix-related functions (square root, symmetric Schur decomposition)</li>
<li>Added interpolation framework (linear and cubic spline interpolation implemented).</li>
</ul>
</li>
<li>Installation facilities:<ul>
<li>Added Win32 GUI installer for binaries</li>
</ul>
</li>
<li>Documentation:<ul>
<li>support for Doxygen 1.2.7</li>
<li>Added man documentation</li>
</ul>
</li>
</ul>
<p><b>Release 0.1.1 - November 21st, 2000</b></p>
<p>Initial release. </p>
</div></div><!-- contents -->

</div>

<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.7.6.1
</div>
</div>

</div>

</body>
</html>