From 0f3c9e757839247bb0986cc042747b59a57a7bd8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Apr 2022 11:01:21 +0000 Subject: [PATCH 01/15] Bump actions/upload-artifact from 2 to 3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/msvc-analysis.yml | 2 +- .github/workflows/test-times.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/msvc-analysis.yml b/.github/workflows/msvc-analysis.yml index 61ebbb48fb5..cb0e6dfaa5c 100644 --- a/.github/workflows/msvc-analysis.yml +++ b/.github/workflows/msvc-analysis.yml @@ -43,7 +43,7 @@ jobs: sarif_file: ${{ steps.run-analysis.outputs.sarif }} - name: Upload SARIF as an Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: sarif-file path: ${{ steps.run-analysis.outputs.sarif }} diff --git a/.github/workflows/test-times.yml b/.github/workflows/test-times.yml index df779cdce28..2c2b07c56ae 100644 --- a/.github/workflows/test-times.yml +++ b/.github/workflows/test-times.yml @@ -30,7 +30,7 @@ jobs: ./test-suite/quantlib-test-suite --logger=JUNIT,warning,fast.xml:HRF,message -- --fast ./test-suite/quantlib-test-suite --logger=JUNIT,warning,all.xml:HRF,message - name: Save test times - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: test-reports path: ./all.xml From 08fcb0618329f0bf2ff4351bc797ce1357f96591 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Apr 2022 11:01:25 +0000 Subject: [PATCH 02/15] Bump actions/stale from 4 to 5 Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/stale dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 3097698dbdc..226dd15bc0c 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -6,7 +6,7 @@ jobs: staleness-check: runs-on: ubuntu-latest steps: - - uses: actions/stale@v4 + - uses: actions/stale@v5 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.' From 620ceec3667c9061b7978325d91fe6b11a982342 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Thu, 1 Apr 2021 11:28:16 +0200 Subject: [PATCH 03/15] Set version to 1.26 rc --- CMakeLists.txt | 4 ++-- configure.ac | 2 +- ql/version.hpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b93131110b..4b87ef695e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,8 @@ set(QUANTLIB_VERSION ${QUANTLIB_VERSION_MAJOR}.${QUANTLIB_VERSION_MINOR}.${QUANT # Project Info set(PACKAGE_NAME "QuantLib") -set(PACKAGE_VERSION "${QUANTLIB_VERSION}-dev") -set(PACKAGE_VERSION_HEX "0x01260000") +set(PACKAGE_VERSION "${QUANTLIB_VERSION}-rc") +set(PACKAGE_VERSION_HEX "0x012600c0") set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "https://github.com/lballabio/QuantLib/issues/") diff --git a/configure.ac b/configure.ac index 5168c4ed463..aa5f66c07d6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT([QuantLib], [1.26-dev], +AC_INIT([QuantLib], [1.26-rc], [quantlib-dev@lists.sourceforge.net], [QuantLib]) AC_PREREQ(2.62) diff --git a/ql/version.hpp b/ql/version.hpp index ba357989232..df5030f707f 100644 --- a/ql/version.hpp +++ b/ql/version.hpp @@ -31,10 +31,10 @@ /*! @{ */ //! version string -#define QL_VERSION "1.26-dev" +#define QL_VERSION "1.26-rc" //! version hexadecimal number -#define QL_HEX_VERSION 0x01260000 +#define QL_HEX_VERSION 0x012600c0 /*! @} */ From fdadfe4527f1e866afe5490d8446020dc4317e23 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Thu, 14 Apr 2022 09:43:48 +0200 Subject: [PATCH 04/15] Set up git permissions in CI runs inside containers --- .github/workflows/linux-full-tests.yml | 23 +++++++++++++++++++++++ .github/workflows/linux-nondefault.yml | 16 ++++++++++++++++ .github/workflows/linux.yml | 24 ++++++++++++++++++++++++ .github/workflows/sanitizer.yml | 3 +++ 4 files changed, 66 insertions(+) diff --git a/.github/workflows/linux-full-tests.yml b/.github/workflows/linux-full-tests.yml index a99062e8d57..68a3f8bf316 100644 --- a/.github/workflows/linux-full-tests.yml +++ b/.github/workflows/linux-full-tests.yml @@ -42,11 +42,13 @@ jobs: tag: hirsute cc: gcc cxx: g++ + gitsetup: true - name: "gcc 11.x" shortname: gcc11 tag: impish cc: gcc cxx: g++ + gitsetup: true - name: "Clang 6 (Boost 1.72)" shortname: clang6 tag: bionic @@ -82,64 +84,75 @@ jobs: tag: hirsute cc: clang cxx: clang++ + gitsetup: true - name: "Clang 13" shortname: clang13 tag: impish cc: clang cxx: clang++ + gitsetup: true - name: "Clang 14" shortname: clang14 tag: jammy cc: clang cxx: clang++ + gitsetup: true - name: "C++11 mode" shortname: c++11 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++11" + gitsetup: true - name: "C++14 mode" shortname: c++14 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++14" + gitsetup: true - name: "C++17 mode" shortname: c++17 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++17" + gitsetup: true - name: "C++20 mode" shortname: c++20 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++20" + gitsetup: true - name: "Unity build enabled" shortname: unity tag: rolling cc: gcc cxx: g++ configureflags: --enable-unity-build + gitsetup: true - name: "Intraday calculations enabled" shortname: intraday tag: rolling cc: gcc cxx: g++ configureflags: --enable-intraday + gitsetup: true - name: "Indexed coupons enabled" shortname: indexed tag: rolling cc: gcc cxx: g++ configureflags: --enable-indexed-coupons + gitsetup: true - name: "C++11 classes enabled" shortname: stdclasses tag: rolling cc: gcc cxx: g++ configureflags: --enable-std-classes + gitsetup: true - name: "auto_ptr re-enabled" shortname: autoptr tag: rolling @@ -147,38 +160,48 @@ jobs: cxx: g++ cxxflags: "-Wno-deprecated-declarations" configureflags: --disable-std-unique-ptr + gitsetup: true - name: "Disposable re-enabled" shortname: disposable tag: rolling cc: gcc cxx: g++ configureflags: --enable-disposable + gitsetup: true - name: "Thread-safe observer enabled" shortname: threadsafe tag: rolling cc: gcc cxx: g++ configureflags: --enable-thread-safe-observer-pattern + gitsetup: true - name: "Thread-safe singleton init enabled" shortname: threadsafeinit tag: rolling cc: gcc cxx: g++ configureflags: --enable-thread-safe-singleton-init + gitsetup: true - name: "Sessions enabled" shortname: sessions tag: rolling cc: gcc cxx: g++ configureflags: --enable-sessions + gitsetup: true - name: "OpenMP enabled" shortname: openmp tag: rolling cc: gcc cxx: g++ configureflags: --enable-openmp + gitsetup: true container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} steps: + - name: Set up git permissions + if: ${{ matrix.gitsetup }} + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE - uses: actions/checkout@v3 - name: Cache uses: actions/cache@v3 diff --git a/.github/workflows/linux-nondefault.yml b/.github/workflows/linux-nondefault.yml index f51e675a093..da9aa5a7d8a 100644 --- a/.github/workflows/linux-nondefault.yml +++ b/.github/workflows/linux-nondefault.yml @@ -37,11 +37,13 @@ jobs: tag: hirsute cc: gcc cxx: g++ + gitsetup: true - name: "gcc 11.x" shortname: gcc11 tag: impish cc: gcc cxx: g++ + gitsetup: true - name: "Clang 6 (Boost 1.72)" shortname: clang6 tag: bionic @@ -77,46 +79,54 @@ jobs: tag: hirsute cc: clang cxx: clang++ + gitsetup: true - name: "Clang 13" shortname: clang13 tag: impish cc: clang cxx: clang++ + gitsetup: true - name: "Clang 14" shortname: clang14 tag: jammy cc: clang cxx: clang++ + gitsetup: true - name: "C++11 mode" shortname: c++11 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++11" + gitsetup: true - name: "C++14 mode" shortname: c++14 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++14" + gitsetup: true - name: "C++17 mode" shortname: c++17 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++17" + gitsetup: true - name: "C++20 mode" shortname: c++20 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++20" + gitsetup: true - name: "Unity build enabled" shortname: unity tag: rolling cc: gcc cxx: g++ configureflags: --enable-unity-build + gitsetup: true - name: "C++11 classes enabled" shortname: stdclasses tag: rolling @@ -124,14 +134,20 @@ jobs: cxx: g++ cxxflags: "-std=c++17" configureflags: --enable-std-classes + gitsetup: true - name: "OpenMP enabled" shortname: openmp tag: rolling cc: gcc cxx: g++ configureflags: --enable-openmp + gitsetup: true container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} steps: + - name: Set up git permissions + if: ${{ matrix.gitsetup }} + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE - uses: actions/checkout@v3 - name: Cache uses: actions/cache@v3 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ae669c7933b..0df15ce6bb5 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -42,12 +42,14 @@ jobs: tag: hirsute cc: gcc cxx: g++ + gitsetup: true - name: "gcc 11.x" shortname: gcc11 tag: impish cc: gcc cxx: g++ tests: true + gitsetup: true - name: "Clang 6 (Boost 1.72)" shortname: clang6 tag: bionic @@ -83,47 +85,55 @@ jobs: tag: hirsute cc: clang cxx: clang++ + gitsetup: true - name: "Clang 13" shortname: clang13 tag: impish cc: clang cxx: clang++ + gitsetup: true - name: "Clang 14" shortname: clang14 tag: jammy cc: clang cxx: clang++ tests: true + gitsetup: true - name: "C++11 mode" shortname: c++11 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++11" + gitsetup: true - name: "C++14 mode" shortname: c++14 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++14" + gitsetup: true - name: "C++17 mode" shortname: c++17 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++17" + gitsetup: true - name: "C++20 mode" shortname: c++20 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++20" + gitsetup: true - name: "Unity build enabled" shortname: unity tag: rolling cc: gcc cxx: g++ configureflags: --enable-unity-build + gitsetup: true - name: "Intraday calculations enabled" shortname: intraday tag: rolling @@ -131,6 +141,7 @@ jobs: cxx: g++ configureflags: --enable-intraday tests: true + gitsetup: true - name: "Indexed coupons enabled" shortname: indexed tag: rolling @@ -138,6 +149,7 @@ jobs: cxx: g++ configureflags: --enable-indexed-coupons tests: true + gitsetup: true - name: "C++11 classes enabled" shortname: stdclasses tag: rolling @@ -145,6 +157,7 @@ jobs: cxx: g++ configureflags: --enable-std-classes tests: true + gitsetup: true - name: "auto_ptr re-enabled" shortname: autoptr tag: rolling @@ -153,6 +166,7 @@ jobs: cxxflags: "-Wno-deprecated-declarations" configureflags: --disable-std-unique-ptr tests: true + gitsetup: true - name: "Disposable re-enabled" shortname: disposable tag: rolling @@ -160,6 +174,7 @@ jobs: cxx: g++ configureflags: --enable-disposable tests: true + gitsetup: true - name: "Thread-safe observer enabled" shortname: threadsafe tag: rolling @@ -167,6 +182,7 @@ jobs: cxx: g++ configureflags: --enable-thread-safe-observer-pattern tests: true + gitsetup: true - name: "Thread-safe singleton init enabled" shortname: threadsafeinit tag: rolling @@ -174,6 +190,7 @@ jobs: cxx: g++ configureflags: --enable-thread-safe-singleton-init tests: true + gitsetup: true - name: "Sessions enabled" shortname: sessions tag: rolling @@ -181,6 +198,7 @@ jobs: cxx: g++ configureflags: --enable-sessions tests: true + gitsetup: true - name: "OpenMP enabled" shortname: openmp tag: rolling @@ -188,6 +206,7 @@ jobs: cxx: g++ configureflags: --enable-openmp tests: true + gitsetup: true - name: "Parallel unit-test runner" shortname: paralleltests tag: rolling @@ -195,8 +214,13 @@ jobs: cxx: g++ configureflags: --enable-parallel-unit-test-runner moreflags: -lrt + gitsetup: true container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} steps: + - name: Set up git permissions + if: ${{ matrix.gitsetup }} + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE - uses: actions/checkout@v3 - name: Cache uses: actions/cache@v3 diff --git a/.github/workflows/sanitizer.yml b/.github/workflows/sanitizer.yml index 8fa9109f6a1..056608e5ffe 100644 --- a/.github/workflows/sanitizer.yml +++ b/.github/workflows/sanitizer.yml @@ -5,6 +5,9 @@ jobs: runs-on: ubuntu-latest container: ghcr.io/lballabio/quantlib-devenv:rolling steps: + - name: Set up git permissions + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE - uses: actions/checkout@v3 - name: Cache uses: actions/cache@v3 From ec7d9ce041da527128695d3060c26408a4b9480c Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Fri, 8 Apr 2022 17:27:03 +0200 Subject: [PATCH 05/15] Update news and contributors --- ChangeLog.txt | 2409 ++++++++++++++++++--------------------- Contributors.txt | 2 + Docs/pages/history.docs | 76 +- News.md | 136 +-- 4 files changed, 1226 insertions(+), 1397 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 2358ed86dee..fdeae8fa698 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,1748 +1,1499 @@ -commit e9876eec38a52a934081d9188b27e34350a18c9e +commit 468978a2b9acf89049fe045e2b9d3382234364a2 +Merge: 001f83dc9 8571c6b73 Author: Luigi Ballabio -Date: Mon, 12 Jul 2021 09:46:54 +0200 +Date: Tue, 5 Apr 2022 17:26:34 +0200 - Set version to 1.25 final. - - CMakeLists.txt | 4 ++-- - configure.ac | 2 +- - ql/version.hpp | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit d958461ce545603303648030626c917e6e582760 -Author: Luigi Ballabio -Date: Thu, 1 Apr 2021 11:28:16 +0200 - - Set version to 1.25 rc - - CMakeLists.txt | 4 ++-- - configure.ac | 2 +- - ql/version.hpp | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 387150daf1462f8fc002ac9b9c07eb9cca6e9cad -Author: Luigi Ballabio -Date: Mon, 10 Jan 2022 19:02:50 +0100 - - Update changelog and news - - ChangeLog.txt | 2852 +++++++++++++++++++---------------------------- - Contributors.txt | 6 + - Docs/pages/history.docs | 92 ++ - News.md | 139 +-- - 4 files changed, 1343 insertions(+), 1746 deletions(-) + Merge pull request #1338. + + Add more clang-tidy checks -commit d1cea7395e12a5a4ab8b651a60c3d2d0c1a76466 -Author: Luigi Ballabio -Date: Mon, 10 Jan 2022 13:00:50 +0100 +commit 8571c6b735876a0cffb003b6ce37141224359702 +Author: Jonathan Sweemer +Date: Tue, 29 Mar 2022 21:03:24 +0900 - Update test message + Add QL_CLANG_TIDY_OPTIONS - test-suite/dividendoption.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + .github/workflows/test-times.yml | 2 +- + .github/workflows/tidy.yml | 7 +++---- + CMakeLists.txt | 9 ++++++++- + CMakePresets.json | 5 ++--- + 4 files changed, 14 insertions(+), 9 deletions(-) -commit 8f0aee988da026fa28f2b999ff0e3061fe975493 +commit 001f83dc9fe27f2c0697c2ed19fd4f80e8d49f37 Author: Luigi Ballabio -Date: Sun, 9 Jan 2022 00:20:56 +0100 +Date: Mon, 4 Apr 2022 18:34:46 +0200 - Upgrate doxyfile to latest version + Add Clang 14 to build matrix - Docs/quantlib.doxy | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) + .github/workflows/linux-full-tests.yml | 5 +++++ + .github/workflows/linux-nondefault.yml | 5 +++++ + .github/workflows/linux.yml | 7 ++++++- + 3 files changed, 16 insertions(+), 1 deletion(-) -commit 9cf50377d8ae7c4744849303fc38456226d01a7a +commit 33fc6c7594eda74f3fd287bc9f4785ba47df831f Author: Luigi Ballabio -Date: Mon, 10 Jan 2022 10:11:15 +0100 +Date: Mon, 4 Apr 2022 16:36:02 +0200 - Reorder headers + Pin version numbers after Ubuntu groovy end of life - ql/math/interpolations/xabrinterpolation.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + .github/workflows/linux-full-tests.yml | 6 +++--- + .github/workflows/linux-nondefault.yml | 6 +++--- + .github/workflows/linux.yml | 8 ++++---- + 3 files changed, 10 insertions(+), 10 deletions(-) -commit 9a52fe3c95b1cbae72ea393715a7a9801f5141c8 -Merge: 2c30d6175 c6e00a9cc +commit f7a2af1b915d446e00a4f5bbfdbdb86f120db6eb +Merge: 04f5c634f 4add64484 Author: Luigi Ballabio -Date: Fri, 7 Jan 2022 20:55:08 +0100 +Date: Tue, 29 Mar 2022 13:13:17 +0200 - Merge pull request #1286. + Merge pull request #1333. - Fix `discountBondOption` in extended Cox-Ingersoll-Ross model + Reformat .clang-tidy -commit 2c30d61751bc2ceaddc07ec46ffffee5da256db4 -Merge: 1f0087050 15637cb01 -Author: Luigi Ballabio -Date: Fri, 7 Jan 2022 15:53:45 +0100 +commit 04f5c634f49e141f478340dcb1c9744d92d73205 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +Date: Mon, 28 Mar 2022 11:00:58 +0000 - Merge pull request #1285. + Bump peter-evans/create-pull-request from 3 to 4 - Rework defaults for `CPICoupon` constructors. - -commit 1f0087050e490220e649b5ec0a735ef27fb8c3fb -Author: Luigi Ballabio -Date: Tue, 16 Nov 2021 22:15:07 +0100 - - Use VS2022 in Appveyor build + Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4. + - [Release notes](https://github.com/peter-evans/create-pull-request/releases) + - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4) + + --- + updated-dependencies: + - dependency-name: peter-evans/create-pull-request + dependency-type: direct:production + update-type: version-update:semver-major + ... + + Signed-off-by: dependabot[bot] - .appveyor.yml | 6 +++--- - .appveyor/VS2022.props | 16 ++++++++++++++++ - 2 files changed, 19 insertions(+), 3 deletions(-) + .github/workflows/copyrights.yml | 2 +- + .github/workflows/misspell.yml | 2 +- + .github/workflows/tidy.yml | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) -commit 15637cb018162ef6b7b32eef3d3767394475b658 -Author: Luigi Ballabio -Date: Fri, 7 Jan 2022 09:56:43 +0100 +commit 4add64484892d8188c4804568a6c9ad7d958b929 +Author: Jonathan Sweemer +Date: Sat, 26 Mar 2022 18:17:01 +0900 - Rework CPICoupon constructors. - - This allow passing a vol surface without a discount curve (which - is only needed for Price() methods). + Reformat .clang-tidy - ql/cashflows/cpicouponpricer.hpp | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) + .clang-tidy | 31 ++++++++++++++++++++++++++++--- + 1 file changed, 28 insertions(+), 3 deletions(-) -commit 289de8e27b83aa78c6776c865c363c612efac348 -Merge: 8c92bd889 c25489e6b +commit b72affa58b53808e0fcafcc4ae65e263618e95be +Merge: 63e0f77d2 a00ac3a7a Author: Luigi Ballabio -Date: Fri, 7 Jan 2022 09:12:50 +0100 +Date: Wed, 23 Mar 2022 09:38:29 +0100 - Merge pull request #1283. + Merge pull request #1332. - change THBFIX fixing calendar + Normalize equal periods to the same value. -commit c25489e6b29cb6a820a3d26e7b0f97039a536c1b -Author: bensonluk -Date: Tue, 4 Jan 2022 17:41:16 +0800 - - change THBFIX fixing calendar - - ql/indexes/ibor/thbfix.hpp | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 8c92bd88976e7db193ec91d64bd2bec111124cd0 +commit a00ac3a7aa16c44c2651ff81943da40558adb397 Author: Luigi Ballabio -Date: Thu, 6 Jan 2022 14:45:46 +0100 +Date: Tue, 22 Mar 2022 15:48:43 +0100 - Fix constructor call + Normalize equal periods to the same value. - ql/termstructures/inflation/interpolatedzeroinflationcurve.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + ql/time/period.cpp | 26 +++++++++++++------- + ql/time/period.hpp | 8 +++++++ + test-suite/period.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ + test-suite/period.hpp | 1 + + 4 files changed, 92 insertions(+), 9 deletions(-) -commit af55f41c81c5488169548a8d500707225183fc25 -Author: Luigi Ballabio -Date: Wed, 5 Jan 2022 17:05:56 +0100 +commit 63e0f77d2c338bacd0e18aa1ab97b2e560e1cd57 +Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> +Date: Mon, 21 Mar 2022 18:05:37 +0000 - Add typedef for backward compatibility + Update copyright list in license - ql/experimental/barrieroption/suowangdoublebarrierengine.hpp | 6 ++++++ - 1 file changed, 6 insertions(+) + LICENSE.TXT | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit 8905742b73230e2f8f10d09a4035e7767e9ad5ee -Merge: d1bc0d720 5355a0735 +commit f01c4c9f3e8f99d3ea0747a30e2df9ec1d66b14f +Merge: 6726a753b 8867a0ff1 Author: Luigi Ballabio -Date: Tue, 4 Jan 2022 15:58:21 +0100 +Date: Mon, 21 Mar 2022 17:43:18 +0100 - Merge pull request #1281. + Merge pull request #1329. - Bug fix in `SubPeriodsCoupon` - use passed fixing days - -commit 5355a0735515c0894f4fb6a0b2c5b2ec596e2db5 -Author: Marcin Rybacki -Date: Tue, 4 Jan 2022 13:08:37 +0100 - - Add check for common case with fixingDays = 2. + Bond forward - test-suite/subperiodcoupons.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) +commit 6726a753b941c0f8dc00d4e57087cfad474332a0 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +Date: Mon, 21 Mar 2022 11:09:12 +0000 -commit d1bc0d7208a79630da2ff192efa235f1a0d61a7e -Merge: 3000af0e0 8b7c3a3cd -Author: Luigi Ballabio -Date: Tue, 4 Jan 2022 11:50:09 +0100 - - Merge pull request #1279. + Bump actions/cache from 2 to 3 - Rename `WulinYongDoubleBarrierEngine` to `SuoWangDoubleBarrierEngine` - -commit 8b7c3a3cd5a778cb7b3d9d9b24b360ca890607ac -Author: Luigi Ballabio -Date: Tue, 4 Jan 2022 09:44:49 +0100 - - Sort file lists - - QuantLib.vcxproj | 4 ++-- - QuantLib.vcxproj.filters | 10 +++++----- - ql/CMakeLists.txt | 4 ++-- - ql/experimental/barrieroption/Makefile.am | 8 ++++---- - ql/experimental/barrieroption/all.hpp | 2 +- - 5 files changed, 14 insertions(+), 14 deletions(-) + Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3. + - [Release notes](https://github.com/actions/cache/releases) + - [Commits](https://github.com/actions/cache/compare/v2...v3) + + --- + updated-dependencies: + - dependency-name: actions/cache + dependency-type: direct:production + update-type: version-update:semver-major + ... + + Signed-off-by: dependabot[bot] -commit 474d37c9084c261ead08f299aef3c3cb75014414 + .github/workflows/linux-full-tests.yml | 2 +- + .github/workflows/linux-nondefault.yml | 2 +- + .github/workflows/linux.yml | 2 +- + .github/workflows/macos-nondefault.yml | 2 +- + .github/workflows/macos.yml | 2 +- + .github/workflows/sanitizer.yml | 2 +- + .github/workflows/test-times.yml | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + +commit 8867a0ff1c7270fee7e14754decaac3d93968ca5 Author: Marcin Rybacki -Date: Mon, 3 Jan 2022 20:13:38 +0100 +Date: Mon, 21 Mar 2022 13:34:00 +0100 - Added missing fixings in unit tests. + Removed reference to cpp file in CMakeLists.txt and Makefile.am. - test-suite/subperiodcoupons.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 33f1c5ec55a264edd32c248d7feeb5562210bb7d -Author: Adityakumar Sinha -Date: Tue, 4 Jan 2022 00:37:05 +0530 - - Made changes in test-suite/doublebarrieroption.cpp - - test-suite/doublebarrieroption.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + ql/CMakeLists.txt | 1 - + ql/instruments/Makefile.am | 1 - + 2 files changed, 2 deletions(-) -commit f0568614bda707b25f4dc67e7fc0f3c6a78afe9c +commit 513d70bd76a0041445212db656d8cf4afa9c46aa Author: Marcin Rybacki -Date: Mon, 3 Jan 2022 19:23:32 +0100 +Date: Mon, 21 Mar 2022 13:30:36 +0100 - Added check on fixing days input in unit tests for sub periodic coupons. + Fixed Visual Studio project files. - test-suite/subperiodcoupons.cpp | 33 ++++++++++++++++++--------------- - 1 file changed, 18 insertions(+), 15 deletions(-) - -commit 3000af0e0d51d037291fad3045b77e5502d91c0e -Merge: 5b0f06b29 088b73e0a -Author: Luigi Ballabio -Date: Mon, 3 Jan 2022 17:17:15 +0100 + QuantLib.vcxproj.filters | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) - Merge pull request #1280. - - Return `CPICashFlow` base date if available +commit 04ebd7b8ff227de252b765a55cb8cb5fe45a5b72 +Author: Marcin Rybacki +Date: Mon, 21 Mar 2022 13:29:03 +0100 -commit 5b0f06b291764de047865b63ceaf4687a713ba2c -Merge: 1bcc723a1 f49488ca1 -Author: Luigi Ballabio -Date: Mon, 3 Jan 2022 14:11:24 +0100 + Fixed Visual Studio project files. - Merge pull request #1265. - - Indirect leaks with AddressSanitizer + QuantLib.vcxproj | 2 +- + QuantLib.vcxproj.filters | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) -commit 088b73e0a4c0bf4bd79b1e65a581a307b8ed536c -Author: hsegger <94903344+hsegger@users.noreply.github.com> -Date: Mon, 3 Jan 2022 11:35:09 +0100 +commit d0c8e3f683ff5476bbec470a52f3f293de709630 +Author: Marcin Rybacki +Date: Mon, 21 Mar 2022 13:17:02 +0100 - Update ql/cashflows/cpicoupon.cpp - - omit double call - - Co-authored-by: Luigi Ballabio + Added missing headers. - ql/cashflows/cpicoupon.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) + Examples/Repo/Repo.cpp | 1 + + test-suite/bondforward.cpp | 1 + + 2 files changed, 2 insertions(+) -commit f49488ca126dd53ccd38a14f6881cfa3707aa95d -Author: Luigi Ballabio -Date: Mon, 3 Jan 2022 11:12:52 +0100 +commit 06d82d086843dff808d5f7627f861c42d51e4a5e +Author: Marcin Rybacki +Date: Mon, 21 Mar 2022 13:12:37 +0100 + + Implemented PR feedback. + + QuantLib.vcxproj | 3 +- + QuantLib.vcxproj.filters | 7 ++-- + ql/CMakeLists.txt | 2 ++ + ql/instruments/Makefile.am | 2 ++ + ql/instruments/all.hpp | 1 + + ql/instruments/bondforward.cpp | 25 ------------- + ql/instruments/bondforward.hpp | 18 ---------- + ql/instruments/fixedratebondforward.hpp | 63 +++++++++++++++++++++++++++++++++ + test-suite/bondforward.cpp | 1 - + 9 files changed, 75 insertions(+), 47 deletions(-) + +commit 1340fa7fe759fb9875003e4550c2e9dd10985903 +Author: Marcin Rybacki +Date: Mon, 21 Mar 2022 10:24:22 +0100 - Moved sanitizer check to separate CI job + Adding bond forward unit tests. - .github/workflows/linux-full-tests.yml | 4 ++-- - .github/workflows/sanitizer.yml | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 34 insertions(+), 2 deletions(-) + test-suite/bondforward.cpp | 44 ++++++++++++++++++++++++++++++++++++++------ + test-suite/bondforward.hpp | 1 + + 2 files changed, 39 insertions(+), 6 deletions(-) -commit edf536917f42b9597ddf0451979ce13493dabcd2 -Author: Jonathan Sweemer -Date: Sun, 5 Dec 2021 17:10:52 +0900 +commit e873a55b74722eee4e7a9af4eb93bf44323ea631 +Author: Marcin Rybacki +Date: Fri, 18 Mar 2022 16:57:01 +0100 - Fix memory leak in test-suite + Adding unit tests for bond foward. - .github/workflows/linux-full-tests.yml | 2 +- - .../lookback/analyticcontinuouspartialfloatinglookback.cpp | 2 +- - test-suite/inflationzciisinterpolation.cpp | 3 +++ - 3 files changed, 5 insertions(+), 2 deletions(-) + test-suite/CMakeLists.txt | 4 +- + test-suite/Makefile.am | 4 +- + test-suite/bondforward.cpp | 105 +++++++++++++++++++++++++++++++++++++++++++-- + test-suite/bondforward.hpp | 3 +- + 4 files changed, 107 insertions(+), 9 deletions(-) -commit 8faf47bc4fefad2ccbe42fe1870cc2091c5ddb26 -Author: Jonathan Sweemer -Date: Sat, 27 Nov 2021 19:22:14 +0900 +commit 42cba6e85febedbf791eb9d71c30bd864ba12272 +Author: Marcin Rybacki +Date: Fri, 18 Mar 2022 12:51:22 +0100 - Fix warning for uninitialized variable + Moved deprecated declaration. - .../lookback/analyticcontinuouspartialfloatinglookback.cpp | 3 +-- + ql/instruments/bondforward.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -commit 2d354f3b708e529c89867717684cc3a837188923 -Author: Jonathan Sweemer -Date: Sat, 27 Nov 2021 14:15:07 +0900 +commit 101a92afb673fe3078520ded88b1ec1fc5f9592d +Author: Marcin Rybacki +Date: Fri, 18 Mar 2022 12:24:05 +0100 - Add AddressSanitizer to linux-full-tests + Implicit pointer conversion should work. - .github/workflows/linux-full-tests.yml | 2 +- + ql/instruments/bondforward.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit ba8907d40bc2ed5d47f74a2e6ad5a8f5e2c6a132 -Author: henning -Date: Mon, 3 Jan 2022 10:47:18 +0100 - - return baseDate if available - - ql/cashflows/cpicoupon.cpp | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 3010f29226f0e7dd9010b72787da4a1cd0b74acf -Author: Adityakumar Sinha -Date: Sun, 2 Jan 2022 22:22:52 +0530 - - WulinYongDoubleBarrierEn to SuoWangDoubleBarrierEn - - QuantLib.vcxproj | 4 ++-- - QuantLib.vcxproj.filters | 4 ++-- - ql/CMakeLists.txt | 4 ++-- - ql/experimental/barrieroption/Makefile.am | 4 ++-- - ql/experimental/barrieroption/all.hpp | 2 +- - ...erengine.cpp => suowangdoublebarrierengine.cpp} | 22 +++++++++++----------- - ...erengine.hpp => suowangdoublebarrierengine.hpp} | 6 +++--- - test-suite/doublebarrieroption.cpp | 4 ++-- - 8 files changed, 25 insertions(+), 25 deletions(-) - -commit 1bcc723a164325d222b6a6f2dd65ff3003e9b323 -Merge: 5609d6fed 825dc5c8b -Author: Luigi Ballabio -Date: Sat, 1 Jan 2022 23:04:39 +0100 - - Merge pull request #1271. - - Add Chinese holidays for 2022 - -commit 5609d6fed0dba0cd55307c5ef684e3666a6ae170 -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Fri, 31 Dec 2021 18:03:21 +0000 +commit d6dd7a1a7fa668eaacdb5371851b0c51ef5d2e2a +Author: Marcin Rybacki +Date: Fri, 18 Mar 2022 12:04:28 +0100 - Automated fixes by clang-tidy + Added unit test files. - Examples/MulticurveBootstrapping/MulticurveBootstrapping.cpp | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) + QuantLib.vcxproj | 2 +- + ql/instruments/bondforward.hpp | 4 ++-- + test-suite/CMakeLists.txt | 2 ++ + test-suite/Makefile.am | 2 ++ + test-suite/bondforward.cpp | 38 ++++++++++++++++++++++++++++++++++++ + test-suite/bondforward.hpp | 36 ++++++++++++++++++++++++++++++++++ + test-suite/quantlibtestsuite.cpp | 2 ++ + test-suite/testsuite.vcxproj | 2 ++ + test-suite/testsuite.vcxproj.filters | 6 ++++++ + 9 files changed, 91 insertions(+), 3 deletions(-) -commit b8b85d1ad43a985390d002768c90d11fb370a882 -Merge: c35f20049 e20b271eb +commit 92e37f92172760d0bdc2dee6f90cae7c5be2ad45 +Merge: 1f70a6733 e74117397 Author: Luigi Ballabio -Date: Fri, 31 Dec 2021 22:38:44 +0100 +Date: Thu, 17 Mar 2022 18:50:48 +0100 - Merge pull request #1277. + Merge pull request #1327. - Simplify multi-curve example - -commit e20b271eb1bf89ea4fae96049e154dd5e8443805 -Author: Luigi Ballabio -Date: Fri, 31 Dec 2021 16:34:20 +0100 + Fix for TreeSwaptionEngine mispricing - Use modern C++ features to simplify setup - - .../MulticurveBootstrapping.cpp | 652 ++++++--------------- - 1 file changed, 182 insertions(+), 470 deletions(-) - -commit c7facd6cb00f8de57e509b2c58dadb871501f386 -Author: Luigi Ballabio -Date: Fri, 31 Dec 2021 15:27:24 +0100 +commit 6f595fb3b448ff567a03d066ac8974029fc2f096 +Author: Marcin Rybacki +Date: Thu, 17 Mar 2022 15:03:24 +0100 - Remove single-curve case, reformat output + Updated CMakeLists.txt and Makefile.am - .../MulticurveBootstrapping.cpp | 177 ++++----------------- - 1 file changed, 33 insertions(+), 144 deletions(-) + ql/CMakeLists.txt | 4 ++-- + ql/instruments/Makefile.am | 4 ++-- + ql/instruments/bondforward.hpp | 3 --- + 3 files changed, 4 insertions(+), 7 deletions(-) -commit c35f200491131cacac6acb1824a5876e58e3cc79 -Author: Luigi Ballabio -Date: Fri, 31 Dec 2021 09:38:04 +0100 +commit 30002bee0edc10c00a800b5ea714bcc8b9dd7ba7 +Author: Marcin Rybacki +Date: Thu, 17 Mar 2022 14:41:21 +0100 - Fix Codacy link in README + Keep the old type for now. - README.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + ql/instruments/bondforward.cpp | 25 +++++++++++++++++++++++++ + ql/instruments/bondforward.hpp | 20 ++++++++++++++++++++ + 2 files changed, 45 insertions(+) -commit 5b9d73f175162dfed00e987d53afbc728b300e6e -Merge: 9405bdc91 11dd8183c -Author: Luigi Ballabio -Date: Thu, 30 Dec 2021 12:13:31 +0100 - - Merge pull request #1275. - - Use correct method to recalculate swap in OIS helper +commit d37a4b653a4e9041eaaa7843e56ba28842e05908 +Author: Marcin Rybacki +Date: Thu, 17 Mar 2022 13:55:33 +0100 -commit 11dd8183c602764641e7a722b8db5138fe885819 -Author: Luigi Ballabio -Date: Wed, 29 Dec 2021 22:50:06 +0100 + Renamed FixedRateBondForward to BondForward. - Use correct method to recalculate swap in OIS helper + ql/instruments/bondforward.cpp | 2 +- + ql/instruments/bondforward.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) - ql/termstructures/yield/oisratehelper.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) +commit c219961c5abc800e6bac01b7a7a953c381d976ae +Author: Marcin Rybacki +Date: Thu, 17 Mar 2022 13:53:19 +0100 -commit 9405bdc9172bdf0c5471f15e6e5c39b1ffe1eec4 -Merge: 962f4f757 b4cc3fd31 -Author: Luigi Ballabio -Date: Mon, 27 Dec 2021 23:08:38 +0100 + Renamed FixedRateBondForward to BondForward. - Merge pull request #1272. - - Add IBOR-IBOR and overnight-IBOR basis-swap helpers + Examples/Repo/Repo.cpp | 16 +++------- + QuantLib.vcxproj | 6 ++-- + QuantLib.vcxproj.filters | 6 ++-- + ql/instruments/all.hpp | 2 +- + .../{fixedratebondforward.cpp => bondforward.cpp} | 17 ++++++----- + .../{fixedratebondforward.hpp => bondforward.hpp} | 35 +++++++++++----------- + 6 files changed, 37 insertions(+), 45 deletions(-) -commit 1b78529e28fadd8e2f6e66958f932c7461d9bb55 +commit a98bf83e9bdcd2001c13d0a0f13afb3fc7230bd2 Author: Marcin Rybacki -Date: Mon, 27 Dec 2021 09:13:48 +0100 +Date: Thu, 17 Mar 2022 13:29:52 +0100 - Corrected the usage of fixing days in SubPeriodsCoupon. + Change pointer type to base bond class. - ql/cashflows/subperiodcoupon.cpp | 10 ++++++++-- - ql/cashflows/subperiodcoupon.hpp | 2 ++ - 2 files changed, 10 insertions(+), 2 deletions(-) + ql/instruments/fixedratebondforward.cpp | 15 ++++++--------- + ql/instruments/fixedratebondforward.hpp | 6 +++--- + 2 files changed, 9 insertions(+), 12 deletions(-) -commit b4cc3fd3194af2e6eeb493856523ef2301081460 +commit e74117397fc57ffe7288fcbcee897d6755f429d5 Author: Luigi Ballabio -Date: Sun, 26 Dec 2021 17:23:07 +0100 +Date: Thu, 17 Mar 2022 12:50:45 +0100 - Add overnight-ibor basis swap helper + Fix typo - .../termstructures/basisswapratehelpers.cpp | 80 +++++++++++++++ - .../termstructures/basisswapratehelpers.hpp | 40 ++++++++ - test-suite/basisswapratehelpers.cpp | 110 +++++++++++++++++++-- - test-suite/basisswapratehelpers.hpp | 6 +- - 4 files changed, 224 insertions(+), 12 deletions(-) + ql/pricingengines/swap/discretizedswap.cpp | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) -commit 825dc5c8b14f641e1f1b70293a324506fdbd4f7b -Author: wegamekinglc -Date: Sun, 26 Dec 2021 18:02:27 +0800 +commit 1b6556c4e4a334385099a80c33190c061c6d8d1b +Author: RalfKonrad +Date: Tue, 15 Mar 2022 22:46:29 +0100 - added china holiday for 2022 + Fixed compiler incompatibilities - ql/time/calendars/china.cpp | 18 +++++++++++++++++- - test-suite/calendars.cpp | 32 ++++++++++++++++++++++++++++++-- - 2 files changed, 47 insertions(+), 3 deletions(-) + test-suite/bermudanswaption.cpp | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) -commit 3795c707772a88efbb633ea85e7ce5a51942a1da -Merge: 846938afc 962f4f757 -Author: Cheng Li -Date: Sun, 26 Dec 2021 03:10:26 +0800 +commit dc73d23598cb4c55c1fb4c22bd7c86888c30e338 +Author: RalfKonrad +Date: Tue, 15 Mar 2022 15:47:11 +0100 - Merge pull request #14 from lballabio/master - - merge from upstream + Fixed compiler incompatibilities -commit 1f95323ab950d177206dcff3a2b6e0f1f939c7c8 -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Thu, 23 Dec 2021 21:53:00 +0000 + .../callablebonds/discretizedcallablefixedratebond.hpp | 2 +- + ql/pricingengines/swaption/discretizedswaption.cpp | 16 ++++++++-------- + ql/pricingengines/swaption/discretizedswaption.hpp | 4 ++-- + 3 files changed, 11 insertions(+), 11 deletions(-) - Automated fixes by clang-tidy +commit 9905e99bb273b547c3c32cbae780fca3595c08e3 +Author: RalfKonrad +Date: Tue, 15 Mar 2022 13:41:38 +0100 - .../termstructures/basisswapratehelpers.cpp | 30 ++++++++++++---------- - .../termstructures/basisswapratehelpers.hpp | 4 +-- - 2 files changed, 18 insertions(+), 16 deletions(-) + Wordings adjusted -commit e43405af3a3a35e37726e38ad4ea71703db8807a -Author: Luigi Ballabio -Date: Thu, 23 Dec 2021 20:01:08 +0100 - - Add ibor-ibor basis swap helpers - - QuantLib.vcxproj | 2 + - QuantLib.vcxproj.filters | 6 + - ql/CMakeLists.txt | 2 + - ql/experimental/termstructures/Makefile.am | 2 + - ql/experimental/termstructures/all.hpp | 1 + - .../termstructures/basisswapratehelpers.cpp | 118 +++++++++++++++ - .../termstructures/basisswapratehelpers.hpp | 77 ++++++++++ - test-suite/CMakeLists.txt | 2 + - test-suite/Makefile.am | 2 + - test-suite/basisswapratehelpers.cpp | 158 +++++++++++++++++++++ - test-suite/basisswapratehelpers.hpp | 36 +++++ - test-suite/quantlibtestsuite.cpp | 4 +- - test-suite/testsuite.vcxproj | 8 +- - test-suite/testsuite.vcxproj.filters | 6 + - 14 files changed, 420 insertions(+), 4 deletions(-) - -commit 962f4f7574428e2b85d9eceed21733a162458277 -Merge: 37c98eccf 46a2222a5 -Author: Luigi Ballabio -Date: Thu, 23 Dec 2021 11:28:01 +0100 - - Merge pull request #1268. - - Do not require a forecast curve to calculate past IBOR coupon amounts - -commit 46a2222a541f3502e7b83eea7044c7ee8a8b3ffe -Author: Luigi Ballabio -Date: Wed, 22 Dec 2021 23:49:56 +0100 + ql/pricingengines/swap/discretizedswap.cpp | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) - Deprecate unused data member +commit f8cf2c69e0ed1093332d3aec8c941ad4e8d9ac73 +Author: RalfKonrad +Date: Tue, 15 Mar 2022 13:01:58 +0100 - ql/cashflows/couponpricer.cpp | 4 ++++ - ql/cashflows/couponpricer.hpp | 11 +++++++++++ - 2 files changed, 15 insertions(+) + BOOST_REQUIRE prints 1,000,000 succesfull test message in CLion -commit 8cc57461a1f40b677f4ab830d12dbfdf763de769 -Author: Luigi Ballabio -Date: Wed, 22 Dec 2021 18:50:27 +0100 + test-suite/catbonds.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) - Do not require rate curve to calculate rate of fixed ibor coupon. +commit 6de54520f11d6292a21b0f05742e3335cc992096 +Author: RalfKonrad +Date: Tue, 15 Mar 2022 12:58:50 +0100 - ql/cashflows/couponpricer.cpp | 31 ++++++++++++++++++++----------- - ql/cashflows/couponpricer.hpp | 21 ++++++++++----------- - test-suite/cashflows.cpp | 35 ++++++++++++++++++++++++++++++++++- - test-suite/cashflows.hpp | 1 + - 4 files changed, 65 insertions(+), 23 deletions(-) + Using DiscretizedAsset::CouponAdjustment -commit 37c98eccfa18a95acb1e98b276831641be92b38e -Merge: 73e39d104 d09f58adc -Author: Luigi Ballabio -Date: Sun, 19 Dec 2021 15:48:01 +0100 + ql/discretizedasset.hpp | 3 +++ + .../callablebonds/discretizedcallablefixedratebond.hpp | 3 +-- + ql/pricingengines/swap/discretizedswap.hpp | 2 -- + ql/pricingengines/swaption/discretizedswaption.cpp | 12 +++--------- + ql/pricingengines/swaption/discretizedswaption.hpp | 10 ++-------- + 5 files changed, 9 insertions(+), 21 deletions(-) - Merge pull request #1267. - - Update obsolete call to `PiecewiseYieldCurve` constructor +commit fd67ce0ccb64f4739a542d99a8641f8e9e83a93d +Author: RalfKonrad +Date: Mon, 14 Mar 2022 17:32:26 +0100 -commit d09f58adc30ecab9f0d6705a06d700b671225c9e -Author: Luigi Ballabio -Date: Sun, 19 Dec 2021 09:59:49 +0100 + Fixed cached values to pass test cases - Oops, fixed type declaration + test-suite/bermudanswaption.cpp | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) - ql/models/marketmodels/historicalforwardratesanalysis.hpp | 2 +- +commit e42bcb9f5532d2a35489efe6cec5c7240797a191 +Author: RalfKonrad +Date: Mon, 14 Mar 2022 17:25:22 +0100 + + Replace discretizedswaption by discretizedswaption2 + + QuantLib.vcxproj | 3 +- + QuantLib.vcxproj.filters | 7 +- + ql/CMakeLists.txt | 3 +- + ql/pricingengines/swaption/Makefile.am | 6 +- + ql/pricingengines/swaption/all.hpp | 1 - + ql/pricingengines/swaption/discretizedswaption.cpp | 127 +++++++++++++------- + ql/pricingengines/swaption/discretizedswaption.hpp | 18 ++- + .../swaption/discretizedswaption2.cpp | 132 --------------------- + .../swaption/discretizedswaption2.hpp | 63 ---------- + ql/pricingengines/swaption/treeswaptionengine.cpp | 100 ++++++++++++++++ + ql/pricingengines/swaption/treeswaptionengine.hpp | 107 ++--------------- + test-suite/bermudanswaption.cpp | 123 ++++++++++--------- + 12 files changed, 284 insertions(+), 406 deletions(-) + +commit cb475f38c21936cf3588987001043052c0d63e2b +Author: RalfKonrad +Date: Mon, 14 Mar 2022 16:34:46 +0100 + + Adjusted test case + + ql/pricingengines/swap/discretizedswap.cpp | 1 + + ql/pricingengines/swap/discretizedswap.hpp | 1 + + .../swaption/discretizedswaption2.cpp | 2 ++ + .../swaption/discretizedswaption2.hpp | 2 ++ + test-suite/bermudanswaption.cpp | 35 +++++++++------------- + 5 files changed, 20 insertions(+), 21 deletions(-) + +commit eb9ead1acebaf3f8ebcc446b7d9d9bd4925c9f8e +Author: RalfKonrad +Date: Sun, 13 Mar 2022 19:59:05 +0100 + + The snapping is working + + ql/pricingengines/swap/discretizedswap.cpp | 33 ++--- + ql/pricingengines/swap/discretizedswap.hpp | 9 +- + .../swaption/discretizedswaption2.cpp | 32 +++-- + .../swaption/discretizedswaption2.hpp | 16 ++- + test-suite/bermudanswaption.cpp | 149 +++++++++------------ + 5 files changed, 118 insertions(+), 121 deletions(-) + +commit 05841563d570fe8a3ea6f690a9b85f3805b5ac76 +Author: RalfKonrad +Date: Sun, 13 Mar 2022 19:14:25 +0100 + + Working on discretization + + .../swaption/discretizedswaption2.cpp | 73 +--------------------- + .../swaption/discretizedswaption2.hpp | 40 +++--------- + 2 files changed, 10 insertions(+), 103 deletions(-) + +commit d85c3afa9b92fe5092ecfb554ebf38ae0889131f +Author: RalfKonrad +Date: Fri, 11 Mar 2022 17:18:48 +0100 + + Fix for compatibility errors + + ql/pricingengines/swaption/discretizedswaption2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit f7bc0bed90d8d8838f274a248e55f773318bcfc7 -Author: Luigi Ballabio -Date: Sat, 18 Dec 2021 18:48:29 +0100 +commit 8f73f380dac9a7d4c3a2afd3d3d151a748030852 +Author: RalfKonrad +Date: Thu, 10 Mar 2022 19:29:55 +0100 - Use curve-defined type + Working on discretization - ql/models/marketmodels/historicalforwardratesanalysis.hpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + .../swaption/discretizedswaption2.cpp | 78 +++++++++++++++++----- + .../swaption/discretizedswaption2.hpp | 18 +++++ + 2 files changed, 79 insertions(+), 17 deletions(-) -commit 4340c06f4ea5b9c52589b02948cb3e4870fb1bb9 -Author: Francois Botha -Date: Thu, 16 Dec 2021 19:56:23 +0200 +commit 7797c0f66d9df364d257e589a1de061bb13a14f0 +Author: RalfKonrad +Date: Sun, 27 Feb 2022 19:26:51 +0100 - Move yield curve accuracy to Bootstrap implementation instead of yield curve constructor + Added copyright - ql/models/marketmodels/historicalforwardratesanalysis.hpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) + ql/pricingengines/swaption/discretizedswaption2.cpp | 4 +--- + ql/pricingengines/swaption/discretizedswaption2.hpp | 4 +--- + ql/pricingengines/swaption/treeswaptionengine.hpp | 2 +- + test-suite/bermudanswaption.cpp | 3 ++- + test-suite/bermudanswaption.hpp | 1 + + 5 files changed, 6 insertions(+), 8 deletions(-) -commit 73e39d104693a959ecc38fa3d0c6ee7875cd2fc4 -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Fri, 10 Dec 2021 23:25:32 +0000 +commit 6b25599326ed95deec7406b082eb61bb930e3cda +Author: RalfKonrad +Date: Sun, 27 Feb 2022 19:19:48 +0100 - Update copyright list in license + Avoid CLion warnings - LICENSE.TXT | 1 + - 1 file changed, 1 insertion(+) - -commit c4104599f5976392a0fb1f1595ddf76f269c0487 -Merge: 621ad6c62 226f5ce99 -Author: Luigi Ballabio -Date: Sat, 11 Dec 2021 00:17:08 +0100 - - Merge pull request #1263. - - Add inspectors for some basic properties of overnight-idex futures - -commit 621ad6c621eaacfdc041e6d77ccd9a810b2cd2e6 -Merge: 08994cc5d c31c10153 -Author: Luigi Ballabio -Date: Fri, 10 Dec 2021 23:04:52 +0100 - - Merge pull request #1262. - - Add more currencies - -commit 226f5ce996cb4b5eca2a864623a0a53c20b10ca2 -Author: Tom Anderson -Date: Fri, 10 Dec 2021 20:14:10 +0000 - - Add inspectors for some basic properties of overnight-idex futures - - ql/instruments/overnightindexfuture.hpp | 3 +++ - 1 file changed, 3 insertions(+) + .clang-tidy | 6 ++++++ + 1 file changed, 6 insertions(+) -commit c31c10153ae1686b9f860f9d2b6742322b9dea7b -Author: Luigi Ballabio -Date: Fri, 10 Dec 2021 21:13:51 +0100 +commit b8ff1080112a7a8d7932064019c05aaabcfba431 +Author: ralfkonrad +Date: Sat, 20 Nov 2021 22:57:43 +0100 - Increase DOT_GRAPH_MAX_NODES + Removed treeswaptionengine.cpp file from build systems - Docs/quantlib.doxy | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + ql/CMakeLists.txt | 1 - + ql/pricingengines/swaption/Makefile.am | 4 +--- + 2 files changed, 1 insertion(+), 4 deletions(-) -commit 62386802a7a3038bfcd87d053cf7208247db79b1 -Author: Luigi Ballabio -Date: Fri, 10 Dec 2021 17:42:57 +0100 +commit f9bc92900a59f7cdc325a7351c301aefd80a785f +Author: RalfKonrad +Date: Sat, 20 Nov 2021 22:43:45 +0100 - Add missing closing brace + Working on DiscretizedSwaption2::reset(...) - ql/currencies/america.cpp | 1 + - 1 file changed, 1 insertion(+) + QuantLib.vcxproj | 1 - + QuantLib.vcxproj.filters | 3 - + .../swaption/discretizedswaption2.cpp | 4 +- + ql/pricingengines/swaption/treeswaptionengine.cpp | 100 --------------------- + test-suite/bermudanswaption.cpp | 8 +- + 5 files changed, 7 insertions(+), 109 deletions(-) -commit bbdb98a14bbf5ce15fcc4205d6a6a295519e5c87 -Author: ole -Date: Fri, 10 Dec 2021 17:06:10 +0100 +commit 400ec45b6801316a2c5cc483b0a5bb523a20bfa3 +Author: RalfKonrad +Date: Tue, 12 Oct 2021 19:37:37 +0200 - Added Quaternion copyright line and fixed missing declaration + Added p*AdjustValuesImpl() - ql/currencies/africa.cpp | 1 + - ql/currencies/africa.hpp | 1 + - ql/currencies/america.cpp | 1 + - ql/currencies/america.hpp | 11 +++++++++++ - ql/currencies/asia.cpp | 1 + - ql/currencies/asia.hpp | 1 + - ql/currencies/europe.cpp | 1 + - ql/currencies/europe.hpp | 1 + - 8 files changed, 18 insertions(+) + ql/pricingengines/swaption/discretizedswaption2.cpp | 6 ++++++ + ql/pricingengines/swaption/discretizedswaption2.hpp | 5 +++++ + 2 files changed, 11 insertions(+) -commit 6383fb0ad3d972ae0fb518f14fe0afa0a5f51e00 -Author: ole -Date: Thu, 9 Dec 2021 14:33:23 +0100 +commit 030cdbcb29906d98d305b2b63017ed8e89cd3b7a +Author: ralfkonrad +Date: Tue, 12 Oct 2021 10:57:55 +0200 - Revert "Update callablebond.cpp" - - This reverts commit 826d6c099e781808e63d84b3ddac3cbc2c3791f4. + Fixed clang warnings - ql/experimental/callablebonds/callablebond.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + test-suite/bermudanswaption.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -commit a034dfd8eccacc22eae774511efae7b2e16bb7cf -Author: ole -Date: Thu, 9 Dec 2021 14:33:19 +0100 +commit 9f1cb5711817d2539bfcb177d20c0805ee347dc8 +Author: RalfKonrad +Date: Tue, 12 Oct 2021 10:52:11 +0200 - Revert "Update callablebond.cpp" - - This reverts commit b16e4bde6060e7f7709ffa2294379fbf2195f825. + Added prepareSwaptionWithSnappedDates(...) - ql/experimental/callablebonds/callablebond.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + .../swaption/discretizedswaption2.cpp | 122 ++++++++++++++------- + .../swaption/discretizedswaption2.hpp | 17 ++- + test-suite/bermudanswaption.cpp | 58 +++++----- + 3 files changed, 127 insertions(+), 70 deletions(-) -commit 2bcf299cfa2880ab9cc45c652feee03e761535a7 -Author: ole -Date: Thu, 9 Dec 2021 14:25:46 +0100 +commit 7efa5c03b4e619f3298234e8f0fc6f85a0efab2f +Author: RalfKonrad +Date: Sun, 10 Oct 2021 19:39:01 +0200 - Added European currencies + Added DiscretizedSwaption2 - ql/currencies/europe.cpp | 28 ++++++++++++++++++++++++++++ - ql/currencies/europe.hpp | 40 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 68 insertions(+) + QuantLib.vcxproj | 2 + + QuantLib.vcxproj.filters | 6 ++ + ql/CMakeLists.txt | 2 + + ql/pricingengines/swaption/Makefile.am | 2 + + ql/pricingengines/swaption/all.hpp | 1 + + .../swaption/discretizedswaption2.cpp | 93 ++++++++++++++++++++++ + .../swaption/discretizedswaption2.hpp | 49 ++++++++++++ + ql/pricingengines/swaption/treeswaptionengine.hpp | 2 + + test-suite/bermudanswaption.cpp | 2 +- + 9 files changed, 158 insertions(+), 1 deletion(-) -commit e1cddd0ba6cb1f5614b0d457dd44ab5e3767852f -Author: ole -Date: Thu, 9 Dec 2021 14:24:47 +0100 +commit dab438db5b8da1f328e0d644f80de0120103ec8b +Author: RalfKonrad +Date: Sun, 10 Oct 2021 19:26:08 +0200 - Added Asian currencies + TreeSwaptionEngine becomes templated GenericTreeSwaptionEngine - ql/currencies/asia.cpp | 56 +++++++++++++++++++++++++++++++++++ - ql/currencies/asia.hpp | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 136 insertions(+) + ql/pricingengines/swaption/treeswaptionengine.cpp | 200 +++++++++++----------- + ql/pricingengines/swaption/treeswaptionengine.hpp | 105 ++++++++++-- + 2 files changed, 195 insertions(+), 110 deletions(-) -commit 21655d9fede4ef6f61278884214c402d91bc3218 -Author: ole -Date: Thu, 9 Dec 2021 14:23:05 +0100 +commit 6e7f5550b4ced4b79235efdfa672e5d6f4cc9847 +Author: RalfKonrad +Date: Sun, 10 Oct 2021 18:19:31 +0200 - Added American currencies + Added test case to implement against - ql/currencies/america.cpp | 28 ++++++++++++++++++++++++++++ - ql/currencies/america.hpp | 29 +++++++++++++++++++++++++++++ - 2 files changed, 57 insertions(+) + test-suite/bermudanswaption.cpp | 97 ++++++++++++++++++++++++++++++++++++----- + test-suite/bermudanswaption.hpp | 1 + + 2 files changed, 88 insertions(+), 10 deletions(-) -commit 56e69de1d4728fddb7c830553dc2679f3bebfada -Author: ole -Date: Thu, 9 Dec 2021 14:21:49 +0100 +commit e577808abece6b10016f0e1cac975bb7811b42b6 +Author: RalfKonrad +Date: Sun, 13 Mar 2022 19:11:16 +0100 - Added African currencies + Refactored discretizedswap to enable distinction between pre- and post-adjustment - ql/currencies/africa.cpp | 74 ++++++++++++++++++++++++++++++++ - ql/currencies/africa.hpp | 109 +++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 183 insertions(+) + ql/pricingengines/swap/discretizedswap.cpp | 181 ++++++++++++++++++----------- + ql/pricingengines/swap/discretizedswap.hpp | 20 +++- + 2 files changed, 132 insertions(+), 69 deletions(-) -commit 08994cc5df150345ec4a1f756ff7f5c524c1147c -Merge: 524f3bbc9 985ad0de2 +commit 1f70a6733f55d46c950b79c22c06c47ca2b12ef1 +Merge: 8a832f6fb 857fd1c7f Author: Luigi Ballabio -Date: Fri, 3 Dec 2021 16:39:21 +0100 +Date: Tue, 15 Mar 2022 03:40:16 +0100 - Merge pull request #1258. + Merge pull request #1326. - Restore defaults in `SofrFutureRateHelper` constructor for backward compatibility + Simpler output for periods. -commit 524f3bbc904c615375f90465f5f62cac8511a55d -Merge: 38a6c4569 b27c9999a +commit 8a832f6fba4edc5c92d4ea977ee35d6a10c01b90 +Merge: 41063a6e7 d36ee748c Author: Luigi Ballabio -Date: Fri, 3 Dec 2021 15:37:52 +0100 +Date: Tue, 15 Mar 2022 02:09:46 +0100 - Merge pull request #1257. + Merge pull request #1325. - Make dividends optional for BinomialConvertibleEngine + Deprecate a few unused classes -commit 985ad0de238497347d688099e6146aab4c4d5b4f +commit 857fd1c7fa1c6ea3e25e393f3f634effbf65d893 Author: Luigi Ballabio -Date: Fri, 3 Dec 2021 10:13:48 +0100 +Date: Mon, 14 Mar 2022 18:57:33 +0100 - Restore defaults for backward compatibility - - ql/termstructures/yield/overnightindexfutureratehelper.hpp | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit b27c9999a5bfff5b686873759e24ba2cb2ab8934 -Author: Luigi Ballabio -Date: Fri, 3 Dec 2021 09:52:19 +0100 - - Make dividends optional for BinomialConvertibleEngine - - ql/pricingengines/bond/binomialconvertibleengine.hpp | 2 +- - test-suite/convertiblebonds.cpp | 6 ++---- - 2 files changed, 3 insertions(+), 5 deletions(-) - -commit 38a6c4569a439c04dd59c3c0b512d50b838b86d2 -Merge: eaf031529 44fd1a84e -Author: Luigi Ballabio -Date: Fri, 3 Dec 2021 00:50:27 +0100 - - Merge pull request #1256. + Simpler output for periods. - Check for ex-trading date in `Coupon::accruedPeriod` - -commit 44fd1a84ef9bd216cb95d78b9623d8e3b307bb44 -Author: Luigi Ballabio -Date: Thu, 2 Dec 2021 17:22:14 +0100 + It now displays transparently what the units and length are. - Check for ex-trading date in Coupon::accruedPeriod + ql/time/period.cpp | 42 ++++-------------------------------------- + 1 file changed, 4 insertions(+), 38 deletions(-) - ql/cashflows/coupon.cpp | 3 +++ - ql/cashflows/floatingratecoupon.cpp | 11 +---------- - ql/cashflows/inflationcoupon.cpp | 16 ++-------------- - ql/cashflows/overnightindexedcoupon.cpp | 4 +--- - 4 files changed, 7 insertions(+), 27 deletions(-) - -commit eaf031529bd99d366f6538087db8643f04caecd0 -Merge: 3930903c8 8e4087d29 -Author: Luigi Ballabio -Date: Thu, 2 Dec 2021 15:39:59 +0100 - - Merge pull request #1239. - - Add Normal Volatility SABR Calculation - -commit 8e4087d29ca25cf4c01a74ae10b67843cc7400dc +commit d36ee748c09776bc0a52fb25bf2f5556d23187dc Author: Luigi Ballabio -Date: Thu, 2 Dec 2021 12:16:47 +0100 +Date: Mon, 14 Mar 2022 17:54:42 +0100 - Add reference to paper + Avoid deprecation warnings - ql/termstructures/volatility/sabr.hpp | 3 +++ + ql/math/lexicographicalview.hpp | 3 +++ 1 file changed, 3 insertions(+) -commit 3930903c81baf3aeca6fc294fc107aea9cffb5ca -Merge: 7b185979b 39fbd7a9b -Author: Luigi Ballabio -Date: Thu, 2 Dec 2021 12:02:04 +0100 - - Merge pull request #1238. +commit 2b4cc275390d1d0b60ac4336df7f516bb987345d +Author: Luigi Ballabio +Date: Mon, 14 Mar 2022 14:30:08 +0100 + + Avoid unnecessary temporary file + + tools/check_header.py | 22 +++------------------- + 1 file changed, 3 insertions(+), 19 deletions(-) + +commit 5149ac751897d16c91a11711f4ea3bdfe0432972 +Author: Luigi Ballabio +Date: Mon, 14 Mar 2022 13:05:47 +0100 + + Deprecate a few unused classes + + ql/math/curve.hpp | 7 +++++-- + ql/math/lexicographicalview.hpp | 8 ++++---- + ql/patterns/composite.hpp | 17 ++++------------- + ql/termstructures/yield/drifttermstructure.hpp | 12 ++++-------- + 4 files changed, 17 insertions(+), 27 deletions(-) + +commit 41063a6e752331854e492d0403c46cbc59c8a063 +Author: Luigi Ballabio +Date: Sat, 12 Mar 2022 18:07:44 +0100 + + Use https links to QuantLib site in docs + + Docs/pages/index.docs | 2 +- + Docs/pages/resources.docs | 10 +++++----- + Docs/pages/where.docs | 4 ++-- + Docs/quantlibheader.html | 2 +- + QuantLib.spec.in | 2 +- + README.md | 12 ++++++------ + man/BasketLosses.1 | 2 +- + man/BermudanSwaption.1 | 2 +- + man/Bonds.1 | 2 +- + man/CDS.1 | 2 +- + man/CVAIRS.1 | 2 +- + man/CallableBonds.1 | 2 +- + man/ConvertibleBonds.1 | 2 +- + man/DiscreteHedging.1 | 2 +- + man/EquityOption.1 | 2 +- + man/FRA.1 | 2 +- + man/FittedBondCurve.1 | 2 +- + man/Gaussian1dModels.1 | 2 +- + man/GlobalOptimizer.1 | 2 +- + man/LatentModel.1 | 2 +- + man/MarketModels.1 | 2 +- + man/MulticurveBootstrapping.1 | 2 +- + man/MultidimIntegral.1 | 2 +- + man/Replication.1 | 2 +- + man/Repo.1 | 2 +- + man/quantlib-benchmark.1 | 4 ++-- + man/quantlib-config.1 | 2 +- + man/quantlib-test-suite.1 | 4 ++-- + 28 files changed, 40 insertions(+), 40 deletions(-) + +commit 61aa57e04ed4ba1114fb319dc97e74c930273784 +Merge: ce6d8c941 dfeeca2ec +Author: Luigi Ballabio +Date: Wed, 9 Mar 2022 13:03:14 +0100 + + Merge pull request #1322. - Fix the accrual calculation for OvernightIndexedCoupon + Use lagged fixing for correct interpolation in `CPICoupon` and `CPICashFlow`. -commit 7b185979bd05eefef37a922c57e3151adce5d9f9 -Merge: c10f5f4aa 474e496af +commit dfeeca2ec8ba549add237712f0ccda848c113ed6 Author: Luigi Ballabio -Date: Wed, 1 Dec 2021 10:15:40 +0100 +Date: Tue, 8 Mar 2022 23:49:22 +0100 - Merge pull request #1254. - - Fix testEuropeanKnownValue test + Deprecate fixing days -commit 474e496af3fe4127c9042a173bd19a3895915189 -Author: matthewkolbe -Date: Tue, 30 Nov 2021 12:47:17 -0700 - - Fix testEuropeanKnownValue test - - The Hull example this test replicates uses t=0.5. Since this test uses the Act/360 calendar with beginning date today, we need to increment time by days, rather than months, because today+n*Months gives a different value of duration depending on what day the test is run. And this difference is often large enough to break our error tolerance. + ql/cashflows/cpicoupon.cpp | 60 +++++++++++++++++++++++++++++++--------------- + ql/cashflows/cpicoupon.hpp | 28 +++++++++++++++++++++- + 2 files changed, 68 insertions(+), 20 deletions(-) - test-suite/dividendoption.cpp | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) +commit ce6d8c941af0e07352c1b6b485b1408b93efa0a1 +Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> +Date: Tue, 8 Mar 2022 14:51:35 +0000 -commit c10f5f4aabe577fff595070df64b608a69d43b8b -Merge: 5b22b6d55 fe5f31da5 -Author: Luigi Ballabio -Date: Fri, 26 Nov 2021 21:11:16 +0100 + Automated fixes by clang-tidy - Merge pull request #1248. - - Allow same-day for holidayList and businessDayList + test-suite/lowdiscrepancysequences.cpp | 60 ++++++++++++---------------------- + 1 file changed, 21 insertions(+), 39 deletions(-) -commit 5b22b6d553b4ef260058c244f4ceb73aeacda332 -Merge: d55b8b19a 3a3ba0628 +commit 46a508819a2da72ffef4fff1998b11e6e07b8dd5 Author: Luigi Ballabio -Date: Fri, 26 Nov 2021 19:23:16 +0100 - - Merge pull request #1249. - - Make some inspectors on OvernightIndexedSwap const - -commit 3a3ba0628445c7d35c2e1d8e9dca8ecd28d4c8d5 -Author: Tom Anderson -Date: Fri, 26 Nov 2021 15:55:32 +0000 - - Make some inspectors on OvernightIndexedSwap const - - ql/instruments/overnightindexedswap.hpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit fe5f31da50eb872b7e61b031ab25ba84ecbd5c05 -Author: jxcv0 -Date: Thu, 25 Nov 2021 20:47:44 +0000 +Date: Tue, 8 Mar 2022 12:41:20 +0100 - Allow same-day for holidayList and businessDayList + Apply a few clang-tidy suggestions - ql/time/calendar.cpp | 8 ++++---- - test-suite/calendars.cpp | 4 ++++ - 2 files changed, 8 insertions(+), 4 deletions(-) + ql/math/optimization/constraint.hpp | 13 +++---------- + ql/termstructures/volatility/volatilitytype.hpp | 4 ++-- + ql/time/calendars/saudiarabia.cpp | 17 +++++------------ + 3 files changed, 10 insertions(+), 24 deletions(-) -commit 39fbd7a9b8d4d0e5313834e18facef814c5db4e8 +commit 77fad9e3b6666753b23deaa0012bf6eb8753c5ba Author: Luigi Ballabio -Date: Thu, 25 Nov 2021 15:37:38 +0100 +Date: Mon, 7 Mar 2022 15:23:39 +0100 - Rename private method + Upgrade to clang-tidy 12 - ql/cashflows/overnightindexedcoupon.cpp | 18 ++++++++++-------- - ql/cashflows/overnightindexedcoupon.hpp | 3 +-- - 2 files changed, 11 insertions(+), 10 deletions(-) + .clang-tidy | 2 +- + .github/workflows/tidy.yml | 2 +- + CMakePresets.json | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) -commit c15dd7760fcd3b449d3b8523bacc4b8ff6a9a9b6 +commit 9e69e2d19e0d504f421a292871b927414cb56a53 Author: Luigi Ballabio -Date: Thu, 25 Nov 2021 15:22:00 +0100 +Date: Tue, 8 Mar 2022 21:03:07 +0100 - Avoid multiple retrievals of time series + Avoid deprecation warning on gcc - ql/cashflows/overnightindexedcoupon.cpp | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) + ql/cashflows/cpicoupon.hpp | 2 ++ + 1 file changed, 2 insertions(+) -commit 4d5d1c3172020136795fd66861d0c5f76ed69d73 +commit 207706657f99441b3dbef225f745dd54e2b52b43 Author: Luigi Ballabio -Date: Thu, 25 Nov 2021 15:21:33 +0100 +Date: Tue, 8 Mar 2022 20:55:17 +0100 - Fix corner case + Use lagged fixing in CPICashFlow - ql/cashflows/overnightindexedcoupon.cpp | 31 ++++++++++++++----- - test-suite/overnightindexedcoupon.cpp | 54 +++++++++++++++++++++++++++------ - test-suite/overnightindexedcoupon.hpp | 2 ++ - 3 files changed, 70 insertions(+), 17 deletions(-) + ql/cashflows/cpicoupon.cpp | 81 ++++++++++++++++++++++++++++++++-------------- + ql/cashflows/cpicoupon.hpp | 38 +++++++++++++++------- + 2 files changed, 82 insertions(+), 37 deletions(-) -commit dd20a4ffae0f9150a89f0ca493b165fe6e0a9a7a -Author: Luigi Ballabio -Date: Wed, 24 Nov 2021 13:10:01 +0100 +commit 15926ab5df9e266f6ccec5a54f83ac7786aadd36 +Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> +Date: Mon, 7 Mar 2022 18:28:06 +0000 - More tests + Automated fixes by clang-tidy - test-suite/overnightindexedcoupon.cpp | 91 +++++++++++++++++++++++++++++++++-- - test-suite/overnightindexedcoupon.hpp | 4 ++ - 2 files changed, 92 insertions(+), 3 deletions(-) + test-suite/main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit ebe25a4c7334cbae772b9b04dd0d974a826fb0f0 +commit 8c3a0acfdf286b833150e234f921f1873468cb31 +Merge: 7e81a0e6a 99d25492d Author: Luigi Ballabio -Date: Wed, 24 Nov 2021 12:43:24 +0100 - - Move tests to own file - - test-suite/CMakeLists.txt | 2 + - test-suite/Makefile.am | 2 + - test-suite/cashflows.cpp | 110 ---------------------- - test-suite/cashflows.hpp | 1 - - test-suite/overnightindexedcoupon.cpp | 168 ++++++++++++++++++++++++++++++++++ - test-suite/overnightindexedcoupon.hpp | 34 +++++++ - test-suite/quantlibtestsuite.cpp | 2 + - test-suite/testsuite.vcxproj | 2 + - test-suite/testsuite.vcxproj.filters | 6 ++ - 9 files changed, 216 insertions(+), 111 deletions(-) - -commit 0b36874c2d3787a04dda00b6b3c0f6cc4afcefd1 -Author: Luigi Ballabio -Date: Tue, 23 Nov 2021 18:47:43 +0100 - - Add initial tests on coupon rate - - ql/cashflows/overnightindexedcoupon.hpp | 2 +- - test-suite/cashflows.cpp | 114 +++++++++++++++++++++++++++++++- - test-suite/cashflows.hpp | 1 + - 3 files changed, 115 insertions(+), 2 deletions(-) +Date: Tue, 8 Mar 2022 00:12:09 +0100 -commit 5f39e372c1f31948cbe03b73e2dd18c22098ce91 -Author: Mohammad Shojatalab -Date: Tue, 23 Nov 2021 00:46:00 +0000 + Merge pull request #1316. + + CMake build: use consistent naming for tagged libraries. - Remove swapletRate(const Date&) from FloatingRateCouponPricer as it doesn't make financial sense, instead using dynamic cast in OvernightIndexedCouponPricer. And Some general simplification and cleanup and reverting unnecessary changes. +commit 7e81a0e6ade80bb9a9f8a7b57e08190930f71496 +Merge: 0ebb00e26 0b907f035 +Author: Luigi Ballabio +Date: Mon, 7 Mar 2022 22:42:37 +0100 - ql/cashflows/couponpricer.hpp | 3 --- - ql/cashflows/floatingratecoupon.cpp | 6 +----- - ql/cashflows/floatingratecoupon.hpp | 1 - - ql/cashflows/overnightindexedcoupon.cpp | 19 ++++++++++--------- - 4 files changed, 11 insertions(+), 18 deletions(-) + Merge pull request #1314. + + Avoid unexpected jumps in callable bond OAS -commit 0fc429b3931371b6076950285b1e92d8f75bf206 -Author: Mohammad Shojatalab -Date: Sun, 21 Nov 2021 22:22:20 +0000 +commit 0b907f03538eee463cf91bb8f9cfd25e8bc921cc +Author: RalfKonrad +Date: Mon, 7 Mar 2022 18:44:10 +0100 - Fix some stupid mistakes and cleanup. + Incorporate review reamrks - ql/cashflows/overnightindexedcoupon.cpp | 16 ++++------------ - 1 file changed, 4 insertions(+), 12 deletions(-) + ql/experimental/callablebonds/discretizedcallablefixedratebond.cpp | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) -commit 90d9547e0bf9adcb4d99c8584f96034453a464f9 -Author: Mohammad Shojatalab -Date: Sat, 20 Nov 2021 23:13:02 +0000 +commit 095087ed96dba3fa1235f7c757021fe4ed5f555d +Author: RalfKonrad +Date: Mon, 7 Mar 2022 16:08:00 +0100 - Fix swapletRate(const Date& date) function by properly taking date into account for accrual end date calculation. + Added test case for OAS calculation - ql/cashflows/overnightindexedcoupon.cpp | 37 ++++++++++++++------------------- - 1 file changed, 16 insertions(+), 21 deletions(-) + LICENSE.TXT | 2 +- + ql/experimental/callablebonds/callablebond.hpp | 2 +- + .../discretizedcallablefixedratebond.cpp | 39 ++++++++++------------ + test-suite/callablebonds.cpp | 37 +++++++++++--------- + test-suite/callablebonds.hpp | 2 +- + 5 files changed, 43 insertions(+), 39 deletions(-) -commit d55b8b19a45ac265adff5daa25a6b524a994db7f -Merge: c21fff242 7086e1d47 +commit b2b2b0d391f8717e4d1c20481b79e04ebb084014 Author: Luigi Ballabio -Date: Wed, 17 Nov 2021 13:15:40 +0100 +Date: Mon, 7 Mar 2022 17:20:03 +0100 - Merge pull request #1242. + Use lagged fixing for correct interpolation in CPICoupon. - Remove redundant arguments from `SofrFutureRateHelper` constructor - -commit 7086e1d47731f92e9051adc254dfd927e0679004 -Author: Luigi Ballabio -Date: Wed, 17 Nov 2021 09:52:28 +0100 + Also deprecate a few misleading methods. - Remove redundant index from signature + ql/cashflows/cpicoupon.cpp | 43 ++++++++++++++++++++-------------------- + ql/cashflows/cpicoupon.hpp | 30 +++++++++++++++++++++------- + ql/cashflows/cpicouponpricer.cpp | 5 ++--- + ql/cashflows/cpicouponpricer.hpp | 2 +- + 4 files changed, 47 insertions(+), 33 deletions(-) - .../yield/overnightindexfutureratehelper.cpp | 20 ++++++++--------- - .../yield/overnightindexfutureratehelper.hpp | 26 +++++++++++++--------- - test-suite/sofrfutures.cpp | 3 +-- - 3 files changed, 26 insertions(+), 23 deletions(-) +commit c6d7e09b3196633f1b45e712360bac46a3287c1f +Author: RalfKonrad +Date: Sun, 6 Mar 2022 19:44:21 +0100 -commit c21fff2424fe7b4ec8f86ef1bb5e85ffaf5eefb3 -Author: Luigi Ballabio -Date: Tue, 16 Nov 2021 21:28:51 +0100 - - Add toolset for Visual Studio 2022 + Fix for missing spread in the adjustedCallabilityPrices_ - QuantLib.props | 1 + - 1 file changed, 1 insertion(+) + .../discretizedcallablefixedratebond.cpp | 20 ++++++++++++-- + test-suite/callablebonds.cpp | 31 +++++++++++++--------- + 2 files changed, 37 insertions(+), 14 deletions(-) -commit e64e9cabeb65d9c65acb1bc42d4819d20a9aa40f -Author: yang zhang -Date: Tue, 16 Nov 2021 20:55:57 -0500 +commit 6c44010fd1755db561ff1b43daddc7f9e10f0571 +Author: RalfKonrad +Date: Sun, 6 Mar 2022 16:24:47 +0100 - use QL_DEPRECATED to deprecate averagingMethod in SofrFutureRateHelper. Refer to Github issue [#1215] + CLion's default cmake build dir is e.g. cmake-build-debug-visual-studio - .../yield/overnightindexfutureratehelper.cpp | 58 +++++++++++++++++++--- - .../yield/overnightindexfutureratehelper.hpp | 25 +++++++--- - test-suite/sofrfutures.cpp | 2 +- - 3 files changed, 70 insertions(+), 15 deletions(-) + .gitignore | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit 94b992b434f9696c29bc1cb6d6e04e0b2ebbd752 -Author: Mohammad Shojatalab -Date: Tue, 16 Nov 2021 22:17:59 +0000 +commit 0ebb00e26e7ce966fb4bfc579af5bf3371e5bd2a +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +Date: Mon, 7 Mar 2022 11:01:12 +0000 - Use Min of today and passed end accrual date argument in order to calculate the accrual amount correctly. + Bump actions/checkout from 2 to 3 + + Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. + - [Release notes](https://github.com/actions/checkout/releases) + - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) + - [Commits](https://github.com/actions/checkout/compare/v2...v3) + + --- + updated-dependencies: + - dependency-name: actions/checkout + dependency-type: direct:production + update-type: version-update:semver-major + ... + + Signed-off-by: dependabot[bot] + + .github/workflows/cmake.yml | 10 +++++----- + .github/workflows/codeql-analysis.yml | 2 +- + .github/workflows/copyrights.yml | 2 +- + .github/workflows/coveralls.yml | 2 +- + .github/workflows/doxygen.yml | 2 +- + .github/workflows/filelists.yml | 2 +- + .github/workflows/headers.yml | 2 +- + .github/workflows/link-check.yml | 2 +- + .github/workflows/linux-full-tests.yml | 2 +- + .github/workflows/linux-nondefault.yml | 2 +- + .github/workflows/linux.yml | 2 +- + .github/workflows/macos-nondefault.yml | 2 +- + .github/workflows/macos.yml | 2 +- + .github/workflows/misspell.yml | 2 +- + .github/workflows/msvc-analysis.yml | 2 +- + .github/workflows/sanitizer.yml | 2 +- + .github/workflows/test-times.yml | 2 +- + .github/workflows/tidy.yml | 2 +- + 18 files changed, 22 insertions(+), 22 deletions(-) + +commit 99d25492d45711f4b43441e4369f6a3a391b0d60 +Author: Luigi Ballabio +Date: Mon, 7 Mar 2022 12:33:48 +0100 + + CMake build: use consistent naming for tagged libraries. + + It should be the same as the one defined in the VC++ projects + and the ql/auto_link.hpp header. - ql/cashflows/overnightindexedcoupon.cpp | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) + CMakeLists.txt | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) -commit 223014f1e0f62f43712519e45a8f0c74745e6ae3 -Merge: 13a7f11d4 0df257af2 +commit 406c11ae680df0f4cffdfa36c01a9431898a274a +Merge: a803ac8b5 87c7b648c Author: Luigi Ballabio -Date: Tue, 16 Nov 2021 19:02:02 +0100 +Date: Mon, 7 Mar 2022 12:27:25 +0100 - Merge pull request #1218. + Merge pull request #1310. - Remove Forward inheritance by ForwardRateAgreement + Add clang-tidy to CMake build -commit 13a7f11d435e0dccb4a732521b46fef6c52875e9 -Merge: 93c439391 948ad08ea +commit 87c7b648cb261a192ac3249a5789f9392e6d5b0f Author: Luigi Ballabio -Date: Tue, 16 Nov 2021 15:25:31 +0100 +Date: Sat, 5 Mar 2022 19:34:02 +0100 - Merge pull request #1240. - - Add CMake config scripts + Avoid race condition when tidying files -commit 948ad08ea4bfadb0a1a4ac0d4f2546559bc1a09e -Author: Jonathan Sweemer -Date: Tue, 16 Nov 2021 21:16:03 +0900 + .github/workflows/tidy.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) - Add CMake config scripts +commit 6db93a9fadf00356da606726210484350cd70205 +Author: Luigi Ballabio +Date: Fri, 4 Mar 2022 17:13:46 +0100 - Makefile.am | 2 +- - tools/check_filelists.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + Deprecate constructor taking unused calendar and convention -commit 0df257af2fbece0f5bf385f2fb3459f1f4e6e73e -Author: Luigi Ballabio -Date: Tue, 16 Nov 2021 10:07:00 +0100 + ql/cashflows/zeroinflationcashflow.cpp | 8 +++++--- + ql/cashflows/zeroinflationcashflow.hpp | 5 +++-- + ql/instruments/zerocouponinflationswap.cpp | 3 +-- + 3 files changed, 9 insertions(+), 7 deletions(-) - Add convenience constructor +commit 2237e73d49f4bdb8b3e4159f6ca17720fa458d4f +Author: Jonathan Sweemer +Date: Thu, 3 Mar 2022 21:16:49 +0900 - Examples/FRA/FRA.cpp | 13 ++----------- - ql/instruments/forwardrateagreement.cpp | 9 +++++++++ - ql/instruments/forwardrateagreement.hpp | 7 +++++++ - 3 files changed, 18 insertions(+), 11 deletions(-) + Add linux-ci-build-with-clang-tidy preset -commit 69c183679b503aff06cde59645481c13cf4165af -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Mon, 15 Nov 2021 23:15:06 +0000 + .github/workflows/tidy.yml | 9 +++------ + CMakeLists.txt | 8 ++++++++ + CMakePresets.json | 19 +++++++++++++++++++ + ql/timeseries.hpp | 1 + + 4 files changed, 31 insertions(+), 6 deletions(-) - Automated fixes by clang-tidy +commit a803ac8b50472f6e27dce9c0a5e4da2edad7b770 +Merge: 86f98899d 84e9355e5 +Author: Luigi Ballabio +Date: Thu, 3 Mar 2022 17:21:57 +0100 - ql/instruments/forwardrateagreement.cpp | 9 +++++---- - ql/instruments/forwardrateagreement.hpp | 18 +++++++++--------- - 2 files changed, 14 insertions(+), 13 deletions(-) + Merge pull request #1309. + + Add some null-pointer checks -commit 2230537cf2468ee37ef3fa6ec3686d4bceb9333c +commit 84e9355e559b9ad795b195e5c8d7549589859642 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Mon, 15 Nov 2021 18:58:40 +0000 +Date: Wed, 2 Mar 2022 20:01:06 +0000 Automated fixes by clang-tidy - ql/instruments/forwardrateagreement.cpp | 25 ++++++++++++------------- - 1 file changed, 12 insertions(+), 13 deletions(-) - -commit 7b22e8063bad32d268c1cb881a3e25b74e0204ac -Author: Mohammad Shojatalab -Date: Mon, 15 Nov 2021 18:57:22 +0000 + ql/cashflows/indexedcashflow.cpp | 6 +++--- + ql/cashflows/indexedcashflow.hpp | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) - instead of looping over all of fixingDates (that is, between the accrual start date and accrual end date) compound fixings only between the accrual start date and the passed accrual date as an argument. The case corresponding to the current rate() would pass the accrual end date. - - ql/cashflows/overnightindexedcoupon.cpp | 34 +++++++++++++++++++-------------- - 1 file changed, 20 insertions(+), 14 deletions(-) - -commit b52cd479b534b89377cec8f3de4bb300f85f72ea +commit 91afff9c1397a2bf15e3ad6b25d69de21b1cc161 Author: Luigi Ballabio -Date: Mon, 15 Nov 2021 15:38:08 +0100 +Date: Wed, 2 Mar 2022 18:32:12 +0100 - Deprecate inherited members + More pointer checks - Examples/FRA/FRA.cpp | 36 --------------- - ql/instruments/forwardrateagreement.cpp | 22 ++++++--- - ql/instruments/forwardrateagreement.hpp | 82 ++++++++++++++++++++++++--------- - 3 files changed, 76 insertions(+), 64 deletions(-) + ql/cashflows/cmscoupon.cpp | 4 +++- + ql/cashflows/floatingratecoupon.cpp | 3 ++- + ql/cashflows/iborcoupon.cpp | 4 +++- + ql/cashflows/indexedcashflow.cpp | 13 +++++++++++++ + ql/cashflows/indexedcashflow.hpp | 7 +------ + ql/cashflows/overnightindexedcoupon.cpp | 7 +++++-- + ql/cashflows/subperiodcoupon.cpp | 4 +++- + ql/experimental/coupons/cmsspreadcoupon.cpp | 4 +++- + ql/instruments/compositeinstrument.cpp | 4 ++-- + 9 files changed, 35 insertions(+), 15 deletions(-) -commit 93c4393915f8f35e9e1d408409047460e27e85b3 +commit 1020e44f694c1a3d0b96836eb986c203b905469d Author: Luigi Ballabio -Date: Mon, 15 Nov 2021 15:44:24 +0100 +Date: Tue, 1 Mar 2022 09:59:46 +0100 - Fix deprecation docs + Better error messages - ql/instruments/zerocouponinflationswap.hpp | 3 +-- - ql/termstructures/inflation/inflationhelpers.hpp | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) + ql/pricingengines/swaption/fdg2swaptionengine.cpp | 1 + + .../swaption/fdhullwhiteswaptionengine.cpp | 29 ++++++++-------------- + ql/pricingengines/swaption/g2swaptionengine.hpp | 4 +-- + .../swaption/jamshidianswaptionengine.cpp | 4 ++- + .../vanilla/analyticbsmhullwhiteengine.cpp | 2 ++ + 5 files changed, 19 insertions(+), 21 deletions(-) -commit c6cf8476ffddb5db36c8893c3efc065583e09c7f -Author: Jonathan Sweemer -Date: Mon, 15 Nov 2021 21:22:07 +0900 - - Add CMake config scripts - - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1795f0ec0d01e5a727c6a68b51fee69da710a5d6 +commit 190ac4a05b63b94d51832f0d68b2721dd6c2d0bc Author: Luigi Ballabio -Date: Mon, 15 Nov 2021 10:39:51 +0100 +Date: Mon, 28 Feb 2022 23:07:34 +0100 - Add amount calculation to FRA + Add a few pointer checks - Examples/FRA/FRA.cpp | 6 ++++++ - ql/instruments/forwardrateagreement.cpp | 33 +++++++++++++++++++++++++-------- - ql/instruments/forwardrateagreement.hpp | 19 ++++++------------- - 3 files changed, 37 insertions(+), 21 deletions(-) + ql/experimental/processes/extouwithjumpsprocess.cpp | 4 +++- + ql/experimental/processes/klugeextouprocess.cpp | 5 ++++- + ql/processes/stochasticprocessarray.cpp | 6 ++++-- + 3 files changed, 11 insertions(+), 4 deletions(-) -commit b780ed7ff5d0e4bc4f9174739eaaf5e74a1dc7fd -Author: yang zhang -Date: Sun, 14 Nov 2021 16:13:57 -0500 +commit 86f98899d130ac04bb45330776cdde2080d2114e +Merge: 3e2aa9e4f 8dde04090 +Author: Luigi Ballabio +Date: Sat, 26 Feb 2022 01:28:38 +0100 - [#1215] Refer to github issue + Merge pull request #1304. - Futures with monthly frequency use averaging rate, while with quarterly frequency use compouding. The constructor taking the averaging method explicitly can be deprecated. + Typo correction in MakeMCAmericanEngine - ql/termstructures/yield/overnightindexfutureratehelper.cpp | 8 ++++++-- - ql/termstructures/yield/overnightindexfutureratehelper.hpp | 2 ++ - 2 files changed, 8 insertions(+), 2 deletions(-) +commit 8dde04090dffc0cb9c17f8a254fbb57b33f94504 +Author: Luigi Ballabio +Date: Fri, 25 Feb 2022 22:40:19 +0100 -commit 3ad043bfb3ed639b9f84613035bc41bdf82d3691 -Author: Jonathan Sweemer -Date: Sun, 14 Nov 2021 22:26:15 +0900 + Avoid "polynom" abbreviation - Add CMake config scripts + .../mcbasket/longstaffschwartzmultipathpricer.cpp | 18 +++---- + .../mcbasket/longstaffschwartzmultipathpricer.hpp | 12 ++--- + ql/experimental/mcbasket/mcamericanpathengine.hpp | 6 +-- + ql/methods/montecarlo/lsmbasissystem.cpp | 11 +++-- + ql/methods/montecarlo/lsmbasissystem.hpp | 16 +++++-- + .../basket/mcamericanbasketengine.cpp | 18 +++---- + .../basket/mcamericanbasketengine.hpp | 47 +++++++++--------- + ql/pricingengines/vanilla/mcamericanengine.cpp | 20 ++++---- + ql/pricingengines/vanilla/mcamericanengine.hpp | 56 +++++++++++++--------- + test-suite/mclongstaffschwartzengine.cpp | 8 ++-- + 10 files changed, 114 insertions(+), 98 deletions(-) - tools/check_filelists.sh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit d4106c58ab26bdcb780b34bf5286fd8da83451d4 -Author: Jonathan Sweemer -Date: Sun, 14 Nov 2021 22:04:59 +0900 +commit 2959bbc3c090409affb16e7252abcfaadc5cefd1 +Author: 3332620 +Date: Fri, 25 Feb 2022 16:56:49 +0900 - Add CMake config scripts + typo correction - Makefile.am | 2 +- - tools/check_filelists.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + ql/pricingengines/vanilla/mcamericanengine.hpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) -commit 6c334d4db746329a1a3a48a427054a938ccff191 -Author: Jonathan Sweemer -Date: Sun, 14 Nov 2021 17:43:18 +0900 +commit 3e2aa9e4f003d0d2e646cafa3a9cf3b7a1f1f980 +Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> +Date: Wed, 23 Feb 2022 19:49:32 +0000 - Add CMake config scripts + Update copyright list in license - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + LICENSE.TXT | 2 ++ + 1 file changed, 2 insertions(+) -commit 28734644c7ed70de71aa2efdc3225961c2fc2521 -Author: Jonathan Sweemer -Date: Sun, 14 Nov 2021 17:17:01 +0900 - - Add CMake config scripts - - CMakeLists.txt | 2 ++ - cmake/QuantLibConfig.cmake.in | 1 + - ql/CMakeLists.txt | 37 ++++++++++++++++++++++++++++++++++--- - 3 files changed, 37 insertions(+), 3 deletions(-) - -commit f473f708661ad81ea25dd8feefe7a744e2d22e13 -Author: lewwe -Date: Sun, 14 Nov 2021 11:12:04 +0800 - - Add Test + Link VolatilityType from VolCube to underlying structures - - .../volatility/noarbsabrsmilesection.cpp | 9 +++--- - .../volatility/noarbsabrsmilesection.hpp | 6 ++-- - ql/math/interpolations/sabrinterpolation.hpp | 9 +++--- - ql/math/interpolations/xabrinterpolation.hpp | 9 ++++-- - ql/termstructures/volatility/sabrsmilesection.cpp | 10 ++++--- - ql/termstructures/volatility/sabrsmilesection.hpp | 6 ++-- - .../volatility/swaption/swaptionvolcube1.hpp | 8 +++-- - test-suite/swaptionvolatilitycube.cpp | 34 ++++++++++++++++++++++ - test-suite/swaptionvolatilitycube.hpp | 1 + - 9 files changed, 70 insertions(+), 22 deletions(-) - -commit 38e90493acf926afdac24b51237149083c9ed28a -Author: lewwe -Date: Fri, 12 Nov 2021 21:14:52 +0800 - - Add Normal Volatility SABR Calculation - - .../volatility/noarbsabrsmilesection.cpp | 4 +- - ql/termstructures/volatility/sabr.cpp | 79 +++++++++++++++++++--- - ql/termstructures/volatility/sabr.hpp | 29 ++++++-- - ql/termstructures/volatility/sabrsmilesection.cpp | 4 +- - .../volatility/swaption/swaptionvolcube1.hpp | 5 -- - 5 files changed, 99 insertions(+), 22 deletions(-) - -commit 2344bea198a3f5684e591b9befe455276a8da892 -Merge: 575c102a9 32bcf6f9b +commit e72887367a92a71637a962150c7d680798c39053 +Merge: 1257aaa62 812159947 Author: Luigi Ballabio -Date: Fri, 12 Nov 2021 09:42:37 +0100 +Date: Wed, 23 Feb 2022 19:10:33 +0100 - Merge pull request #1233. + Merge pull request #1302. - Do not rely on inflation curves for index interpolation - -commit 25f7586de0d44ce64b7fdba22c859ce4d7b1755a -Author: Mohammad Shojatalab -Date: Thu, 11 Nov 2021 09:35:54 +0000 - - Remedy for clang warning re 'QuantLib::OvernightIndexedCoupon::rate' hides overloaded virtual function. + add Tona (Tokyo overnight average) rate - ql/cashflows/overnightindexedcoupon.hpp | 1 + - 1 file changed, 1 insertion(+) - -commit c0506b7c0878b1174a80cf6199637f6edfae57da -Author: Mohammad Shojatalab -Date: Thu, 11 Nov 2021 08:49:56 +0000 - - Fix the accrual calculation for OvernightIndexedCoupon. - fixes issue #1214 - - ql/cashflows/couponpricer.hpp | 3 +++ - ql/cashflows/floatingratecoupon.cpp | 6 +++++- - ql/cashflows/floatingratecoupon.hpp | 1 + - ql/cashflows/overnightindexedcoupon.cpp | 33 +++++++++++++++++++++++++++++---- - ql/cashflows/overnightindexedcoupon.hpp | 3 +++ - 5 files changed, 41 insertions(+), 5 deletions(-) - -commit 575c102a9501bfb29cab2186d7d97a24274e3574 -Merge: 8dacf6641 4b4e1096c +commit 1257aaa620caf39bb84d34a3ffb79ab2fc17cce0 Author: Luigi Ballabio -Date: Wed, 10 Nov 2021 17:52:26 +0100 - - Merge pull request #1236. - - Clean up convertible bonds and move then out of experimental folder +Date: Wed, 23 Feb 2022 16:39:35 +0100 -commit 4b4e1096c164dbe693d35624a0b3f8d11d39acf1 -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Wed, 10 Nov 2021 11:23:28 +0000 + Avoid code analysis warnings - Automated fixes by clang-tidy - - ql/instruments/bonds/convertiblebonds.cpp | 4 ++-- - ql/instruments/bonds/convertiblebonds.hpp | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) + test-suite/fdmlinearop.cpp | 4 ++-- + test-suite/hestonmodel.cpp | 7 ++++--- + test-suite/matrices.cpp | 6 +++--- + test-suite/normalclvmodel.cpp | 2 +- + test-suite/nthorderderivativeop.cpp | 4 ++-- + 5 files changed, 12 insertions(+), 11 deletions(-) -commit bbec5fe58335ea10739ab526462d172e5c3bb18a -Author: Luigi Ballabio -Date: Wed, 10 Nov 2021 09:07:42 +0100 - - Move convertible bonds out of experimental folder - - Examples/ConvertibleBonds/ConvertibleBonds.cpp | 4 +- - QuantLib.vcxproj | 19 ++++----- - QuantLib.vcxproj.filters | 44 +++++++++---------- - configure.ac | 1 - - ql/CMakeLists.txt | 13 +++--- - ql/experimental/Makefile.am | 3 +- - ql/experimental/all.hpp | 1 - - ql/experimental/convertiblebonds/Makefile.am | 49 ---------------------- - ql/experimental/convertiblebonds/all.hpp | 8 ---- - ql/instruments/bonds/Makefile.am | 2 + - ql/instruments/bonds/all.hpp | 1 + - .../bonds/convertiblebonds.cpp} | 2 +- - .../bonds/convertiblebonds.hpp} | 6 +-- - ql/methods/lattices/Makefile.am | 1 + - ql/methods/lattices/all.hpp | 1 + - .../lattices}/tflattice.hpp | 7 +++- - ql/pricingengines/bond/Makefile.am | 3 ++ - ql/pricingengines/bond/all.hpp | 2 + - .../bond}/binomialconvertibleengine.hpp | 6 +-- - .../bond}/discretizedconvertible.cpp | 2 +- - .../bond}/discretizedconvertible.hpp | 2 +- - test-suite/convertiblebonds.cpp | 4 +- - 22 files changed, 63 insertions(+), 118 deletions(-) - -commit 3e5fb1f36ffe034702949ad2b75ba539d5ed08cb -Author: Luigi Ballabio -Date: Tue, 9 Nov 2021 22:38:48 +0100 +commit 8121599479a1853b9653db522bf7e9b443de192f +Author: 3332620 +Date: Wed, 23 Feb 2022 17:42:26 +0900 - Restrict access to data members + edit for doxygen - ql/experimental/convertiblebonds/convertiblebond.hpp | 2 ++ - 1 file changed, 2 insertions(+) + ql/indexes/ibor/tona.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit 3baab90bac6d952ad5176c19a8d1d4b4318436bc -Author: Luigi Ballabio -Date: Tue, 9 Nov 2021 22:34:37 +0100 +commit e4d2580b7460867e78c279af1c128caf39209ab7 +Author: 3332620 +Date: Wed, 23 Feb 2022 17:17:33 +0900 - Avoid copy + edit copyright - ql/experimental/convertiblebonds/discretizedconvertible.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + ql/indexes/ibor/tona.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit 5a050153b2dffc660bc427ede2a74bffe143c50d -Author: Luigi Ballabio -Date: Tue, 9 Nov 2021 20:12:48 +0100 +commit 8e6a83bc8e91148fd90c780f0320e36e32fbe87e +Author: 3332620 +Date: Wed, 23 Feb 2022 16:26:14 +0900 - Store whole cashflows in convertible bond arguments + add TONA rate(Tokyo overnight average rate) - ql/experimental/convertiblebonds/convertiblebond.cpp | 14 ++------------ - ql/experimental/convertiblebonds/convertiblebond.hpp | 6 ++---- - .../convertiblebonds/discretizedconvertible.cpp | 16 ++++++++++------ - .../convertiblebonds/discretizedconvertible.hpp | 1 + - 4 files changed, 15 insertions(+), 22 deletions(-) + QuantLib.vcxproj | 1 + + QuantLib.vcxproj.filters | 3 +++ + ql/CMakeLists.txt | 1 + + ql/indexes/ibor/Makefile.am | 1 + + ql/indexes/ibor/all.hpp | 1 + + 5 files changed, 7 insertions(+) -commit 325292021e286de8375e01723eb1dccb4b461fa1 -Author: Luigi Ballabio -Date: Tue, 9 Nov 2021 18:54:11 +0100 +commit b580486add9d4cdb3505baf45da2c875d1213a30 +Author: 3332620 +Date: Wed, 23 Feb 2022 16:18:05 +0900 - Remove inner option class from convertible bonds + add TONA rate(Tokyo overnight average rate) - .../convertiblebonds/binomialconvertibleengine.hpp | 13 +-- - .../convertiblebonds/convertiblebond.cpp | 118 +++++++-------------- - .../convertiblebonds/convertiblebond.hpp | 47 ++------ - .../convertiblebonds/discretizedconvertible.cpp | 2 +- - .../convertiblebonds/discretizedconvertible.hpp | 4 +- - 5 files changed, 55 insertions(+), 129 deletions(-) + ql/indexes/ibor/tona.hpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) -commit 8dacf66415aa0ee7551ae655d31a37f37907cca8 -Merge: 903de0f30 7c3518abe +commit 2898ced1066d3ac27817e3983f27b774dbafda21 +Merge: ca543529a b690d7b82 Author: Luigi Ballabio -Date: Tue, 9 Nov 2021 17:17:08 +0100 +Date: Sat, 19 Feb 2022 22:39:01 +0100 - Merge pull request #1220. + Merge pull request #1301. - Move credit spread and dividends to Binomial Convertible Engine + Add interpolation method to `CPI` struct -commit 903de0f30186c8650a217448a51c23587750d7a6 -Merge: 1e7353227 0d8f96180 +commit b690d7b8284d18c52f4c732823acfb5c2d523147 Author: Luigi Ballabio -Date: Mon, 8 Nov 2021 11:57:05 +0100 +Date: Wed, 16 Feb 2022 22:56:44 +0100 - Merge pull request #1226. - - Remove dependency on Boost Test when not needed + Deprecate extra method -commit 32bcf6f9b2ec2b8b71550259f6aa0eaf220cf8a9 -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Sun, 7 Nov 2021 18:37:43 +0000 + ql/cashflows/cpicoupon.hpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) - Automated fixes by clang-tidy - - ql/termstructures/inflation/interpolatedzeroinflationcurve.hpp | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 970f8a0a3f3e4e683145aa67a5fa080fd8104096 +commit 0023ff5001c2455943ca316e186f1a0414a0b042 Author: Luigi Ballabio -Date: Sun, 7 Nov 2021 14:11:39 +0100 - - Deprecate indexIsInterpolated in base and zero curve constructors - - .../inflation/cpicapfloortermpricesurface.cpp | 4 + - .../inflation/yoycapfloortermpricesurface.cpp | 4 + - .../inflation/interpolatedzeroinflationcurve.hpp | 60 ++++++++++++++- - .../inflation/piecewisezeroinflationcurve.hpp | 26 +++++++ - ql/termstructures/inflationtermstructure.cpp | 90 ++++++++++++++++++++-- - ql/termstructures/inflationtermstructure.hpp | 89 ++++++++++++++++++--- - test-suite/inflation.cpp | 6 +- - test-suite/inflationcpibond.cpp | 3 +- - test-suite/inflationcpicapfloor.cpp | 3 +- - test-suite/inflationcpiswap.cpp | 3 +- - test-suite/inflationzciisinterpolation.cpp | 2 +- - 11 files changed, 262 insertions(+), 28 deletions(-) - -commit 0d8f9618045fc077c9dce7d54738c7e9a1ba98b7 -Author: Jonathan Sweemer -Date: Sun, 7 Nov 2021 09:18:29 +0900 +Date: Wed, 16 Feb 2022 22:23:31 +0100 - Remove dependency on Boost Test when not needed + Use single method taking interpolation type - .gitignore | 2 +- - CMakeLists.txt | 51 ++++++++++++++++++++++++++++++++------------------- - 2 files changed, 33 insertions(+), 20 deletions(-) + ql/cashflows/zeroinflationcashflow.cpp | 9 ++--- + ql/indexes/inflationindex.cpp | 61 +++++++++++++++++++--------------- + ql/indexes/inflationindex.hpp | 36 ++++++++------------ + test-suite/inflation.cpp | 17 +++++----- + 4 files changed, 58 insertions(+), 65 deletions(-) -commit ac4b5ca781eddb26e95a07b9602cf3ebaf07f161 +commit 18695209ddb639c7aaf572ec0a83297d409d5643 Author: Luigi Ballabio -Date: Sat, 6 Nov 2021 22:55:15 +0100 +Date: Wed, 16 Feb 2022 18:21:20 +0100 - Deprecate indexIsInterpolated for base and zero inflation curves + Reuse CPI code in zero-inflation cashflow - .../inflation/cpicapfloortermpricesurface.hpp | 10 ++++-- - .../inflation/yoycapfloortermpricesurface.hpp | 13 ++++--- - ql/termstructures/inflationtermstructure.cpp | 14 ++++---- - ql/termstructures/inflationtermstructure.hpp | 40 ++++++++++++++++++---- - 4 files changed, 56 insertions(+), 21 deletions(-) + ql/cashflows/zeroinflationcashflow.cpp | 24 ++++-------------------- + 1 file changed, 4 insertions(+), 20 deletions(-) -commit 4fa60ca287147a8d551fbdb88b38255e91f5f85c +commit 8bad5b042c8238eadc4cd342897dd290c4eb6284 Author: Luigi Ballabio -Date: Sat, 6 Nov 2021 21:43:40 +0100 +Date: Wed, 16 Feb 2022 17:25:34 +0100 - Snap rate calculation to start of inflation periods + Add interpolation methods to CPI struct - ql/termstructures/inflation/inflationtraits.hpp | 7 +------ - .../inflation/interpolatedzeroinflationcurve.hpp | 20 +++++--------------- - test-suite/inflation.cpp | 11 +---------- - 3 files changed, 7 insertions(+), 31 deletions(-) + ql/indexes/inflationindex.cpp | 31 +++++++++++++++ + ql/indexes/inflationindex.hpp | 28 ++++++++++++++ + test-suite/inflation.cpp | 89 +++++++++++++++++++++++++++++++++++++++++++ + test-suite/inflation.hpp | 2 + + 4 files changed, 150 insertions(+) -commit 1e73532276f184b4ccdef4f4b973bf4aa181c594 -Merge: 57beb0b72 fa99bb99e +commit ca543529a605bb8ffbab004a374451990bac8de5 Author: Luigi Ballabio -Date: Sat, 6 Nov 2021 19:44:36 +0100 +Date: Mon, 14 Feb 2022 15:17:34 +0100 - Merge pull request #1229. - - Avoid syntax deprecated in C++20 + Run cmake CI builds on VC++ 2022 -commit fa99bb99e42967d261a8f08adc18d6be542a88e7 -Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Date: Sat, 6 Nov 2021 13:32:54 +0000 - - Automated fixes by clang-tidy + .github/workflows/cmake.yml | 16 ++++++++-------- + CMakePresets.json | 6 +++--- + 2 files changed, 11 insertions(+), 11 deletions(-) - ql/cashflows/conundrumpricer.cpp | 2 +- - ql/pricingengines/blackformula.cpp | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 89ead9e724a8ec2f71fdb7e2067bfd94cec88ee4 +commit e53c82ac981a81b26bfbdda1e6ad3ebc4db9b225 Author: Luigi Ballabio -Date: Sat, 6 Nov 2021 11:18:15 +0100 - - Avoid syntax deprecated in C++20 - - ql/cashflows/cashflows.cpp | 2 +- - ql/cashflows/conundrumpricer.cpp | 17 +++--- - ql/experimental/credit/blackcdsoptionengine.cpp | 2 +- - .../swaptions/haganirregularswaptionengine.cpp | 3 +- - ql/math/interpolations/multicubicspline.hpp | 58 +++++++++--------- - ql/pricingengines/blackformula.cpp | 71 +++++++++++++--------- - .../capfloor/bacheliercapfloorengine.cpp | 2 +- - ql/pricingengines/capfloor/blackcapfloorengine.cpp | 2 +- - .../volatility/swaption/swaptionvolcube1.hpp | 4 +- - test-suite/amortizingbond.cpp | 2 +- - test-suite/zerocouponswap.cpp | 2 +- - 11 files changed, 90 insertions(+), 75 deletions(-) - -commit e95b2a578787358c176e90ad8c539216319f2758 -Author: Jonathan Sweemer -Date: Sat, 6 Nov 2021 14:51:39 +0900 +Date: Mon, 14 Feb 2022 16:29:40 +0100 - Remove dependency on Boost Test when not needed + Avoid false positives in timing tests - CMakeLists.txt | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) + test-suite/asianoptions.cpp | 3 +++ + test-suite/basketoption.cpp | 6 ++---- + test-suite/forwardoption.cpp | 7 +++++-- + 3 files changed, 10 insertions(+), 6 deletions(-) -commit 7176bae6a44d7faf10217307ef209de6a471862c +commit 9e3095548c18a452f783a110024e9dd4a5b22b06 +Merge: f6f4f6c0d 5c18cac9b Author: Luigi Ballabio -Date: Fri, 5 Nov 2021 17:48:47 +0100 +Date: Mon, 14 Feb 2022 15:03:21 +0100 - Snap seasonality correction for zero rates to first of month - - ql/termstructures/inflation/seasonality.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + Merge pull request #1300. + + Fix new warnings from MSVC Analysis tool -commit 0d9312cf65e18609bbef54d8d66785fa348c2833 +commit f6f4f6c0db04064ce361848606d4b991bc5b332d +Merge: 3bc68c69e a572ed710 Author: Luigi Ballabio -Date: Fri, 5 Nov 2021 16:46:19 +0100 +Date: Mon, 14 Feb 2022 13:16:44 +0100 - Uniform naming convention for past and forecast code - - ql/indexes/inflationindex.cpp | 54 +++++++++++++++++++++---------------------- - 1 file changed, 26 insertions(+), 28 deletions(-) + Merge pull request #1297. + + allow to include QuantLib as cmake subproject -commit 978f52b524a8c7cdfa0a7435c70800a8c6af4036 +commit 5c18cac9bee9983de19e87713d9710dc29d19041 Author: Luigi Ballabio -Date: Fri, 5 Nov 2021 16:45:56 +0100 +Date: Sat, 12 Feb 2022 19:31:05 +0100 - Don't rely on inflation curve for interpolation + Avoid new warnings - ql/indexes/inflationindex.cpp | 41 +++++++----- - ql/termstructures/inflation/seasonality.cpp | 3 +- - ql/termstructures/inflationtermstructure.cpp | 14 ++--- - test-suite/inflation.cpp | 93 ++++++++++++++-------------- - 4 files changed, 76 insertions(+), 75 deletions(-) + ql/instruments/asianoption.cpp | 2 +- + .../capfloor/gaussian1dcapfloorengine.cpp | 16 +++++----- + .../gaussian1dfloatfloatswaptionengine.cpp | 34 ++++++++++------------ + .../gaussian1dnonstandardswaptionengine.cpp | 24 +++++++-------- + .../swaption/gaussian1dswaptionengine.cpp | 24 +++++++-------- + 5 files changed, 44 insertions(+), 56 deletions(-) -commit 57beb0b722480789975d7b4ca197a533a37cb693 -Merge: 6c6eddef0 93e87d545 +commit 1a37ea15170037e19a8955a488d7d58b315a9157 Author: Luigi Ballabio -Date: Thu, 4 Nov 2021 19:16:33 +0100 +Date: Fri, 11 Feb 2022 18:38:58 +0100 - Merge pull request #1224. - - Fix payoff of Himalaya option + Update MSVC analyser to 2022 in CI build + + .github/workflows/msvc-analysis.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit fdb00df3d542d2360e2fbc6512f12b0e664ad56e +commit 3bc68c69eb76efd5b37a281886446b2638aed36e Author: Luigi Ballabio -Date: Thu, 4 Nov 2021 18:28:16 +0100 +Date: Fri, 11 Feb 2022 14:31:32 +0100 - Change return type to Real. - - It doesn't actually change (both map to double) but it's more - clear since we're returning inflation fixings. + Add CONTRIBUTING.md - ql/indexes/inflationindex.cpp | 4 ++-- - ql/indexes/inflationindex.hpp | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) + CONTRIBUTING.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ + README.md | 23 ++--------------------- + 2 files changed, 47 insertions(+), 21 deletions(-) -commit 93e87d545578a950c184303860cb2a59df8a62ff +commit ace3de4b7bfd6ee3cb0b5e2f97c53bdec50c2667 +Merge: c7a000ef4 a9b342d41 Author: Luigi Ballabio -Date: Thu, 4 Nov 2021 10:19:05 +0100 +Date: Fri, 11 Feb 2022 10:18:06 +0100 - Fix payoff of Himalaya option + Merge pull request #1298. + + allow to build with -Wsuggest-override (clang, gcc) - ql/experimental/exoticoptions/mchimalayaengine.cpp | 1 + - test-suite/himalayaoption.cpp | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) +commit a9b342d41b52111819653610e52af51e9d4903c2 +Author: Peter Caspers +Date: Thu, 10 Feb 2022 19:40:05 +0100 -commit 6c6eddef09bf7a5df3048ff815cb2aa68f047bc0 -Merge: 6f1f71cdb edeeb3fe4 -Author: Luigi Ballabio -Date: Thu, 4 Nov 2021 09:44:00 +0100 + superflous endif - Merge pull request #1223. - - Add `QL_CONSTEXPR` macro and avoid some MSVC warnings + ql/money.cpp | 1 - + 1 file changed, 1 deletion(-) -commit edeeb3fe4cdfa829f921dfb9f546e32388b9696c -Author: Luigi Ballabio -Date: Wed, 3 Nov 2021 14:07:57 +0100 - - Define constexpr away when compiling on VC++ 2013 - - .../exoticoptions/analyticholderextensibleoptionengine.cpp | 2 +- - ql/math/matrixutilities/svd.cpp | 2 +- - ql/pricingengines/asian/mc_discr_geom_av_price.cpp | 2 +- - ql/pricingengines/asian/mc_discr_geom_av_price_heston.cpp | 2 +- - ql/qldefines.hpp | 2 ++ - ql/qldefines.hpp.cfg | 2 ++ - ql/termstructures/volatility/equityfx/hestonblackvolsurface.cpp | 2 +- - test-suite/array.cpp | 4 ++-- - test-suite/cmsspread.cpp | 4 ++-- - test-suite/interpolations.cpp | 2 +- - test-suite/numericaldifferentiation.cpp | 2 +- - test-suite/ode.cpp | 4 ++-- - 12 files changed, 17 insertions(+), 13 deletions(-) - -commit 8eaaa1dfebbe89813c09d4c7734ce7426a18185f -Author: Luigi Ballabio -Date: Wed, 3 Nov 2021 12:55:19 +0100 - - Add some constexpr keywords to avoid MSVC warnings - - .../exoticoptions/analyticholderextensibleoptionengine.cpp | 2 +- - ql/math/matrixutilities/svd.cpp | 2 +- - ql/pricingengines/asian/mc_discr_geom_av_price.cpp | 2 +- - ql/pricingengines/asian/mc_discr_geom_av_price_heston.cpp | 2 +- - ql/termstructures/volatility/equityfx/hestonblackvolsurface.cpp | 2 +- - test-suite/array.cpp | 4 ++-- - test-suite/cmsspread.cpp | 4 ++-- - test-suite/interpolations.cpp | 2 +- - test-suite/numericaldifferentiation.cpp | 2 +- - test-suite/ode.cpp | 4 ++-- - 10 files changed, 13 insertions(+), 13 deletions(-) - -commit 6f1f71cdb7bb0279876e3bd57bacba3f7b86e0c2 -Author: Luigi Ballabio -Date: Tue, 2 Nov 2021 12:17:16 +0100 +commit bdb383660009efd93c5e91f23299aa096f581ef7 +Author: Peter Caspers +Date: Thu, 10 Feb 2022 19:35:09 +0100 - Add workflow for MSVC analysis + for boost format we do not need to disable inconsistent override - .github/workflows/msvc-analysis.yml | 50 +++++++++++++++++++++++++++++++++++++ - .msvc-analysis.ruleset | 9 +++++++ - 2 files changed, 59 insertions(+) + ql/money.cpp | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) -commit 7c3518abe276d963ae8029ccaeebdd05f8fbcebf -Author: lewwe -Date: Tue, 2 Nov 2021 14:21:55 +0800 +commit ed80c3fb865a8e3701a34b1d0b6397d41b87d3e1 +Author: Peter Caspers +Date: Thu, 10 Feb 2022 19:30:25 +0100 - Remove fields from engine arguments + gcc does not have -Winconsistent-missing-override! - .../convertiblebonds/binomialconvertibleengine.hpp | 13 +-------- - .../convertiblebonds/convertiblebond.hpp | 3 --- - .../convertiblebonds/discretizedconvertible.cpp | 31 ++++++++++++++-------- - .../convertiblebonds/discretizedconvertible.hpp | 5 ++++ - 4 files changed, 26 insertions(+), 26 deletions(-) + ql/money.cpp | 1 - + ql/termstructures/credit/piecewisedefaultcurve.hpp | 1 - + 2 files changed, 2 deletions(-) -commit 23f5928e83a24237c61fea39400e97c8c4039242 -Author: lewwe -Date: Sat, 30 Oct 2021 16:57:49 +0800 +commit 215d0fc9c2dcfc9f459d5588b5550bacdbb96bb4 +Author: Peter Caspers +Date: Thu, 10 Feb 2022 18:08:50 +0100 - Fix Build + distinguish apple and non-apple clang versions - ql/experimental/convertiblebonds/binomialconvertibleengine.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + ql/money.cpp | 2 +- + ql/termstructures/credit/piecewisedefaultcurve.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -commit e1aee00c361dd8ed52a528a0f7a3a8af66b04cd0 -Author: lewwe -Date: Sat, 30 Oct 2021 16:07:41 +0800 +commit 81c2d2365e4edc0d59786ee8f18facf5e0056810 +Author: Peter Caspers +Date: Thu, 10 Feb 2022 17:34:06 +0100 - Fix ordering + again restrict to newer versions - ql/experimental/convertiblebonds/binomialconvertibleengine.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + ql/money.cpp | 8 +++----- + ql/termstructures/credit/piecewisedefaultcurve.hpp | 8 +++----- + 2 files changed, 6 insertions(+), 10 deletions(-) -commit 193d2ffaadc85b4603395905ffc46619c14b245e -Author: lewwe -Date: Sat, 30 Oct 2021 15:48:32 +0800 +commit 4e0ba9b03e0d0d612fc8ee317191ea3d98733b6e +Author: Peter Caspers +Date: Thu, 10 Feb 2022 15:50:20 +0100 - Fix Build + refined version control - Examples/ConvertibleBonds/ConvertibleBonds.cpp | 52 ++++++++++---------------- - 1 file changed, 19 insertions(+), 33 deletions(-) + ql/money.cpp | 12 ++++++++++-- + ql/termstructures/credit/piecewisedefaultcurve.hpp | 8 ++++++-- + 2 files changed, 16 insertions(+), 4 deletions(-) -commit 582591dee5f6f13907ee7be7b72ce38c719ef22b -Author: lewwe -Date: Sat, 30 Oct 2021 15:20:30 +0800 +commit e327f434975d071798a47fd94ecabe7fe6d6e058 +Author: Peter Caspers +Date: Thu, 10 Feb 2022 15:38:12 +0100 - Revert vcxproj file + add minimum gcc version - test-suite/testsuite.vcxproj | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) + ql/money.cpp | 4 ++-- + ql/termstructures/credit/piecewisedefaultcurve.hpp | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) -commit f929a89a538279063d7bd2decf4f0b525bee7b66 -Author: lewwe -Date: Sat, 30 Oct 2021 15:13:35 +0800 +commit 1c2b20e170c53c2bbbfc5032f385d16c1ee3765d +Author: Peter Caspers +Date: Thu, 10 Feb 2022 15:25:50 +0100 - Move creditSpread and dividends into BinomalConvertibleEngine + allow to build with -Wsuggest-override (clang, gcc) - .../convertiblebonds/binomialconvertibleengine.hpp | 80 ++++---- - .../convertiblebonds/convertiblebond.cpp | 209 +++++++++------------ - .../convertiblebonds/convertiblebond.hpp | 67 +++---- - test-suite/convertiblebonds.cpp | 42 ++--- - test-suite/testsuite.vcxproj | 6 +- - 5 files changed, 183 insertions(+), 221 deletions(-) + ql/money.cpp | 15 +++++++++++++++ + ql/termstructures/credit/piecewisedefaultcurve.hpp | 9 +++++++++ + 2 files changed, 24 insertions(+) -commit 63b13920e564216df905c6c8cc38dcabbacf0f05 -Merge: 519cc2a24 632692f5f +commit c7a000ef41fe114458f6d557190ec6a1ff64e821 +Merge: d293d294d eaec95a71 Author: Luigi Ballabio -Date: Fri, 29 Oct 2021 11:22:51 +0200 +Date: Wed, 9 Feb 2022 15:55:09 +0100 - Merge pull request #1209. + Merge pull request #1296. - Add CMake Presets + Replace boost::array with std::array -commit 632692f5f4321c513d59fa4b5717fa6c80f76e47 -Author: Luigi Ballabio -Date: Fri, 29 Oct 2021 09:31:17 +0200 +commit eaec95a71c427696af04772aac5d1e3defa16472 +Author: Jonathan Sweemer +Date: Sat, 5 Feb 2022 13:50:53 +0900 - Renamed CI presets for clarity + Replace boost::array with std::array - .github/workflows/cmake.yml | 8 ++++---- - CMakePresets.json | 48 ++++++++++++++++++++++----------------------- - 2 files changed, 28 insertions(+), 28 deletions(-) + ql/experimental/volatility/sabrvolsurface.cpp | 6 +++--- + ql/experimental/volatility/sabrvolsurface.hpp | 8 ++++---- + 2 files changed, 7 insertions(+), 7 deletions(-) -commit 068f64495ca7595dd4e73287db862852ec1f9a27 -Author: lewwe -Date: Mon, 25 Oct 2021 13:54:32 +0800 +commit d293d294d4776fa45543ebe92a7b4d88124fd0c9 +Author: Luigi Ballabio +Date: Tue, 8 Feb 2022 15:52:27 +0100 - Remove std::move + Fix Windows version for CI builds during migration period - ql/instruments/forwardrateagreement.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + .github/workflows/cmake.yml | 4 ++-- + .github/workflows/msvc-analysis.yml | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) -commit 9e60653b59bb75de978706cfe8a3a3e8223e5ad7 -Author: lewwe -Date: Mon, 25 Oct 2021 13:42:54 +0800 +commit a572ed71098b450c10846b4f6b08bd5d262e63e2 +Author: Peter Caspers +Date: Tue, 8 Feb 2022 12:23:13 +0100 - Fix ordering + more specific label for ql test suite - ql/instruments/forwardrateagreement.cpp | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + test-suite/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit cb63ff8f4a60eda6553503772af574f16485a002 -Author: lewwe -Date: Mon, 25 Oct 2021 13:33:19 +0800 +commit 7b788630842397947b93ab48745ee5cf7a2a891c +Author: Peter Caspers +Date: Tue, 8 Feb 2022 12:23:01 +0100 - Remove Forward inheritance by ForwardRateAgreement + allow for cmake subproject - ql/instruments/forwardrateagreement.cpp | 41 ++++++++++++++++--- - ql/instruments/forwardrateagreement.hpp | 70 ++++++++++++++++++++++++++++++--- - 2 files changed, 99 insertions(+), 12 deletions(-) + ql/CMakeLists.txt | 258 +++++++++++++++++++++++----------------------- + test-suite/CMakeLists.txt | 4 +- + 2 files changed, 131 insertions(+), 131 deletions(-) -commit 519cc2a245bb77f31715eac4487bde556922fa73 -Merge: eefe04f17 14e970f24 +commit e988247d221cb69b78f1b3d1b5cbbde650508b65 +Merge: 91cb39e73 9931f76d8 Author: Luigi Ballabio -Date: Tue, 19 Oct 2021 13:42:42 +0200 +Date: Wed, 2 Feb 2022 16:30:38 +0100 - Merge pull request #1211. + Merge pull request #1287. - fixed empty dividend schedule + Replace boost::unordered_{map,set} with std::unordered_{map,set} -commit eefe04f170009947b2f1936f7c8a228783525fbf +commit 9931f76d8786b55c60121e09a280a553cfe189b1 Author: Luigi Ballabio -Date: Thu, 15 Apr 2021 16:25:45 +0200 +Date: Wed, 2 Feb 2022 13:36:23 +0100 - Set version to 1.25-dev. + Document deprecation in generated docs - CMakeLists.txt | 6 +++--- - configure.ac | 2 +- - ql/version.hpp | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 14e970f24aaa160d6e428b3439c9265cc280f49b -Author: klausspanderen -Date: Sat, 16 Oct 2021 15:21:00 +0200 - - fixed empty dividend schedule - - ql/pricingengines/vanilla/fdcirvanillaengine.cpp | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) + ql/patterns/observable.hpp | 113 ++++++++++++++++++++++++++------------------- + 1 file changed, 66 insertions(+), 47 deletions(-) -commit 374a5a01ace68c491e8f29d3fd83dd559001aa57 -Author: Jonathan Sweemer -Date: Thu, 14 Oct 2021 21:15:24 +0900 +commit 91cb39e73ff14b9285aa9991818b618740def4dd +Merge: 09f386ca4 ff31c2244 +Author: Luigi Ballabio +Date: Wed, 2 Feb 2022 12:13:43 +0100 - Add CMake Presets + Merge pull request #1295. + + Add check on endDate - .github/workflows/cmake.yml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) +commit ff31c2244f04b5c611f6d45fa87732ad3cdbe8a9 +Author: lily +Date: Sat, 29 Jan 2022 23:46:14 -0800 -commit b223e0ebe858e7bcc3b5d08c5ed42040f09c8515 -Author: Jonathan Sweemer -Date: Thu, 14 Oct 2021 21:10:24 +0900 + Add check on endDate - Add CMake Presets - - CMakePresets.json | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + ql/experimental/credit/basket.cpp | 2 ++ + 1 file changed, 2 insertions(+) -commit 4d892bd48dd116817ff59ca0193dbdcc293fb3c9 +commit c99d338f53e4fa770a1b42273270981f8d60c9ce Author: Jonathan Sweemer -Date: Thu, 14 Oct 2021 21:08:46 +0900 +Date: Sat, 8 Jan 2022 13:55:57 +0900 - Add CMake Presets + Replace boost::unordered_{map,set} with std::unordered_{map,set} - .github/workflows/cmake.yml | 16 +++++++++------ - CMakePresets.json | 50 +++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 60 insertions(+), 6 deletions(-) - -commit c0155a0cdaae2e83ce273d8440d7e846882930ca -Author: Jonathan Sweemer -Date: Thu, 14 Oct 2021 20:58:28 +0900 + cmake/Platform.cmake | 5 +- + .../finitedifferences/fdmhestonfwdop.cpp | 1 - + .../shortrate/onefactormodels/gaussian1dmodel.hpp | 10 ++- + ql/patterns/observable.hpp | 80 ++++++++++++---------- + ql/time/date.hpp | 13 +++- + test-suite/dates.cpp | 7 +- + 6 files changed, 65 insertions(+), 51 deletions(-) - Add CMake Presets +commit 09f386ca4258e908a42eab8f6ac97ae126d999a0 +Merge: c29cadb61 9d4c656c5 +Author: Luigi Ballabio +Date: Fri, 28 Jan 2022 09:51:37 +0100 - CMakePresets.json | 191 +++++++++++------------------------------------------- - 1 file changed, 37 insertions(+), 154 deletions(-) + Merge pull request #1294. + + Don't modify dates explicitly passed to zero inflation curve -commit 0a3c4fb381552b04758f83d56b30ed27eaf89528 -Author: Jonathan Sweemer -Date: Mon, 11 Oct 2021 21:49:21 +0900 +commit 9d4c656c5ca470486291e2178351d8615cbed126 +Author: Luigi Ballabio +Date: Thu, 27 Jan 2022 11:38:35 +0100 - Add CMake Presets + Don't modify dates explicitly passed to zero inflation curve - CMakePresets.json | 25 ++++++++++--------------- - 1 file changed, 10 insertions(+), 15 deletions(-) + .../inflation/interpolatedzeroinflationcurve.hpp | 7 ---- + test-suite/inflation.cpp | 37 ++++++++++++++++++++++ + test-suite/inflation.hpp | 1 + + 3 files changed, 38 insertions(+), 7 deletions(-) -commit 1fae38ba5f2cfc899c321e026216e603ac031a0b -Author: Jonathan Sweemer -Date: Mon, 11 Oct 2021 18:39:25 +0900 - - Add CMake Presets +commit c29cadb61320d124d4542cd70e1242c52d559787 +Merge: f733f138f 91962f2b4 +Author: Luigi Ballabio +Date: Sat, 22 Jan 2022 09:13:08 +0100 - CMakePresets.json | 17 ++++++++++++++--- - 1 file changed, 14 insertions(+), 3 deletions(-) + Merge pull request #1293. + + Set QL_BOOST_COMPONENTS to empty string by default -commit de6d3b00b84acf6f69e1607b51a9c65f7fc06601 +commit 91962f2b4ea4339b93bd60640b7d7ba6d3cb2c72 Author: Jonathan Sweemer -Date: Mon, 11 Oct 2021 18:17:10 +0900 +Date: Thu, 20 Jan 2022 21:45:00 +0900 - Add CMake Presets + Set QL_BOOST_COMPONENTS to empty string by default - CMakePresets.json | 24 +++++++++++++++++------- - 1 file changed, 17 insertions(+), 7 deletions(-) - -commit e2bfec59c2dc9fc52c40a95268d8a5f9f488a8d2 -Author: Jonathan Sweemer -Date: Mon, 11 Oct 2021 18:01:03 +0900 + CMakeLists.txt | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) - Add CMake Presets +commit f733f138f306a1b63c50e285482a7975634e0c1a +Merge: ea212530a cd10d810e +Author: Luigi Ballabio +Date: Thu, 20 Jan 2022 14:45:10 +0100 - .github/workflows/cmake.yml | 24 ++--- - .gitignore | 1 + - CMakePresets.json | 215 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 224 insertions(+), 16 deletions(-) + Merge pull request #1292. + + Ensure that FRAs work without an explicit discount curve -commit be922121e18afb695f10ec02089bcd84030c668b -Author: mmencke <57640398+mmencke@users.noreply.github.com> -Date: Wed, 28 Jul 2021 17:32:14 +0200 +commit cd10d810e597fc9c72c467aab58b8ceca9fcf21b +Author: Luigi Ballabio +Date: Thu, 20 Jan 2022 09:21:39 +0100 - Update extendedcoxingersollross.cpp - - Fixed typo in discountBondOption formula: Missing term in the expression. + Ensure that FRAs work without an explicit discount curve - ql/models/shortrate/onefactormodels/extendedcoxingersollross.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) + Examples/FRA/FRA.cpp | 13 ++----------- + ql/instruments/forwardrateagreement.cpp | 13 +++++++++++-- + 2 files changed, 13 insertions(+), 13 deletions(-) -commit 846938afc75f13d7b312366ac9b0f983c1a406ff -Merge: a10f94a52 5e968f450 -Author: Cheng Li -Date: Sun, 27 Dec 2020 16:24:11 +0800 +commit ea212530a9fd8595fab99a19c894812da2865a05 +Merge: 74b330165 9d01dcb36 +Author: Luigi Ballabio +Date: Wed, 19 Jan 2022 13:23:06 +0100 - Merge pull request #12 from lballabio/master + Merge pull request #1290. - merge from upstream + Remove deprecated `MCDiscreteAveragingAsianEngine` class -commit b16e4bde6060e7f7709ffa2294379fbf2195f825 -Author: Ole <72198625+OleBueker@users.noreply.github.com> -Date: Mon, 9 Nov 2020 17:47:48 +0100 +commit 9d01dcb368f85d5341e16e27d18763e35c5c7e4e +Author: Luigi Ballabio +Date: Tue, 18 Jan 2022 11:40:47 +0100 - Update callablebond.cpp + Remove deprecated MCDiscreteAveragingAsianEngine class - ql/experimental/callablebonds/callablebond.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + QuantLib.vcxproj | 1 - + QuantLib.vcxproj.filters | 3 - + ql/CMakeLists.txt | 1 - + ql/pricingengines/asian/Makefile.am | 1 - + ql/pricingengines/asian/all.hpp | 1 - + ql/pricingengines/asian/mcdiscreteasianengine.hpp | 72 ---------------------- + .../asian/mcdiscreteasianenginebase.hpp | 2 +- + 7 files changed, 1 insertion(+), 80 deletions(-) -commit 826d6c099e781808e63d84b3ddac3cbc2c3791f4 -Author: Ole <72198625+OleBueker@users.noreply.github.com> -Date: Mon, 9 Nov 2020 15:58:49 +0100 +commit 74b330165cbe5fe90eafcb63d39677057ee955cb +Author: Luigi Ballabio +Date: Thu, 15 Apr 2021 16:25:45 +0200 - Update callablebond.cpp + Set version to 1.26-dev. - ql/experimental/callablebonds/callablebond.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + CMakeLists.txt | 6 +++--- + configure.ac | 2 +- + ql/version.hpp | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Contributors.txt b/Contributors.txt index 66c71964eaf..37202f06263 100644 --- a/Contributors.txt +++ b/Contributors.txt @@ -143,6 +143,7 @@ Alix Lassauzet, Fabien Le Floc'h, Fabrice Lecuyer, James Lee, +Jonghee Lee, Jacob Lee-Howes, Samuel Lerouge, Bernd Lewerenz, @@ -268,6 +269,7 @@ Sun Xiuxin, Frank Xue, Jeff Yu, Maddalena Zanzi, +Li Zhong, Francesco Zirilli, and Roy Zywina. diff --git a/Docs/pages/history.docs b/Docs/pages/history.docs index d425a9dd48e..f5760f113c8 100644 --- a/Docs/pages/history.docs +++ b/Docs/pages/history.docs @@ -17,7 +17,81 @@ /*! \page history Version history - Release 1.25 - January 2022 + Release 1.26 - April 2022 + + PORTABILITY + - End of support: as announced in the notes for the previous + release, this release is the last to support Visual Studio 2013. + - End of support: this release is the last to support the + long-deprecated configure switches `--enable-disposable` and + `--enable-std-unique-ptr`. From the next release, `Disposable` will + always be disabled (and eventually removed) and `std::unique_ptr` + will always be used instead of `std::auto_ptr`. This has already + been the default in the last few releases. + - Future end of support: this release and the next will be the + last to avoid C++14 syntax. This should still support most + compilers released in the past several years (except for Visual + Studio 2013, which we're already dropping in this release). + - If tagged libraries are specified, as is the default on Windows, + CMake now gives the built libraries the same names as the Visual + Studio solution (for instance, `QuantLib-x64-mt-s` instead of + `QuantLib-mt-s-x64`) so that the pragma in `ql/auto_link.hpp` works. + - QuantLib can now also be built as a subproject in a larger CMake + build (thanks to Peter Caspers). + + DATE/TIME + - When printed, `Period` instances now display transparently what + their units and length are, instead of doing more fancy formatting + (e.g., "16 months" is now displayed instead of "1 year 4 months"). + Also, `Period` instances that compare as equal now return the same + period from their `normalize` method. + + INDEXES + - Added Tona (Tokyo overnight average) index (thanks to Jonghee Lee). + - Added static `laggedFixing` method to `CPI` structure which provides + interpolation of inflation index fixings. + + CASH FLOWS + - The `CPICoupon` and `CPICashFlow` classes now take into account the + correct dates and observation lag for interpolation. + + INSTRUMENTS + - Added a `BondForward` class that generalizes the existing + `FixedRateBondForward` to any kind of bond (thanks to Marcin + Rybacki). + - Avoided unexpected jumps in callable bond OAS (thanks to Ralf Konrad). + - Fixed `TreeSwaptionEngine` mispricing when adjusting the instrument + schedule to a near exercise date (thanks to Ralf Konrad). + - the `ForwardRateAgreement` class now works correctly without an + explicit discount curve. + + TERM STRUCTURES + - Dates explixitly passed to `InterpolatedZeroInflationCurve` are no + longer adjusted automatically to the beginning of their inflation period. + + DEPRECATED FEATURES + - Removed the `MCDiscreteAveragingAsianEngine` class, + deprecated in version 1.21. + - Deprecated the `LsmBasisSystem::PolynomType` typedef, now renamed to + `PolynomialType`; `MakeMCAmericanEngine::withPolynomOrder` was also + deprecated and renamed to `withPolynomialOrder`. + - Deprecated the `ZeroInflationCashFlow` constructor taking an unused + calendar and business-day convention. + - Deprecated the `CPICoupon` constructor taking a number of fixing + days, as well as the `CPICoupon::indexObservation`, + `CPICoupon::adjustedFixing` and `CPICoupon::indexFixing` methods + and the `CPILeg::withFixingDays` method. + - Deprecated the `CPICashFlow` constructor taking a precalculated fixing date and a frequency. + - Deprecated the `Observer::set_type` and `Observable::set_type` typedefs. + - Deprecated the unused `Curve` class. + - Deprecated the unused `LexicographicalView` class. + - Deprecated the unused `Composite` class. + - Deprecated the unused `DriftTermStructure` class. + + Thanks go also to Matthias Groncki, Jonathan Sweemer and Li Zhong + for smaller fixes, enhancements and bug reports. + + Release 1.25 - January 18th, 2022 PORTABILITY - End of support: this release and the next will be the last diff --git a/News.md b/News.md index af2b0732c8a..bc9621a1997 100644 --- a/News.md +++ b/News.md @@ -1,110 +1,112 @@ -Changes for QuantLib 1.25: +Changes for QuantLib 1.26: ========================== -QuantLib 1.25 includes 35 pull requests from several contributors. +QuantLib 1.26 includes 26 pull requests from several contributors. Some of the most notable changes are included below. A detailed list of changes is available in ChangeLog.txt and at -. +. Portability ----------- -- **End of support:** this release and the next will be the last two - to support Visual Studio 2013. +- **End of support:** as announced in the notes for the previous + release, this release is the last to support Visual Studio 2013. -- Added a few CMake presets for building the library (thanks to Jonathan Sweemer). +- **End of support:** this release is the last to support the + long-deprecated configure switches `--enable-disposable` and + `--enable-std-unique-ptr`. From the next release, `Disposable` will + always be disabled (and eventually removed) and `std::unique_ptr` + will always be used instead of `std::auto_ptr`. This has already + been the default in the last few releases. -- When built and installed through CMake, the library now installs a `QuantLibConfig.cmake` file - that allows other CMake projects to find and use QuantLib (thanks to Jonathan Sweemer). +- **Future end of support:** this release and the next will be the + last to avoid C++14 syntax. This should still support most + compilers released in the past several years (except for Visual + Studio 2013, which we're already dropping in this release). -Cashflows ---------- +- If tagged libraries are specified, as is the default on Windows, + CMake now gives the built libraries the same names as the Visual + Studio solution (for instance, `QuantLib-x64-mt-s` instead of + `QuantLib-mt-s-x64`) so that the pragma in `ql/auto_link.hpp` works. -- Fixed the accrual calculation in overnight-indexed coupons (thanks to Mohammad Shojatalab). +- QuantLib can now also be built as a subproject in a larger CMake + build (thanks to Peter Caspers). -- Fixed fixing-days usage in `SubPeriodsCoupon` class (thanks to Marcin Rybacki). +Date/time +--------- -- IBOR coupons fixed in the past no longer need a forecast curve to return their amount. +- When printed, `Period` instances now display transparently what + their units and length are, instead of doing more fancy formatting + (e.g., "16 months" is now displayed instead of "1 year 4 months"). + Also, `Period` instances that compare as equal now return the same + period from their `normalize` method. Indexes ------- -- **Important change:** inflation indexes inherited from the `ZeroInflationIndex` - class no longer rely on their forecast curve for interpolation. For coupons - that already took care of interpolation (as in the case of `CPICoupon` and - `ZeroInflationCashFlow`) this should not change the results. In other cases, - figures will change but should be more correct as the interpolation is now - performed according to market conventions. - Also, most inflation curves now assume that the index is not implemented. - Year-on-year inflation indexes and curves are not affected. +- Added Tona (Tokyo overnight average) index (thanks to Jonghee Lee). + +- Added static `laggedFixing` method to `CPI` structure which provides + interpolation of inflation index fixings. + +Cash flows +---------- + +- The `CPICoupon` and `CPICashFlow` classes now take into account the + correct dates and observation lag for interpolation. Instruments ----------- -- **Breaking change:** convertible bonds were moved out of the `ql/experimental` folder. - Also, being market values and not part of the contract, dividends and credit spread - were moved from the bond to the `BinomialConvertibleEngine` class - (thanks to Lew Wei Hao). +- Added a `BondForward` class that generalizes the existing + `FixedRateBondForward` to any kind of bond (thanks to Marcin + Rybacki). -- The `ForwardRateAgreement` no longer inherits from `Forward`. This also made it - possible to implement the `amount` method returning the expected cash settlement - (thanks to Lew Wei Hao). The methods from `Forward` were kept available but - deprecated so code using them won't break. Client code might break if it - performed casts to `Forward`. +- Avoided unexpected jumps in callable bond OAS (thanks to Ralf Konrad). -Models ------- +- Fixed `TreeSwaptionEngine` mispricing when adjusting the instrument + schedule to a near exercise date (thanks to Ralf Konrad). -- Fixed formula for discount bond option in CIR++ model (thanks to Magnus Mencke). +- the `ForwardRateAgreement` class now works correctly without an + explicit discount curve. Term structures --------------- -- It is now possible to use normal volatilities in SABR smile sections, - and thus in the `SwaptionVolCube1` class (thanks to Lew Wei Hao). - -Date/time ---------- - -- Added Chinese holidays for 2022 (thanks to Cheng Li). - -Currencies ----------- - -- Added a number of African, American, Asian and European currencies from - Quaternion's `QuantExt` project (thanks to Ole Bueker). +- Dates explixitly passed to `InterpolatedZeroInflationCurve` are no + longer adjusted automatically to the beginning of their inflation period. -Experimental folder +Deprecated features ------------------- -The `ql/experimental` folder contains code whose interface is not -fully stable, but is released in order to get user -feedback. Experimental classes make no guarantees of backward -compatibility; their interfaces might change in future releases. +- **Removed** the `MCDiscreteAveragingAsianEngine` class, deprecated + in version 1.21. -- Added experimental rate helpers for LIBOR-LIBOR and Overnight-LIBOR basis swaps. +- Deprecated the `LsmBasisSystem::PolynomType` typedef, now renamed to + `PolynomialType`; `MakeMCAmericanEngine::withPolynomOrder` was also + deprecated and renamed to `withPolynomialOrder`. -- Renamed `WulinYongDoubleBarrierEngine` to `SuoWangDoubleBarrierEngine` - (thanks to Adityakumar Sinha for the fix and Ruilong Xu for the heads-up). +- Deprecated the `ZeroInflationCashFlow` constructor taking an unused + calendar and business-day convention. -Deprecated features -------------------- +- Deprecated the `CPICoupon` constructor taking a number of fixing + days, as well as the `CPICoupon::indexObservation`, + `CPICoupon::adjustedFixing` and `CPICoupon::indexFixing` methods + and the `CPILeg::withFixingDays` method. + +- Deprecated the `CPICashFlow` constructor taking a precalculated fixing date and a frequency. -- Deprecated the constructors of zero-coupon inflation term structures taking - an `indexIsInterpolated` boolean argument. +- Deprecated the `Observer::set_type` and `Observable::set_type` typedefs. -- Deprecated a number of methods in the `ForwardRateAgreement` class that used - to be inherited from `Forward`. +- Deprecated the unused `Curve` class. -- Deprecated a couple of constructors in the `SofrFutureRateHelper` class. +- Deprecated the unused `LexicographicalView` class. -- Deprecated the `WulinYongDoubleBarrierEngine` alias for `SuoWangDoubleBarrierEngine`. +- Deprecated the unused `Composite` class. -- Deprecated the protected `spreadLegValue_` data member - in the `BlackIborCouponPricer` class. +- Deprecated the unused `DriftTermStructure` class. -Thanks go also to Tom Anderson, Francois Botha, Matthew Kolbe, Benson -Luk, Marcin Rybacki, Henning Segger, Klaus Spanderen, and GitHub users -@jxcv0 and @azsrz for smaller fixes, enhancements and bug reports. +**Thanks go also** to Matthias Groncki, Jonathan Sweemer and Li Zhong +for smaller fixes, enhancements and bug reports. From 94ffbaac5d8fbf11f0b48b63a93f7c4f44cafa30 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Fri, 8 Apr 2022 23:26:38 +0200 Subject: [PATCH 06/15] Change style of reference docs to match web site --- Docs/quantlib.doxy | 3 +-- Docs/quantlibextra.css | 50 ++++++++++++++++++++++++++++++---------- Docs/quantlibheader.html | 6 ++--- 3 files changed, 41 insertions(+), 18 deletions(-) diff --git a/Docs/quantlib.doxy b/Docs/quantlib.doxy index 0d958ed21a9..76c5a735a53 100644 --- a/Docs/quantlib.doxy +++ b/Docs/quantlib.doxy @@ -161,8 +161,7 @@ HTML_HEADER = quantlibheader.html HTML_FOOTER = quantlibfooter.html HTML_STYLESHEET = HTML_EXTRA_STYLESHEET = quantlibextra.css -HTML_EXTRA_FILES = images/QL-title.jpg \ - images/favicon.ico +HTML_EXTRA_FILES = images/favicon.ico HTML_COLORSTYLE_HUE = 220 HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 diff --git a/Docs/quantlibextra.css b/Docs/quantlibextra.css index 71ea2271950..0b0b80b7938 100644 --- a/Docs/quantlibextra.css +++ b/Docs/quantlibextra.css @@ -1,22 +1,48 @@ -#projectname +#projectname, #projectname a, #projectname a:visited { - font-size: 16px; - padding: 1em; + font-family: "Lato", sans-serif; + font-weight: 700; + font-style: italic; + color: black; } - -#projectbrief +#projectname { - font-family: 'Merriweather Sans', serif; - font-size: 120%; - margin-top: 2px; - margin-bottom: 0; + padding: 1em; } - + #projectnumber { - font-family: 'Merriweather Sans', serif; - font-size: 100%; + font-family: "Lato", sans-serif; + font-weight: 400; + font-style: italic; + font-size: 60%; margin-top: 1em; margin-bottom: 0; } +body, table, div, p, dl { + font: 300 16px/22px Lato,sans-serif; +} + +p.reference, p.definition { + font: 300 16px/22px Lato,sans-serif; +} + +.title { + font-family: "Lato", sans-serif; + font-style: italic; +} + +table.directory { + font: 400 16px "Lato",sans-serif; +} + +h1 { + font-style: italic; +} + +.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active { + font-family: "Lato", sans-serif; + font-weight: 400; + font-style: italic; +} diff --git a/Docs/quantlibheader.html b/Docs/quantlibheader.html index 2bf4aa06cca..1c03890d0a9 100644 --- a/Docs/quantlibheader.html +++ b/Docs/quantlibheader.html @@ -7,7 +7,7 @@ $projectname: $title $title - + @@ -30,9 +30,7 @@ -
- QuantLib -
$projectbrief
+
QuantLib: a free/open-source library for quantitative finance
Reference manual - version $projectnumber
From 08159d938c7ce75739014e04576edb0f1af6e755 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Tue, 12 Apr 2022 14:54:21 +0200 Subject: [PATCH 07/15] Removed usage of Disposable and of relative configure flag --- .github/workflows/linux-full-tests.yml | 6 -- .github/workflows/linux.yml | 7 -- CMakeLists.txt | 1 - Docs/pages/config.docs | 8 -- Examples/GlobalOptimizer/GlobalOptimizer.cpp | 12 +-- cmake/GenerateHeaders.cmake | 1 + configure.ac | 17 --- ql/config.hpp.cfg | 1 - ql/experimental/credit/basket.cpp | 23 ++-- ql/experimental/credit/basket.hpp | 28 ++--- ql/experimental/credit/binomiallossmodel.hpp | 23 ++-- .../credit/constantlosslatentmodel.hpp | 2 +- ql/experimental/credit/defaultlossmodel.hpp | 13 +-- ql/experimental/credit/pool.cpp | 2 +- ql/experimental/credit/pool.hpp | 3 +- .../credit/randomdefaultlatentmodel.hpp | 29 +++-- ql/experimental/credit/recursivelossmodel.hpp | 38 +++---- .../credit/saddlepointlossmodel.hpp | 25 ++--- ql/experimental/credit/syntheticcdo.cpp | 2 +- ql/experimental/credit/syntheticcdo.hpp | 2 +- .../fdmblackscholesfwdop.cpp | 25 ++--- .../fdmblackscholesfwdop.hpp | 12 +-- .../finitedifferences/fdmdupire1dop.cpp | 22 ++-- .../finitedifferences/fdmdupire1dop.hpp | 12 +-- .../fdmextendedornsteinuhlenbeckop.cpp | 27 ++--- .../fdmextendedornsteinuhlenbeckop.hpp | 12 +-- .../finitedifferences/fdmextoujumpop.cpp | 29 +++-- .../finitedifferences/fdmextoujumpop.hpp | 14 +-- .../finitedifferences/fdmhestonfwdop.cpp | 16 ++- .../finitedifferences/fdmhestonfwdop.hpp | 14 +-- .../finitedifferences/fdmhestongreensfct.cpp | 4 +- .../finitedifferences/fdmhestongreensfct.hpp | 2 +- .../finitedifferences/fdmklugeextouop.cpp | 37 +++---- .../finitedifferences/fdmklugeextouop.hpp | 12 +-- .../finitedifferences/fdmsquarerootfwdop.cpp | 27 +++-- .../finitedifferences/fdmsquarerootfwdop.hpp | 12 +-- .../fdmvppstartlimitstepcondition.cpp | 3 +- .../fdmvppstartlimitstepcondition.hpp | 2 +- .../finitedifferences/fdmvppstepcondition.hpp | 3 +- .../finitedifferences/fdmzabrop.cpp | 27 +++-- .../finitedifferences/fdmzabrop.hpp | 12 +-- ql/experimental/math/convolvedstudentt.cpp | 6 +- ql/experimental/math/convolvedstudentt.hpp | 5 +- ql/experimental/math/expm.cpp | 5 +- ql/experimental/math/expm.hpp | 2 +- ql/experimental/math/gaussiancopulapolicy.hpp | 4 +- ql/experimental/math/laplaceinterpolation.hpp | 2 +- ql/experimental/math/latentmodel.hpp | 26 ++--- ql/experimental/math/moorepenroseinverse.hpp | 4 +- ql/experimental/math/multidimquadrature.hpp | 30 +++--- ql/experimental/math/tcopulapolicy.cpp | 3 +- ql/experimental/math/tcopulapolicy.hpp | 10 +- ql/experimental/models/hestonslvfdmmodel.cpp | 8 +- ql/experimental/models/normalclvmodel.cpp | 4 +- ql/experimental/models/normalclvmodel.hpp | 4 +- ql/experimental/models/squarerootclvmodel.cpp | 7 +- ql/experimental/models/squarerootclvmodel.hpp | 4 +- .../processes/extouwithjumpsprocess.cpp | 27 +++-- .../processes/extouwithjumpsprocess.hpp | 11 +- .../processes/hestonslvprocess.cpp | 7 +- .../processes/hestonslvprocess.hpp | 12 ++- .../processes/klugeextouprocess.cpp | 9 +- .../processes/klugeextouprocess.hpp | 11 +- .../haganirregularswaptionengine.cpp | 11 +- .../haganirregularswaptionengine.hpp | 4 +- ql/experimental/volatility/zabr.cpp | 15 +-- ql/experimental/volatility/zabr.hpp | 15 +-- ql/grid.hpp | 15 ++- ql/instruments/floatfloatswaption.cpp | 2 +- ql/instruments/floatfloatswaption.hpp | 3 +- ql/instruments/nonstandardswaption.cpp | 2 +- ql/instruments/nonstandardswaption.hpp | 3 +- ql/legacy/libormarketmodels/lfmcovarparam.cpp | 6 +- ql/legacy/libormarketmodels/lfmcovarparam.hpp | 9 +- ql/legacy/libormarketmodels/lfmcovarproxy.cpp | 6 +- ql/legacy/libormarketmodels/lfmcovarproxy.hpp | 4 +- .../libormarketmodels/lfmhullwhiteparam.cpp | 9 +- .../libormarketmodels/lfmhullwhiteparam.hpp | 7 +- ql/legacy/libormarketmodels/lfmprocess.cpp | 23 ++-- ql/legacy/libormarketmodels/lfmprocess.hpp | 12 +-- .../libormarketmodels/liborforwardmodel.cpp | 2 +- .../libormarketmodels/liborforwardmodel.hpp | 2 +- .../lmconstwrappercorrmodel.hpp | 4 +- .../lmconstwrappervolmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmcorrmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmcorrmodel.hpp | 10 +- .../libormarketmodels/lmexpcorrmodel.cpp | 6 +- .../libormarketmodels/lmexpcorrmodel.hpp | 4 +- .../libormarketmodels/lmextlinexpvolmodel.cpp | 2 +- .../libormarketmodels/lmextlinexpvolmodel.hpp | 2 +- .../libormarketmodels/lmfixedvolmodel.cpp | 3 +- .../libormarketmodels/lmfixedvolmodel.hpp | 2 +- .../libormarketmodels/lmlinexpcorrmodel.cpp | 6 +- .../libormarketmodels/lmlinexpcorrmodel.hpp | 4 +- .../libormarketmodels/lmlinexpvolmodel.cpp | 2 +- .../libormarketmodels/lmlinexpvolmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmvolmodel.hpp | 6 +- ql/math/array.hpp | 97 +++++++---------- ql/math/interpolations/xabrinterpolation.hpp | 4 +- ql/math/matrix.cpp | 2 +- ql/math/matrix.hpp | 72 +++++-------- ql/math/matrixutilities/bicgstab.hpp | 2 +- .../matrixutilities/choleskydecomposition.cpp | 2 +- .../matrixutilities/choleskydecomposition.hpp | 2 +- ql/math/matrixutilities/factorreduction.cpp | 5 +- ql/math/matrixutilities/factorreduction.hpp | 3 +- ql/math/matrixutilities/getcovariance.hpp | 8 +- ql/math/matrixutilities/gmres.hpp | 2 +- ql/math/matrixutilities/pseudosqrt.cpp | 25 +++-- ql/math/matrixutilities/pseudosqrt.hpp | 12 +-- ql/math/matrixutilities/qrdecomposition.cpp | 11 +- ql/math/matrixutilities/qrdecomposition.hpp | 16 +-- .../sparseilupreconditioner.cpp | 8 +- .../sparseilupreconditioner.hpp | 6 +- ql/math/matrixutilities/sparsematrix.hpp | 6 +- ql/math/matrixutilities/svd.cpp | 7 +- ql/math/matrixutilities/svd.hpp | 4 +- ql/math/matrixutilities/tapcorrelations.cpp | 38 +++---- ql/math/matrixutilities/tapcorrelations.hpp | 49 ++++----- ql/math/ode/adaptiverungekutta.hpp | 14 +-- ql/math/optimization/bfgs.cpp | 6 +- ql/math/optimization/bfgs.hpp | 3 +- ql/math/optimization/conjugategradient.cpp | 6 +- ql/math/optimization/conjugategradient.hpp | 3 +- ql/math/optimization/costfunction.hpp | 6 +- ql/math/optimization/leastsquare.cpp | 2 +- ql/math/optimization/leastsquare.hpp | 2 +- .../optimization/linesearchbasedmethod.hpp | 7 +- ql/math/optimization/problem.hpp | 4 +- .../optimization/projectedcostfunction.cpp | 3 +- .../optimization/projectedcostfunction.hpp | 2 +- ql/math/optimization/projection.cpp | 5 +- ql/math/optimization/projection.hpp | 5 +- ql/math/optimization/steepestdescent.cpp | 6 +- ql/math/optimization/steepestdescent.hpp | 3 +- .../stochasticcollocationinvcdf.cpp | 4 +- ql/math/statistics/sequencestatistics.hpp | 8 +- .../finitedifferences/meshers/fdmmesher.hpp | 2 +- .../meshers/fdmmeshercomposite.cpp | 2 +- .../meshers/fdmmeshercomposite.hpp | 2 +- .../meshers/uniformgridmesher.cpp | 2 +- .../meshers/uniformgridmesher.hpp | 2 +- .../operators/fdm2dblackscholesop.cpp | 28 +++-- .../operators/fdm2dblackscholesop.hpp | 12 +-- .../operators/fdmbatesop.cpp | 4 +- .../operators/fdmbatesop.hpp | 33 +++--- .../operators/fdmblackscholesop.cpp | 31 +++--- .../operators/fdmblackscholesop.hpp | 12 +-- .../finitedifferences/operators/fdmcevop.cpp | 27 ++--- .../finitedifferences/operators/fdmcevop.hpp | 12 +-- .../finitedifferences/operators/fdmcirop.cpp | 33 +++--- .../finitedifferences/operators/fdmcirop.hpp | 12 +-- .../finitedifferences/operators/fdmg2op.cpp | 32 +++--- .../finitedifferences/operators/fdmg2op.hpp | 12 +-- .../operators/fdmhestonhullwhiteop.cpp | 34 +++--- .../operators/fdmhestonhullwhiteop.hpp | 12 +-- .../operators/fdmhestonop.cpp | 36 +++---- .../operators/fdmhestonop.hpp | 14 +-- .../operators/fdmhullwhiteop.cpp | 29 ++--- .../operators/fdmhullwhiteop.hpp | 12 +-- .../operators/fdmlinearop.hpp | 4 +- .../operators/fdmlinearopcomposite.hpp | 20 ++-- .../operators/fdmlinearopiterator.hpp | 6 -- .../operators/fdmlinearoplayout.cpp | 7 +- .../operators/fdmlinearoplayout.hpp | 2 +- .../operators/fdmlocalvolfwdop.cpp | 25 ++--- .../operators/fdmlocalvolfwdop.hpp | 12 +-- .../operators/fdmornsteinuhlenbeckop.cpp | 32 ++---- .../operators/fdmornsteinuhlenbeckop.hpp | 12 +-- .../finitedifferences/operators/fdmsabrop.cpp | 24 ++--- .../finitedifferences/operators/fdmsabrop.hpp | 12 +-- .../operators/ninepointlinearop.cpp | 21 +--- .../operators/ninepointlinearop.hpp | 12 +-- .../operators/nthorderderivativeop.cpp | 8 +- .../operators/nthorderderivativeop.hpp | 4 +- .../operators/numericaldifferentiation.cpp | 4 +- .../operators/triplebandlinearop.cpp | 30 ++---- .../operators/triplebandlinearop.hpp | 21 ++-- .../schemes/impliciteulerscheme.cpp | 2 +- .../schemes/impliciteulerscheme.hpp | 2 +- .../schemes/methodoflinesscheme.cpp | 6 +- .../schemes/methodoflinesscheme.hpp | 3 +- .../schemes/trbdf2scheme.hpp | 5 +- .../finitedifferences/tridiagonaloperator.cpp | 19 ++-- .../finitedifferences/tridiagonaloperator.hpp | 93 +++++----------- .../fdmaffinemodelswapinnervalue.cpp | 17 ++- .../fdmaffinemodelswapinnervalue.hpp | 7 +- .../utilities/fdmquantohelper.cpp | 2 +- .../utilities/fdmquantohelper.hpp | 2 +- .../utilities/fdmtimedepdirichletboundary.cpp | 2 +- .../utilities/fdmtimedepdirichletboundary.hpp | 4 +- .../utilities/localvolrndcalculator.cpp | 11 +- .../utilities/localvolrndcalculator.hpp | 4 +- ql/methods/lattices/lattice1d.hpp | 2 +- ql/methods/lattices/lattice2d.hpp | 2 +- ql/methods/montecarlo/parametricexercise.cpp | 2 +- .../correlations/expcorrelations.cpp | 11 +- .../correlations/expcorrelations.hpp | 12 +-- .../driftcomputation/cmsmmdriftcalculator.cpp | 2 +- .../driftcomputation/lmmdriftcalculator.cpp | 2 +- .../lmmnormaldriftcalculator.cpp | 2 +- .../driftcomputation/smmdriftcalculator.cpp | 2 +- .../marketmodels/forwardforwardmappings.cpp | 39 +++---- .../marketmodels/forwardforwardmappings.hpp | 27 ++--- .../marketmodels/swapforwardmappings.cpp | 39 +++---- .../marketmodels/swapforwardmappings.hpp | 18 ++-- ql/models/model.cpp | 4 +- ql/models/model.hpp | 2 +- .../onefactormodels/gaussian1dmodel.cpp | 2 +- .../onefactormodels/gaussian1dmodel.hpp | 3 +- ql/models/shortrate/onefactormodels/gsr.hpp | 8 +- .../onefactormodels/markovfunctional.cpp | 8 +- .../onefactormodels/markovfunctional.hpp | 8 +- ql/models/volatility/garch.cpp | 4 +- ql/numericalmethod.hpp | 2 +- .../bond/discretizedconvertible.cpp | 2 +- .../bond/discretizedconvertible.hpp | 2 +- .../swaption/basketgeneratingengine.cpp | 2 +- .../swaption/basketgeneratingengine.hpp | 9 +- .../gaussian1dfloatfloatswaptionengine.cpp | 13 ++- .../gaussian1dfloatfloatswaptionengine.hpp | 2 +- .../gaussian1dnonstandardswaptionengine.cpp | 3 +- .../gaussian1dnonstandardswaptionengine.hpp | 2 +- ql/processes/batesprocess.cpp | 6 +- ql/processes/batesprocess.hpp | 4 +- ql/processes/endeulerdiscretization.cpp | 23 ++-- ql/processes/endeulerdiscretization.hpp | 9 +- ql/processes/eulerdiscretization.cpp | 23 ++-- ql/processes/eulerdiscretization.hpp | 9 +- ql/processes/g2process.cpp | 74 ++++++------- ql/processes/g2process.hpp | 24 ++--- ql/processes/gjrgarchprocess.cpp | 37 +++---- ql/processes/gjrgarchprocess.hpp | 10 +- ql/processes/hestonprocess.cpp | 39 +++---- ql/processes/hestonprocess.hpp | 10 +- ql/processes/hybridhestonhullwhiteprocess.cpp | 59 +++++----- ql/processes/hybridhestonhullwhiteprocess.hpp | 13 ++- ql/processes/jointstochasticprocess.cpp | 37 ++++--- ql/processes/jointstochasticprocess.hpp | 27 +++-- ql/processes/stochasticprocessarray.cpp | 36 +++---- ql/processes/stochasticprocessarray.hpp | 18 ++-- ql/stochasticprocess.cpp | 27 +++-- ql/stochasticprocess.hpp | 101 +++++++++--------- ql/termstructures/globalbootstrap.hpp | 5 +- ql/termstructures/localbootstrap.hpp | 4 +- .../volatility/abcdcalibration.cpp | 2 +- .../volatility/abcdcalibration.hpp | 4 +- .../andreasenhugevolatilityinterpl.cpp | 24 ++--- .../andreasenhugevolatilityinterpl.hpp | 6 +- .../volatility/smilesectionutils.hpp | 1 - .../volatility/swaption/cmsmarket.cpp | 8 +- .../volatility/swaption/cmsmarket.hpp | 8 +- .../swaption/cmsmarketcalibration.cpp | 9 +- .../volatility/swaption/swaptionvolcube1.hpp | 2 +- .../yield/fittedbonddiscountcurve.cpp | 6 +- ql/userconfig.hpp | 7 -- ql/utilities/Makefile.am | 2 +- ql/utilities/all.hpp | 1 - ql/utilities/disposable.hpp | 76 +------------ test-suite/array.cpp | 66 ------------ test-suite/fdmlinearop.cpp | 16 ++- test-suite/markovfunctional.cpp | 15 ++- test-suite/matrices.cpp | 5 +- test-suite/nthorderderivativeop.cpp | 23 ++-- test-suite/numericaldifferentiation.cpp | 2 +- test-suite/ode.cpp | 5 +- test-suite/optimizers.cpp | 36 +++---- test-suite/riskneutraldensitycalculator.cpp | 2 +- test-suite/squarerootclvmodel.cpp | 2 +- 269 files changed, 1376 insertions(+), 2058 deletions(-) diff --git a/.github/workflows/linux-full-tests.yml b/.github/workflows/linux-full-tests.yml index a99062e8d57..162f6288370 100644 --- a/.github/workflows/linux-full-tests.yml +++ b/.github/workflows/linux-full-tests.yml @@ -147,12 +147,6 @@ jobs: cxx: g++ cxxflags: "-Wno-deprecated-declarations" configureflags: --disable-std-unique-ptr - - name: "Disposable re-enabled" - shortname: disposable - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-disposable - name: "Thread-safe observer enabled" shortname: threadsafe tag: rolling diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ae669c7933b..5505dea78bf 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -153,13 +153,6 @@ jobs: cxxflags: "-Wno-deprecated-declarations" configureflags: --disable-std-unique-ptr tests: true - - name: "Disposable re-enabled" - shortname: disposable - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-disposable - tests: true - name: "Thread-safe observer enabled" shortname: threadsafe tag: rolling diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b93131110b..4d368d27483 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,6 @@ option(QL_INSTALL_EXAMPLES "Install examples" ON) option(QL_INSTALL_TEST_SUITE "Install test suite" ON) option(QL_TAGGED_LAYOUT "Library names use layout tags" ${MSVC}) option(QL_USE_CLANG_TIDY "Use clang-tidy when building" OFF) -option(QL_USE_DISPOSABLE "Use the Disposable class template. Not needed for C++11" OFF) option(QL_USE_INDEXED_COUPON "Use indexed coupons instead of par coupons" OFF) option(QL_USE_STD_CLASSES "Enable all QL_USE_STD_ options" OFF) option(QL_USE_STD_SHARED_PTR "Use standard smart pointers instead of Boost ones" OFF) diff --git a/Docs/pages/config.docs b/Docs/pages/config.docs index aab2fb8b4ae..4fa8a3f4063 100644 --- a/Docs/pages/config.docs +++ b/Docs/pages/config.docs @@ -133,14 +133,6 @@ are used instead of `boost::tuple`. If disabled (the default) the Boost facilities are used. - \code - #define QL_USE_DISPOSABLE - \endcode - If defined, the old `Disposable` class template is used; this - should be no longer necessary in C++11 and might interfere with - compiler optimizations. If disabled (the default) `Disposable` is - still available but is just an alias to `T`. - \code #define QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER \endcode diff --git a/Examples/GlobalOptimizer/GlobalOptimizer.cpp b/Examples/GlobalOptimizer/GlobalOptimizer.cpp index dc973f3adac..daffe148e3a 100644 --- a/Examples/GlobalOptimizer/GlobalOptimizer.cpp +++ b/Examples/GlobalOptimizer/GlobalOptimizer.cpp @@ -65,7 +65,7 @@ Real ackley(const Array& x) { return M_E + 20.0 - 20.0*std::exp(p1)-std::exp(p2); } -Disposable ackleyValues(const Array& x) { +Array ackleyValues(const Array& x) { Array y(x.size()); for (Size i = 0; i < x.size(); i++) { Real p1 = x[i] * x[i]; @@ -81,7 +81,7 @@ Real sphere(const Array& x) { return DotProduct(x, x); } -Disposable sphereValues(const Array& x) { +Array sphereValues(const Array& x) { Array y(x.size()); for (Size i = 0; i < x.size(); i++) { y[i] = x[i]*x[i]; @@ -110,7 +110,7 @@ Real easom(const Array& x) { return -p1*std::exp(-p2); } -Disposable easomValues(const Array& x) { +Array easomValues(const Array& x) { Array y(x.size()); for (Size i = 0; i < x.size(); i++) { Real p1 = std::cos(x[i]); @@ -141,14 +141,14 @@ Real printFunction(Problem& p, const Array& x) { class TestFunction : public CostFunction { public: typedef ext::function RealFunc; - typedef ext::function(const Array&)> ArrayFunc; + typedef ext::function ArrayFunc; explicit TestFunction(RealFunc f, ArrayFunc fs = ArrayFunc()) : f_(std::move(f)), fs_(std::move(fs)) {} - explicit TestFunction(Real (*f)(const Array&), Disposable (*fs)(const Array&) = nullptr) + explicit TestFunction(Real (*f)(const Array&), Array (*fs)(const Array&) = nullptr) : f_(f), fs_(fs) {} ~TestFunction() override = default; Real value(const Array& x) const override { return f_(x); } - Disposable values(const Array& x) const override { + Array values(const Array& x) const override { if(!fs_) throw std::runtime_error("Invalid function"); return fs_(x); diff --git a/cmake/GenerateHeaders.cmake b/cmake/GenerateHeaders.cmake index b050eb1db51..b25f7e8ce51 100644 --- a/cmake/GenerateHeaders.cmake +++ b/cmake/GenerateHeaders.cmake @@ -37,6 +37,7 @@ function(generate_dir_headers source_dir binary_dir) set(children_all "") file(GLOB children_hpp RELATIVE ${source_dir} "${source_dir}/*.hpp") list(FILTER children_hpp EXCLUDE REGEX "all.hpp") + list(FILTER children_hpp EXCLUDE REGEX "disposable.hpp") file(GLOB children_dir RELATIVE ${source_dir} "${source_dir}/*") list(FILTER children_dir EXCLUDE REGEX "CMakeFiles") list(FILTER children_dir EXCLUDE REGEX "^\\..*") diff --git a/configure.ac b/configure.ac index 5168c4ed463..bd1c3884b43 100644 --- a/configure.ac +++ b/configure.ac @@ -444,23 +444,6 @@ fi AC_MSG_RESULT([$ql_use_std_classes]) -AC_MSG_CHECKING([whether to enable the Disposable class template]) -AC_ARG_ENABLE([disposable], - AS_HELP_STRING([--enable-disposable], - [If enabled, the Disposable class template will be used; - this should be no longer necessary in C++11 - and might interfere with compiler optimizations. - If disabled (the default) the class will only - be an alias for the underlying type.]), - [ql_use_disposable=$enableval], - [ql_use_disposable=no]) -if test "$ql_use_disposable" = "yes" ; then - AC_DEFINE([QL_USE_DISPOSABLE],[1], - [Define this if you want to use the Disposable class template.]) -fi -AC_MSG_RESULT([$ql_use_disposable]) - - # manual configurations for specific hosts case $host in powerpc-apple-darwin*) diff --git a/ql/config.hpp.cfg b/ql/config.hpp.cfg index 53de8c0e95d..1a61f1fa98b 100644 --- a/ql/config.hpp.cfg +++ b/ql/config.hpp.cfg @@ -36,7 +36,6 @@ #cmakedefine QL_ERROR_LINES #cmakedefine QL_EXTRA_SAFETY_CHECKS #cmakedefine QL_HIGH_RESOLUTION_DATE -#cmakedefine QL_USE_DISPOSABLE #cmakedefine QL_USE_INDEXED_COUPON #cmakedefine QL_USE_STD_SHARED_PTR #cmakedefine QL_USE_STD_UNIQUE_PTR diff --git a/ql/experimental/credit/basket.cpp b/ql/experimental/credit/basket.cpp index 5e6f268dfdb..7c06aa3daf6 100644 --- a/ql/experimental/credit/basket.cpp +++ b/ql/experimental/credit/basket.cpp @@ -106,7 +106,7 @@ namespace QuantLib { return std::accumulate(notionals_.begin(), notionals_.end(), 0.0); } - Disposable > Basket::probabilities(const Date& d) const { + vector Basket::probabilities(const Date& d) const { vector prob(size()); vector defKeys = defaultKeys(); for (Size j = 0; j < size(); j++) @@ -168,8 +168,7 @@ namespace QuantLib { return evalDateRemainingNot_; } - Disposable > - Basket::liveList(const Date& endDate) const { + std::vector Basket::liveList(const Date& endDate) const { std::vector calcBufferLiveList; for (Size i = 0; i < size(); i++) if (!pool_->get(pool_->names()[i]).defaultedBetween( @@ -193,8 +192,7 @@ namespace QuantLib { return notional; } - Disposable > - Basket::remainingNotionals(const Date& endDate) const + vector Basket::remainingNotionals(const Date& endDate) const { QL_REQUIRE(endDate >= refDate_, "Target date lies before basket inception"); @@ -208,8 +206,7 @@ namespace QuantLib { return calcBufferNotionals; } - Disposable > - Basket::remainingProbabilities(const Date& d) const + std::vector Basket::remainingProbabilities(const Date& d) const { QL_REQUIRE(d >= refDate_, "Target date lies before basket inception"); vector prob; @@ -245,8 +242,7 @@ namespace QuantLib { //return positions_[position]->expectedExposure(d); } - Disposable > - Basket::remainingNames(const Date& endDate) const + std::vector Basket::remainingNames(const Date& endDate) const { // maybe return zero directly instead?: QL_REQUIRE(endDate >= refDate_, @@ -260,8 +256,7 @@ namespace QuantLib { return calcBufferNames; } - Disposable > - Basket::remainingDefaultKeys(const Date& endDate) const + vector Basket::remainingDefaultKeys(const Date& endDate) const { QL_REQUIRE(endDate >= refDate_, "Target date lies before basket inception"); @@ -329,8 +324,7 @@ namespace QuantLib { return cumulatedLoss() + lossModel_->expectedTrancheLoss(d); } - Disposable > - Basket::splitVaRLevel(const Date& date, Real loss) const { + std::vector Basket::splitVaRLevel(const Date& date, Real loss) const { calculate(); return lossModel_->splitVaRLevel(date, loss); } @@ -340,8 +334,7 @@ namespace QuantLib { return lossModel_->expectedShortfall(d, prob); } - Disposable > - Basket::lossDistribution(const Date& d) const { + std::map Basket::lossDistribution(const Date& d) const { calculate(); return lossModel_->lossDistribution(d); } diff --git a/ql/experimental/credit/basket.hpp b/ql/experimental/credit/basket.hpp index 973176f0d8d..3b768553b46 100644 --- a/ql/experimental/credit/basket.hpp +++ b/ql/experimental/credit/basket.hpp @@ -33,7 +33,6 @@ #include #include #include -#include namespace QuantLib { @@ -103,7 +102,7 @@ namespace QuantLib { //! Underlying pool const ext::shared_ptr& pool() const; //! The keys each counterparty enters the basket with (sensitive to) - Disposable > defaultKeys() const; + std::vector defaultKeys() const; /*! Loss Given Default for all issuers/notionals based on expected recovery rates for the respective issuers. */ @@ -128,8 +127,7 @@ namespace QuantLib { /*! Vector of cumulative default probability to date d for all issuers in the basket. */ - Disposable > - probabilities(const Date& d) const; + std::vector probabilities(const Date& d) const; /*! Realized basket losses between the reference date and the calculation date, taking the actual recovery rates of loss events into account. @@ -165,26 +163,23 @@ namespace QuantLib { reference date and the given date, recovery ignored. */ const std::vector& remainingNotionals() const; - Disposable > remainingNotionals(const Date&) const; + std::vector remainingNotionals(const Date&) const; /*! Vector of surviving issuers after defaults between the reference basket date and the given (or evaluation) date. */ const std::vector& remainingNames() const; - Disposable > - remainingNames(const Date&) const; + std::vector remainingNames(const Date&) const; /*! Default keys of non defaulted counterparties */ const std::vector& remainingDefaultKeys() const; - Disposable > remainingDefaultKeys( - const Date&) const; + std::vector remainingDefaultKeys(const Date&) const; //! Number of counterparties alive on the requested date. Size remainingSize() const; Size remainingSize(const Date&) const; /*! Vector of cumulative default probability to date d for all issuers still (at the evaluation date) alive in the basket. */ - Disposable > - remainingProbabilities(const Date& d) const; + std::vector remainingProbabilities(const Date& d) const; /*! Attachment amount of the equivalent (after defaults) remaining basket The remaining attachment amount is @@ -222,7 +217,7 @@ namespace QuantLib { } //!Indexes of remaining names. Notice these are names and not positions. const std::vector& liveList() const; - Disposable > liveList(const Date&) const;//?? keep? + std::vector liveList(const Date&) const;//?? keep? //! Assigns the default loss model to this basket. Resets calculations. void setLossModel( const ext::shared_ptr& lossModel); @@ -246,12 +241,10 @@ namespace QuantLib { Real expectedShortfall(const Date& d, Probability prob) const; /* Split a portfolio loss along counterparties. Typically loss corresponds to some percentile.*/ - Disposable > - splitVaRLevel(const Date& date, Real loss) const; + std::vector splitVaRLevel(const Date& date, Real loss) const; /*! Full loss distribution */ - Disposable > lossDistribution( - const Date&) const; + std::map lossDistribution(const Date&) const; Real densityTrancheLoss(const Date& d, Real lossFraction) const; Real defaultCorrelation(const Date& d, Size iName, Size jName) const; /*! Probability vector that each of the remaining live names (at eval @@ -329,8 +322,7 @@ namespace QuantLib { return notionals_; } - inline Disposable > - Basket::defaultKeys() const { + inline std::vector Basket::defaultKeys() const { return pool_->defaultKeys(); } diff --git a/ql/experimental/credit/binomiallossmodel.hpp b/ql/experimental/credit/binomiallossmodel.hpp index aac4e1ed625..902237a7450 100644 --- a/ql/experimental/credit/binomiallossmodel.hpp +++ b/ql/experimental/credit/binomiallossmodel.hpp @@ -78,8 +78,7 @@ namespace QuantLib { /*! Returns the probability of the default loss values given by the method lossPoints. */ - Disposable > - expectedDistribution(const Date& date) const { + std::vector expectedDistribution(const Date& date) const { // precal date conditional magnitudes: std::vector notionals = basket_->remainingNotionals(date); std::vector invProbs = @@ -94,9 +93,9 @@ namespace QuantLib { }); } //! attainable loss points this model provides - Disposable > lossPoints(const Date&) const; + std::vector lossPoints(const Date&) const; //! Returns the cumulative full loss distribution - Disposable > lossDistribution(const Date& d) const override; + std::map lossDistribution(const Date& d) const override; //! Loss level for this percentile Real percentile(const Date& d, Real percentile) const override; Real expectedShortfall(const Date& d, Real percentile) const override; @@ -111,9 +110,8 @@ namespace QuantLib { const std::vector& uncondDefProbs, const std::vector&) const; // expected as in time-value, not average, see literature - Disposable > - expConditionalLgd(const Date& d, - const std::vector& mktFactors) const + std::vector expConditionalLgd(const Date& d, + const std::vector& mktFactors) const { std::vector condLgds; const std::vector& evalDateLives = basket_->liveList(); @@ -125,8 +123,7 @@ namespace QuantLib { //! Loss probability density conditional on the market factor value. // Heres where the burden of the algorithm setup lies. - Disposable > - lossProbability( + std::vector lossProbability( const Date& date, // expected exposures at the passed date, no wrong way means // no dependence of the exposure with the mkt factor @@ -148,7 +145,7 @@ namespace QuantLib { distribution of a given number of defaults. */ template< class LLM> - Disposable > BinomialLossModel::lossProbability( + std::vector BinomialLossModel::lossProbability( const Date& date, const std::vector& bsktNots, const std::vector& uncondDefProbInv, @@ -273,8 +270,7 @@ namespace QuantLib { } template< class LLM> - Disposable > - BinomialLossModel::lossPoints(const Date& d) const + std::vector BinomialLossModel::lossPoints(const Date& d) const { std::vector notionals = basket_->remainingNotionals(d); @@ -331,8 +327,7 @@ namespace QuantLib { template< class LLM> - Disposable > - BinomialLossModel::lossDistribution(const Date& d) const + std::map BinomialLossModel::lossDistribution(const Date& d) const { std::map distrib; std::vector lossPts = lossPoints(d); diff --git a/ql/experimental/credit/constantlosslatentmodel.hpp b/ql/experimental/credit/constantlosslatentmodel.hpp index 1b93e335479..c289d2ba041 100644 --- a/ql/experimental/credit/constantlosslatentmodel.hpp +++ b/ql/experimental/credit/constantlosslatentmodel.hpp @@ -140,7 +140,7 @@ namespace QuantLib { integralType, nVariables,ini) {} protected: - //Disposable > probsBeingNthEvent( + //std::vector probsBeingNthEvent( // Size n, const Date& d) const { // return // ConstantLossLatentmodel::probsBeingNthEvent(n, d); diff --git a/ql/experimental/credit/defaultlossmodel.hpp b/ql/experimental/credit/defaultlossmodel.hpp index c545e3f31ce..4cb44b5ba70 100644 --- a/ql/experimental/credit/defaultlossmodel.hpp +++ b/ql/experimental/credit/defaultlossmodel.hpp @@ -23,7 +23,6 @@ #include #include -#include #include #include @@ -87,21 +86,18 @@ namespace QuantLib { QL_FAIL("eSF Not implemented for this model."); } //! Associated VaR fraction to each counterparty. - virtual Disposable > - splitVaRLevel(const Date& d, Real loss) const { + virtual std::vector splitVaRLevel(const Date& d, Real loss) const { QL_FAIL("splitVaRLevel Not implemented for this model."); } //! Associated ESF fraction to each counterparty. - virtual Disposable > - splitESFLevel(const Date& d, Real loss) const { + virtual std::vector splitESFLevel(const Date& d, Real loss) const { QL_FAIL("splitESFLevel Not implemented for this model."); } // \todo Add splits by instrument position. //! Full loss distribution. - virtual Disposable > - lossDistribution(const Date&) const { + virtual std::map lossDistribution(const Date&) const { QL_FAIL("lossDistribution Not implemented for this model."); } //! Probability density of a given loss fraction of the basket notional. @@ -116,8 +112,7 @@ namespace QuantLib { The the probabilities ordering in the vector coincides with the pool order. */ - virtual Disposable > probsBeingNthEvent( - Size n, const Date& d) const { + virtual std::vector probsBeingNthEvent(Size n, const Date& d) const { QL_FAIL("probsBeingNthEvent Not implemented for this model."); } //! Pearsons' default probability correlation. diff --git a/ql/experimental/credit/pool.cpp b/ql/experimental/credit/pool.cpp index 9ec546627c0..7f6dd363f7b 100644 --- a/ql/experimental/credit/pool.cpp +++ b/ql/experimental/credit/pool.cpp @@ -74,7 +74,7 @@ namespace QuantLib { return names_; } - Disposable > Pool::defaultKeys() const { + std::vector Pool::defaultKeys() const { std::vector defaultKeys; defaultKeys.reserve(defaultKeys_.size()); for (const auto & i : defaultKeys_) diff --git a/ql/experimental/credit/pool.hpp b/ql/experimental/credit/pool.hpp index 157fdc9b875..e9f3c0f5b10 100644 --- a/ql/experimental/credit/pool.hpp +++ b/ql/experimental/credit/pool.hpp @@ -24,7 +24,6 @@ #ifndef quantlib_pool_hpp #define quantlib_pool_hpp -#include #include #include @@ -44,7 +43,7 @@ namespace QuantLib { void setTime(const std::string& name, Real time); Real getTime (const std::string& name) const; const std::vector& names() const; - Disposable > defaultKeys() const; + std::vector defaultKeys() const; private: // \todo: needs to cehck all defaul TS have the same ref date? here or // where used? e.g. simulations. diff --git a/ql/experimental/credit/randomdefaultlatentmodel.hpp b/ql/experimental/credit/randomdefaultlatentmodel.hpp index 63ca1a654d3..ff3eac7f5f7 100644 --- a/ql/experimental/credit/randomdefaultlatentmodel.hpp +++ b/ql/experimental/credit/randomdefaultlatentmodel.hpp @@ -170,14 +170,13 @@ namespace QuantLib { Chen, Z., Glasserman, P. 'Fast pricing of basket default swaps' in Operations Research Vol. 56, No. 2, March/April 2008, pp. 286-303 */ - Disposable > probsBeingNthEvent(Size n, - const Date& d) const override; + std::vector probsBeingNthEvent(Size n, const Date& d) const override; //! Pearsons' default probability correlation. Real defaultCorrelation(const Date& d, Size iName, Size jName) const override; Real expectedTrancheLoss(const Date& d) const override; virtual std::pair expectedTrancheLossInterval(const Date& d, Probability confidencePerc) const; - Disposable > lossDistribution(const Date& d) const override; + std::map lossDistribution(const Date& d) const override; virtual Histogram computeHistogram(const Date& d) const; Real expectedShortfall(const Date& d, Real percent) const override; Real percentile(const Date& d, Real percentile) const override; @@ -188,7 +187,7 @@ namespace QuantLib { /*! Distributes the total VaR amount along the portfolio counterparties. The passed loss amount is in loss units. */ - Disposable > splitVaRLevel(const Date& date, Real loss) const override; + std::vector splitVaRLevel(const Date& date, Real loss) const override; /*! Distributes the total VaR amount along the portfolio counterparties. @@ -197,7 +196,7 @@ namespace QuantLib { The passed loss amount is in loss units. */ - virtual Disposable > > splitVaRAndError( + virtual std::vector > splitVaRAndError( const Date& date, Real loss, Probability confInterval) const; //@} public: @@ -253,9 +252,8 @@ namespace QuantLib { } template