forked from OpenSourceRisk/Engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
News.txt
746 lines (577 loc) · 30.7 KB
/
News.txt
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
Changes for the 12th ORE release:
=================================
ORE v12 includes the following notable changes.
INSTRUMENTS & PRICING
- add formula-based leg (ticket 12263), see Example 64
- add Callable Swap (ticket 12370), see extended Example 5
- add Flexi Swap (ticket 12370), see Example 65
- add Balance Guaranteed Swap (ticket 12370), see Example 66
- add American Swaption with finite difference pricing in LGM (ticket 11618), see extended Example 4
- add Equity Outperformance Option (ticket 12456)
- add Pairwise Variance Swap (ticket 12456)
- add analytic pricer for Overnight Index Swaptions (ticket 11974)
- add finite difference LGM pricers for Bermudan and European Swaptions
- add numerical integration LGM pricer for European Swaptions
- support indexed cashflows in AMC (ticket 12206)
- scripted trades: support LGM1F using finite difference and numerical integration (ticket 12306)
- scripted trades: support generating past cashflows (ticket 12417)
- scripted trades: handle near-collinear predictor variables in linear regression for AMC (ticket 12419)
- support for rules-based Bermudan exercise dates (ticket 11947)
- improved AMC regression model for resetting XCCY Swaps (ticket 12119)
- add Burley 2020 scrambled Sobol sequence (ticket 12140), used in Example 56
- rates curve building: support mixed interpolations (ticket 12159), used in Example 53
- add priorities to yield curve segments (ticket 9557)
- configurable settlement date flows handling (ticket 12372)
- introduce notional payment lag for resetting Cross Currency Swaps (ticket 12379)
- support security spreads over discount in Single Currency Swaps, Swaptions and Scripted Trades
(ticket 12201 and 12275)
- add pricing engines that provide analytical deltas and gammas for Swaps, Swaptions, FX Forwards,
FX Options (ticket 12456)
MARKETS & TERMSTRUCTURES
- SABR pricing for Swaptions and Caps/Floors (ticket 12325), see Example 59
- allow importing external SABR parameters (ticket 12491)
ANALYTICS
- add XVA Sensitivity Proof of Concept using AAD (ticket 12028), see Example 56
- support overlapping close-out date grid in exposure/XVA (ticket 9859), see Example 60
- add scenario analytic (ticket 11990), see Example 57
- add historical simulation VaR analytic (ticket 9793), see Example 58
- add IM Schedule analytic (ticket 11730), see extended Example 44
- add P&L and P&L Explain analytics (ticket 12458), see Example 62
- add par stress test support (ticket 12148), see Example 63
- add XVA stress testing (ticket 12376), see Example 67
- add XVA bump & revalue sensitivities (ticket 12437), see Example 68
- add bond spread imply to ORE (ticket 12370)
- add market risk backtest analytic (ticket 12370)
- add calculation of stoplight bounds for backtests (ticket 12370)
- feed t0 Variation Margin into xVA calculation (ticket 12241)
- support flat Initial Margin projection in exposure calculations (ticket 12318)
- fix the Independent Amount implementation in exposure calculations (ticket 12277)
- introduce configurable shift size and difference scheme per product for sensitivity analysis (ticket 12014)
- improve performance of SIMM calculations for large CRIF files (ticket 12397)
- output effective SOFR / RFR cap volatilities in reports (ticket 12192)
TESTS
- add a test suite for ORE-SWIG (ticket 11823)
- add AD unit tests (ticket 12188)
- add delta/gamma engine tests (ticket 12370)
- add pairwise variance swap tests (ticket 12370)
- add equity outperformance option tests (ticket 12370)
- QuantExt: 298 test functions (vs 272 in the previous release)
- OREData: 264 test functions (vs. 257 in the previous release)
- OREAnalytics: 79 test functions (vs. 78 in the previous release)
DOCUMENTATION
- add documentation of pricing engine configuration (ticket 12337)
- add documentation for added instruments (ticket 12317)
- add supported compiler and boost versions (ticket 11431)
- update the ORE Design document (ticket 12375)
- the user guide has grown significantly to about 830 pages, due to the migration of more instruments
into ORE, additional examples, and especially the added documentation of pricing engine configurations.
LANGUAGE BINDINGS & PYTHON MODULE
- add NPV Cube and joint cube to the swig interface (ticket 12421)
- refactor OREApp to allow repeated run() calls (ticket 12317)
- add Python wheels workflow on github (ticket 12436)
ORE SERVICE
- add a restful API to ORE, based on ORE-Python and the Flask web framework, see ore/Api
and the corresponding section in the user guide
GPU
- The external device interface based on the scripted trade and in particular its computation
graph implementation is progressing. This release has several notable changes including
* an option to use double precision in opencl (ticket 12386)
* a mersenne twister random number generator implementation for opencl (ticket 12387)
* a working example that parallelizes bump & reval sensitivity analysis on a GPU, see Example 61
* Smoke test are passing on several external devices
Next steps include:
* implementation of the conditional expectation operator on the GPU
* implementation of several coupon types to cover IR/FX products more broadly
* implementation of a computation graph version of the post processor
NEW & EXTENDED EXAMPLES
- 4: American Swaption added
- 5: Callable Swap instrument added
- 44: IM Schedule added
- 54: Scripted Trade exposure with AMC: Bermudan Swaption and LPI Swap
- 55: Scripted Trade exposure with AMC: TaRF
- 56: Proof of Concept: CVA Sensitivities using AAD
- 57: Base Scenario Analytic
- 58: Historical Simulation VaR
- 59: SABR model for Swaptions and Caps/Floors
- 60: Exposure and XVA with Overlapping Close-Out Grid
- 61: Fast Sensitivities using AAD and GPUs
- 62: P&L and P&L Explain Analytic
- 63: Stresstest with shifts in the par-rate domain
- 64: Formual-based Coupon
- 65: Flexi Swap
- 66: Balance Guaranteed Swap
- 67: XVA Stress Testing
- 68: XVA Bump & Revalue Sensitivities
- 69: Convert Zero Rate Shifts into Par Rate Shifts
Changes for the 11th ORE release (1.8.11.0):
============================================
ORE 1.8.11.0 includes the following notable changes, details can be
found in the commits between July 2023 and beginning of October 2023.
INSTRUMENTS
- Add the Scripted Trade framework, see Example 52
- Add support for fixings at trade level, see Example 51
- Add Commodity Heat Rate Option
- Add support for FRA on OIS
- Add support for SIFMA Cap/Floor
MARKETS
- Support Optionlet volatility input
- Add Dated OIS Rate Helper to the ORE yield curve to support instruments
tailored to Central Bank meeting dates, see Example 53
ANALYTICS
- Add SIMM 2.6
- Add support for SIMM with one-day horizon, see updated Example 44
- Convert pre-computed zero sensitivities into par sensitivities, see Example 50
- Add support for Cross Currency MtM Reset Swaps to AMC exposure simulation
TEST
- QuantExt: 272 test functions (vs 267 in the previous release)
- OREData: 257 test functions (vs. 206 in the previous release)
- OREAnalytics: 78 test functions
DOCUMENTATION
- A separate guide for the Scripted Trade has been added,
see Docs/ScriptedTrade/scriptedtrade.tex
LANGUAGE BINDINGS
- Upgrade to QuantLib-SWIG-v1.31.1
OTHER
- Added an external compute device interface (to utilise GPUs)
- Logging enhancements (progress, structured logs)
- Introduced Blackduck and Coverity scans of the code base before releases
- Upgrade of ORE's QuantLib fork to QuantLib-v1.31.1
Changes for the 10th ORE release (1.8.10.0):
============================================
ORE 1.8.10.0 includes the following notable changes, details can be
found in the commits between April and June 2022.
INSTRUMENTS
- roll out of Hybrid and Credit instruments, thanks to Acadia Inc., as announced in September 22:
* Collateralized Bond Obligation, see Examples 45
* Generic Total Return Swap and Contract For Difference framework, see Example 46,
referencing Bonds, Forward Bonds, Convertible Bonds, CBOs,
Equity and Equity Option positions, or any combination of derivatives covered in ORE
* Composite Trade, composites of any ORE trade types, see Example 47
* Convertible Bond and Asset Swapped Convertible Option Transaction (ASCOT), see Example 48
- support separate fixing and payment date schedules on floating legs
- support notional changes within calculation periods on fixed and floating legs
MARKETS
- Add a new yield curve segment "Bond Yield Shifted", see Example 49, thanks to Oleg Kulkov
ANALYTICS
- Add a proof-of-concept Credit Portfolio Model to construct portfolio loss distributions due to
credit migration, credit default and market moves across cash products and derivatives, see Example 43
- Add the ISDA Standard Initial Margin Model (SIMM), all versions since inception, see Example 44
- Fix the Windows builds with QL_ENABLE_SESSIONS=ON (to enable ORE multi-threading on Windows),
thanks to Steven van Haaren for reporting this issue and triggering this fix.
TEST
- QuantExt: 267 test functions (vs 263 in the previous release)
- OREData: 206 test functions (vs. 203 in the previous release)
- OREAnalytics: 78 test functions (vs. 68 in the previous release)
DOCUMENTATION
- The user guide has grown from 486 to 537 pages, due to the migration of Hybrid instruments
into ORE, new analytics and examples 43ff.
- A separate guide for the Credit Portfolio Model in ORE has been added,
see Docs/UserGuide/creditmodel.tex
LANGUAGE BINDINGS & PYTHON MODULE
- Upgrade to QuantLib-SWIG-v1.30
- Added four of the Jupyter notebooks presented at the Acadia Quant Summit (London
see oreswig/OREAnalytics-SWIG/Python/Examples/Notebooks
OTHER
- Upgraded ORE's QuantLib fork to QuantLib-v1.30
Changes for the 9th ORE release (1.8.9.0):
============================================
ORE 1.8.9.0 includes the following notable changes, details can be
found in the commits between December 2022 and beginning of March 2023.
INSTRUMENTS
- roll out of Credit derivatives, thanks to Acadia Inc., as announced in September 22:
* Bond Option
* Bond Repo
* Bond Total Return Swap
* Credit-Linked Swap
* Index Credit Default Swap
* Index Credit Default Swap Option
* Credit Index Tranche, Synthetic CDO
including related models and pricing engines
- optimize performance for the analytical Commodity Swaption engine
- add missing FxIndex registrations in Commodity APO and Commodity Indexed Average Cashflows
- include leg NPVs in additional results of CDS products
- fix LGM Swaption pricing for cases where fixing date < exercise date
MARKETS & TERM STRUCTURES
- fix shifted lognormal Swaption vol surface (SwaptionVolCubeWithATM, add missing shift)
ANALYTICS
- integrate American Monte Carlo simulation, see the new Example 39
- add Par Sensitivity Analysis, see the new Example 40
- add more parametric VaR types (delta-gamma normal, delta-gamma Saddlepoint)
- support multi-threading in sensitivity analysis
- support multi-threading in exposure simulation, see the new Example 41
- fix exposure/XVA analytics with simulation of fixings for ceased IBOR indices
TEST
- QuantExt: 263 test functions (vs 242 in the previous release)
- OREData: 203 test functions (vs. 199 in the previous release)
- OREAnalytics: 68 test functions (vs. 66 in the previous release)
DOCUMENTATION
- The user guide has grown from 440 to 486 pages, mainly due to the
migration of Credit derivative instruments into ORE, as well as new examples 39 - 42.
LANGUAGE BINDINGS
- Upgrade to QuantLib-SWIG-1.29
- The SWIG wrapper has been extended to provide access to ORE input
construction in memory and to query in-memory results (reports etc), in line
with the refactoring mentioned below. See the new Example 42.
- To facilitate access to ORE Python, we are providing Python wheels for various
OS types and Python versions starting with this release, thanks to Eric Ehlers's
effort and Luigi Ballabio's support to get in up and running using github actions.
Build instructions for the Python wheels are included in the user guide's section 4.
See the new Example 42 on how to use the published wheels.
OTHER
- Upgrade to QuantLib-1.29
- Refactor the serialization of NPV cube and market cube (aggregation scenario data)
- Refactor OREAnalytics/orea/app by separating input construction from processing
and persisting results. This is to faciliate re-using the processing element
(analyticsManager->runAnalytics(...)) in different applications, a command line
application such as ore[.exe] that reads/writes from/to files, an ORE Python wrapper
that receives input and provides results in memory (see language bindings above),
or a REST service built around ORE. Results (reports, cubes etc) are stored in
memory and only saved to files on demand. Inputs for the ORE processor can be
assembled in memory, or read from files.
Changes for the 8th ORE release (1.8.8.0):
============================================
ORE 1.8.8.0 includes the following notable changes, details can be
found in the commits between September 2022 and December 2022.
INSTRUMENTS
- roll out Commodity derivatives, thanks to Acadia Inc., as announced in September 22:
* Commodity Swap
* Commodity Swaption
* Commodity Average Price Option
* Commodity Option Strips and Digital Option Strip
see user guide and in particular Example 24
- add Equity Cliquet Option, missed in the 7th release, thanks to Acadia
- add Equity/FX/Commodity Variance Swap, missed in the 7th release, thanks to Acadia
- introduce separate trade types for Cross Currency and Inflation Swap
- merge QuantExt and QuantLib CDS and midpoint engine in ORE's QuantLib fork,
QuantLib pull request to follow
MARKETS
- performance optimizations for curve builders
- extend the market interface to optionally handle precious metals and crypto currencies
as commodities instead of FX
TERM STRUCTURES
- no notable changes
ANALYTICS
- add American Monte Carlo simulation components to support fast Bermudan Swaption
exposure simulation and more, thanks to Acadia;
the integration into the ORE command line app will follow with the next release (March 23)
as it requires some refactoring.
- add Commodity simulation to the cross asset model and market simulation, integraded
with the LGM-based Cross Asset Model, thanks to Acadia
- add a multi-factor Hull-White / FX / Commodity simulation model, thanks to Acadia;
calibration to be added
TESTS
- QuantExt: 242 test functions (vs 214 in the previous release)
- OREData: 199 test functions (vs. 192 in the previous release)
- OREAnalytics: 66 test functions (vs. 65 in the previous release)
DOCUMENTATION
- the user guide is maintained continuously incorporating user feedback, in particular
from Acadia service clients; it has grown from 404 to 440 pages, mainly due to the
migration of Commodity and Equity/FX instruments into ORE
LANGUAGE BINDUNGS
- maintenance to ensure ORE SWIG wrappers build with the current ORE release,
QuantLib-1.28 and QuantLib-SWIG-1.28
OTHER
- changes to build with QuantLib 1.28
- extend the CMake setup for Windows / Visual Studio users
We will stop maintaining the *.vcxproj and *.vcxproj.filters from now on
and rely on CMakeLists for both *nix and Windows. See section 4.2.3 of
the user guide on how to "Generate Visual Studio Projects with CMake"
Changes for the 7th ORE release (1.8.7.0):
============================================
ORE 1.8.7.0 includes the following notable changes, details can be
found in the commits between June 2021 and September 2022.
INSTRUMENTS
- add FX Asian option support, thanks to Fredrik Gerdin Börjesson
- add Equity/Commodity Asian option support
- add Equity/FX Barrier, Double Barrier and European Barrier options
- add Equity/FX Digital options
- add Equity/FX Touch and Double Touch options
- add FX KI/KO Barrier and Digital Barrier options
- add support for FX Average Forwards
- add support for legs referencing a constant maturity bond index in analogy to CMS
- add support for Commodity Digital Option
- expose the Turnbull-Wakeman moment-matching engine for arithmetic average price options,
thanks to Fredrik Gerdin Börjesson
- additional pricing engine results for Caps/Floors, thanks to Fredrik Gerdin Börjesson
- additional results for Commodity Swaps
- introduce user-defined minimum time value for the AmericanOptionFDEngineBuilder,
thanks to Fredrik Gerdin Börjesson
- revised the inflation derivative setup, adopt changes in QuantLib 1.27
- improve CPI swap and cap pricing by using the last known fixing date as a base date
in the zero inflation curve resp. volatility term structure
- support Cap/Floor with CMS Spread leg
MARKETS
- add support for SOFR and SONIA term rates
- add support for DKK-CITA and SEK-STINA indices, thanks to Fredrik Gerdin Börjesson
- add crypto currency (BTC, ETH) parsers to support crypto currency Forwards as FX Forwards
- add support for minor currencies (GBp, etc.) across all Equity derivatives
- make minor currency unit codes configurable
- add support for FX Forward outright quotes in curve building
- refactor parseCalendar() and parseCurrency() using Singletons to be able to reset state
- introduce instrument conventions Singleton, fix Commodity forward fixing errors
- revised the FX index implementation, fix lazy market building errors related to FX indices
TERM STRUCTURES
- add support for RFR (SOFR, SONIA, ...) Cap/Floor volatility surfaces
- add support for RFR Swaption volatility surfaces
- introduce a moneyness adjustment when proxying the Swaption surface with a different tenor
- support Cap/Floor volatility surfaces by index name
- add CubicSpline interpolation for delta volatility surfaces, thanks to Fredrik Gerdin Börjesson
- add Hermite interpolation to Commodity curves, thanks to Fredrik Gerdin Börjesson
- enable extrapolation of sparse Cap/Floor volatility data, thanks to Fredrik Gerdin Börjesson
- fixes to the Equity forward curve builder
- fixes to the Equity proxy volatility surface, thanks to Fredrik Gerdin Börjesson
- speed up OIS curve bootstrap
- add IBOR fallback support for EONIA
ANALYTICS
- introduce pricing timing/stats report
- revise the LGM grid engine speeding up Bermudan Swaption pricing significantly
- speed up CMS coupon pricing
- extend CMS coupon pricers to cover OIS underlyings
- changes to the central “valuation engine” in ORE Analytics to enhance performance for large portfolios
TESTS
- QuantExt: 214 test functions (vs 203 in the previous release)
- OREData: 192 test functions (vs. 160 in the previous release)
DOCUMENTATION
- added ORE Design documentation, thanks to Roland Kapl
- the user guide is maintained continuously incorporating user feedback, in particular from Acadia service clients; it has grown from 326 to 404 pages
- various User Guide improvement, thanks to Fredrik Gerdin Börjesson
- various corrections to doxygen docs (referenced file names), thanks to Fredrik Gerdin Börjesson
LANGUAGE BINDUNGS
- Maintenance to ensure ORE SWIG wrappers build with the current ORE release, QuantLib-1.27.1 and QuantLib-SWIG-1.27
- Various extensions of the SWIG wrappers, thanks to Farah Khashman
- Various changes to resurrect Python examples and test cases, thanks to Farah Khashman
OTHER
- changes to build with QuantLib 1.27.1
- allow for C++17 in CMake build
Changes for the 6th ORE release (1.8.6.0):
============================================
ORE 1.8.6.0 includes the following notable changes, details can be
found in the commits between June 2020 and June 2021.
INSTRUMENTS
- Add Equity, FX and Commodity Asian Options (thanks to Skandinaviska Enskilda Banken)
- Add Equity Future Option
- Support Quanto Equity Options
- Add Digital CMS Leg
- Add Duration Adjusted CMS Leg
- Allow settlement delay in FX Forwards
- Support separate caps/floors on inflation coupon and redemption
- CPI and YoY coupons can now pay the inflation ratio or the inflation rate = inflation ratio - 1
- Support caps / floors on ON index fixings, see LocalCapFloor tag in the User Guide
- Support local and global caps / floors on ON average coupons
- Reference commodity index in Commodity forwards
- Support strike of type yield-to-maturity in bond forwards (T-Locks etc.)
- Support averaging and in-advance fixing for SOFR/ON-Index linked legs
- Add LastRecentPeriodCalendar to handle SOFR30A, 90A, 180A
- Fix construction of notional amortization schedules
- Update CDS Option Pricing (O’Kane, 2008)
- Refine Cross Currency Swap pricing (thanks to Ioannis Rigopoulos)
- Allow for more than one premium, introduce new premium node
MARKETS
- Add minor currency support (GBX, ZAC, ILA)
- Add currencies - AOA, ETB, GEL and XOF
- Add configurable currencies support to cover all remaining ISO currencies, see Examples/Input/currencies.xml
- Add configurable calendars
- Add various hard-coded IBOR Indices, DKK CITA and SEK STINA (thanks to Skandinaviska Enskilda Banken), AED EIBOR, GBP BoEBase, CNH HIBOR, CNY REPOFIX, HKD HONIA, JPY-Euroyen TIBOR, ZAR SABOR
- Add Inflation indices - AUCPI, FRCPI, BEHICP
- Add configurable, conventions based, IR/INF index support for greater flexibility in adding indexes to ORE
- Add LIBOR fallback support based on configurable adjustment spread, cessation date and RFR index
- Fix the FX triangulation to avoid spurious small FX sensitivities
TERM STRUCTURES
- Support 1M SOFR Futures in yield curve building
- Support CDS upfront quotes in default curve building
- Add support for delta-based Equity volatility surfaces
- Improve robustness of Cap/Floor volatility surfaces to missing data
- Support commodity volatility surfaces built from option prices
- Support flat zero extrapolation on yield curves
- Support linear zero interpolation for yield curves (thanks to Steven van Haren)
- Support delta interpolated FX volatility surfaces accepting BF/RR market data
- Support wild cards in FX volatility surface configurations
- Support Hermite interpolation in commodity price curves (thanks to Skandinaviska Enskilda Banken)
- Arbitrage checks for Equity and FX volatility surfaces
- Report to list market data points used in t0 market curve building
- Set up ScenarioSimMarket curves and surfaces as spreads over the t0 market
- Support fix-float mtm reset cross currency swaps in curve building
- Extend yield curve interpolation methods (Quadratic, LogQuadratic, Hermite, Cubic Spline)
ANALYTICS
- Introduce an optional close-out grid for exposure simulation and XVA, see Example 31
- Add inflation simulation for exposure and XVA using Jarrow-Yildirim, see Example 32
- Add credit simulation for exposure and XVA using Gaussian and Cox-Ingersoll-Ross models, see Examples 33 and 34
- Add “flipped view” XVA feature, flipping “our” perspective to “theirs” (thanks to Roland Kapl), see Example 35
- Add option to switch from the LGM measure to the Bank Account measure for exposure simulations, see Example 36
- Refactoring of the exposure and XVA post processor, separating out various classes
- Support one-sided Initial Margin in CSAs
- Fix the treatment of independent amounts in Variation Margin calculation
- Export additional pricing engine and trade additional results for a range of instruments (Bonds, CDS, Swaps, Swaptions, Equity Forwards/Swaps/Options, FX Forwards and Options)
- Add an option to include past cashflows in the cashflow report
- Add accrual start/end dates and accrued amounts to the cash flow report (thanks to Roland Kapl)
- Fix LGM calibration with Best Fit
- Update trade notional/maturity in line with ISDA AANA/GRID recommendations
TESTS
- QuantExt: 203 test functions (vs 180 in the previous release)
- OREData: 160 test functions (vs 135 in the previous release)
- OREAnalytics: 65 test functions (vs 61 in the previous release)
with associated increases in the number of data driven test cases
EXAMPLES
- Added Examples 31 - 36, see the first five bullet points in the ANALYTICS section above
- Established regression tests for Example outputs
USER GUIDE
- Grown from 267 to 326 pages (thanks also to Roland Kapl and Skandinaviska Enskilda Banken)
LANGUAGE BINDUNGS
- Maintenance to ensure ORE SWIG wrappers build with current ORE, QuantLib-1.22 and QuantLib-SWIG-1.22
OTHER
- Fix the instrument schema to include ore\_types.xsd again (thanks to Tomass Wilson)
Changes for the 5th ORE release (1.8.5.0):
============================================
ORE 1.8.5.0 includes the following notable changes, details can be
found in the commits between 28 May 2019 and 12 June 2020.
INSTRUMENTS
- Add Inflation CPI and YoY Caps/Floors and capped/floored cash flows
- Add Forward Bond
- Add American Commodity Option
- Add reference data manager (handles Bond reference data as concrete example)
- Add underlying description (FX, Equity, Commodity)
- Add Settlement node to FX Forward, FX Swap and Swap instruments
- Add lockout to overnight coupons
- Allow explicit payment dates for cash settled vanilla European options
- Extend Equity Swap: legs, equity coupon with FX adjustment, resettable feature,
quantity vs initial notional
- Extend CDS: Allow fixed recovery, front or back stub periods, protection payment
timing at default/period end/maturity
- Allow floating coupons with sub periods, i.e. several fixings per coupon period
that are averaged or compounded
- Allow Caps/Floors on BMA/SIFMA and overnight indices
- Allow adding new leg types via a LegDataFactory
MARKETS
- Currencies: 73 mapped
- Calendars: 88 mapped by country, city, ISO 10383 MIC, ISO 4217 currency code,
ISO 3166-1 Alpha 2 and 3 country codes
- Allow large joint calendars
- OIS indices: 19 mapped including USD-Prime, EUR-ESTER and USD-SOFR
- IBOR indices: 43 mapped using "hard coded" index names
- Inflation indices: 9 mapped
- Add IBOR and CMS indices that can be defined in conventions, so that they can be
added to ORE without code changes
TERM STRUCTURES
- Add fitted Bond yield curves
- When bootstrapping a default curve from CDS, allow for retries with widening of
search bounds. Avoids exceptions for distressed CDS curves for example.
- Inflation cap/floor volatility surfaces cleaned up, inflation price surfaces removed
from the market interface
- Equity volatility surface changes, clean up and stripping from option premiums,
allow wildcard in strike/expiry config, add Equity volatility surface proxies
- Allow optional quotes in curve configurations
- New Equity forward curve stripper that allows a dividend yield to be determined from
equity option premiums
- ESTER/SOFR basic curve building
- New cap/floor optionlet stripper that uses an iterative bootstrap with configurable
interpolation/extrapolation in expiry and strike direction.
- New CDS volatility configuration to allow for constant volatility, a volatility
curve or an expiry x strike surface
- Added Commodity basis price curve and average basis price curve
ANALYTICS
- Fix volatility conversion for lognormal swaption cubes in ScenarioSimMarket
- Cross Asset Model refactoring to allow alternative risk factor evolution models
- Bermudan Swaption LGM calibration changes (allow to continue processing when
tolerance is breached, allow to thin out calibration grids)
- Improve performance of analytic LGM swaption engine by introducing a cache
(speeds up LGM calibration)
- Add Indexed coupon class
- Add CDS to stress testing capability
UNIT TESTS
- QuantExt unit test cases: 180 test functions, 3749 data-driven cases
- OREData unit tests: 135 test functions, 368 data-driven cases
- OREAnalytics unit tests: 61 test functions and cases
i.e. 609 test functions vs 429 in the previous release.
For example:
"./quantext-test-suite" reports 3749 cases
"./quantext-test-suite --list_cases | grep test" lists 180 test functions
EXAMPLES
- Maintenance of inputs, ensure consistency of results with user guide
- Additional Prime Curve example
USER GUIDE
- Documentation of ongoing changes, new instruments, broader market coverage,
extended to over 250 pages
BUILDING ORE
- Discontinue automake builds
LANGUAGE BINDUNGS
- Maintenance to ensure SWIG wrappers build with current ORE and QuantLib-SWIG 1.18,
rework all *.i files to use the SWIG wrapper of boost::shared_ptr following
QuantLib-SWIG
OTHER
- Fixing manager refactoring and bug fixes
- Clean up of log levels to reduce the volume of log messages
- Improved log messages when LGM calibration errors exceed tolerances
- LGM model builder bug fixes
- Builds with QuantLib Version 1.18
- Builds with Boost versions up to 1.72.0
Changes for the 4th ORE release (1.8.4.1):
============================================
ORE 1.8.4.1 includes the following notable changes, details can be
found in the commits between 11 December 2017 and 28 May 2019.
INSTRUMENTS
- Commodity Forward and Option, see example 5.24
- Equity Swap, see extended example 5.16
- CMS Spread Option (Cap/Floor, Digital Cap/Floor), see example 5.25
MARKETS
- New calendars: Chile, Colombia, Malaysia, Peru, Philippines, Thailand
- New IBOR indexes: CHF SARON, CLP CAMARA, COP IBR, DEM LIBOR, DKK OIS,
NOWA, PHP PHIREF, RUB MOSPRIME, SEK SIOR, THB BIBOR
- New inflation idexes and regions: DKCPI, SECPI
- Equity index added
TERM STRUCTURES
- Cap/Floor smile volatility surface added
- Cross currency basis swap helper (with MtM Reset) added
- Cross currency fixed vs. float swap helper added, see example 5.29
- Discount ratio curves added, see example 5.28
- Correlation term structure added (to support CMS spread products)
ANALYTICS
- KVA added (thanks to Roland Kapl)
UNIT TESTS
- Unit tests suites extended to 429 cases in total
- Data driven tests added in ORE Data
- Now using boost’s automated test suite creation and registration
EXAMPLES
- ORE has 29 examples now vs 23 in the previous release
USER GUIDE
- Extended to 194 pages
BUILDING ORE
- CMake build system added, see end of section 4.2
LANGUAGE BINDINGS
- ORE SWIG projected added, to support ORE in Python,
see https://github.com/OpenSourceRisk/ORE-SWIG
Changes for the third ORE release (1.8.3.0):
============================================
ORE 1.8.3.0 includes the following notable changes, details can be
found in the commits between 5 May and 11 Dec.
INSTRUMENTS
- Credit Default Swaps and FRAs added
MONTE CARLO FRAMEWORK
- Simulation of inflation added
ANALYTICS
- Sensitivity and stress framework extended to Equity, Inflation and Credit
UNIT TESTS
- Unit tests suites extended to 175 cases
EXAMPLES
- ORE has 23 examples now
USER GUIDE
- Extended accordingly, 170 pages
Changes for the second ORE release (1.8.2.0):
=============================================
ORE 1.8.2.0 includes the following notable changes, details can be
found in the commits between 22 March and 4 May.
INSTRUMENTS
- Fixed and floating rate Bonds added
- CPI and Year on Year Inflation Swaps added
- Equity Forwards and Options added
MONTE CARLO FRAMEWORK
- Simulation of equity factors added to the cross asset model and
scenario generation
ANALYTICS
- Sensitivity analysis and stress testing framework added covering all
IR and FX products in ORE
UNIT TESTS
- Unit test suites extended to 139 cases vs 108 in the initial release
EXAMPLES
- ORE has 18 examples now vs 13 in the initial release
USER GUIDE
- Extended accordingly, 148 pages