Skip to content

Commit

Permalink
Merge branch 'master' into update_cmake_policy
Browse files Browse the repository at this point in the history
  • Loading branch information
jongbongan committed Oct 21, 2024
2 parents 2ab23de + 5ee8f89 commit 20c9956
Show file tree
Hide file tree
Showing 111 changed files with 2,035 additions and 2,639 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/coveralls.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:
jobs:
coverage:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/devenv-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
description: 'Boost version'
required: true
env:
ROLLING: noble
ROLLING: oracular
jobs:
docker-images:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos-nondefault.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-13, macos-14]
os: [macos-13, macos-14]
classes: [boost, std]
include:
- classes: std
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-13, macos-14]
os: [macos-13, macos-14]
steps:
- uses: actions/checkout@v4
- name: Setup
Expand Down
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ cmake_policy(SET CMP0091 NEW)

# Version info
set(QUANTLIB_VERSION_MAJOR 1)
set(QUANTLIB_VERSION_MINOR 36)
set(QUANTLIB_VERSION_MINOR 37)
set(QUANTLIB_VERSION_PATCH 0)
set(QUANTLIB_VERSION ${QUANTLIB_VERSION_MAJOR}.${QUANTLIB_VERSION_MINOR}.${QUANTLIB_VERSION_PATCH})

# Project Info
set(PACKAGE_NAME "QuantLib")
set(PACKAGE_VERSION "${QUANTLIB_VERSION}-rc")
set(PACKAGE_VERSION_HEX "0x013600c0")
set(PACKAGE_VERSION "${QUANTLIB_VERSION}-dev")
set(PACKAGE_VERSION_HEX "0x01370000")
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "https://github.com/lballabio/QuantLib/issues/")
Expand Down Expand Up @@ -99,7 +99,7 @@ if (QL_ENABLE_DEFAULT_WARNING_LEVEL)
add_compile_options(-W3)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
# lots of warnings
add_compile_options(-Wall -Wno-unknown-pragmas)
add_compile_options(-Wall -Wno-unknown-pragmas -Wno-array-bounds)
endif()
endif()

Expand Down
69 changes: 69 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,72 @@
commit 85e9489fd486c00fb624fb4c8f10ab227ac2e9e8
Author: Luigi Ballabio <[email protected]>
Date: Sat, 12 Oct 2024 22:55:21 +0200

Ignore lcov error

.github/workflows/coveralls.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

commit 4bae7919925f54076c6f7bcb44a15bd8c1d1fb2a
Author: Luigi Ballabio <[email protected]>
Date: Sat, 12 Oct 2024 22:38:07 +0200

Avoid occasional warning from std::enable_shared_from_this

CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

commit 3074bd85d60aaf477b4c4f609e4da4f0c0d1f553
Author: Luigi Ballabio <[email protected]>
Date: Sat, 12 Oct 2024 20:45:08 +0200

Update changelog

ChangeLog.txt | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

commit 814c9cf074ce4dcb9b8777c03d205856769e6b86
Author: Luigi Ballabio <[email protected]>
Date: Mon, 12 Jul 2021 09:46:54 +0200

Set version to 1.36 final.

CMakeLists.txt | 4 ++--
configure.ac | 2 +-
ql/version.hpp | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)

commit 10be1e1ab186950dcd05147b1676ee048893f99d
Author: Luigi Ballabio <[email protected]>
Date: Sat, 12 Oct 2024 20:29:39 +0200

Updated release history

Docs/pages/history.docs | 129 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 128 insertions(+), 1 deletion(-)

commit 4cf029617169cfc1985527a5187113ba105655a2
Author: Luigi Ballabio <[email protected]>
Date: Wed, 4 Oct 2023 11:52:15 +0200

Set version to 1.36-rc

CMakeLists.txt | 4 ++--
configure.ac | 2 +-
ql/version.hpp | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)

commit fc6f3919ba1c85427332f38db5d69be85439d8fd
Author: Luigi Ballabio <[email protected]>
Date: Mon, 7 Oct 2024 12:30:47 +0200

Update news and changelog

ChangeLog.txt | 2733 ++++++++++++++++++++++++++++--------------------------
Contributors.txt | 4 +
News.md | 244 ++---
3 files changed, 1551 insertions(+), 1430 deletions(-)

commit 3d27c6b27d232c42965b7afb1684f181219cbc81
Merge: a5d2197cc 64acfbbe2
Author: Luigi Ballabio <[email protected]>
Expand Down
129 changes: 128 additions & 1 deletion Docs/pages/history.docs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,134 @@

/*! \page history Version history

<strong>Release 1.35 - July 2024</strong>
<strong>Release 1.36 - October 2024</strong>

PORTABILITY
- **New minimum C++ standard:** starting from this release, a compiler
supporting C++17 is required. Passing `--enable-std-classes` to
`configure` now causes `std::any` and `std::optional` to be used.
- **End of support:** related to the above, and as announced since
release 1.32, this release drops support Visual C++ 2015, g++ up to
version 6.x, and clang up to version 4. Also, given the testing
environments available on GitHub actions, clang 5 and 6 are no
longer available to us for testing, and the same holds for g++ 7.
Therefore, it is suggested to upgrade to a newer version if
possible.
- **End of support:** this release also removes the configure switch
that allowed to use `boost::tuple`, `boost::function` and
`boost::bind` instead of their `std` counterparts; the `std` classes
were already the default since release 1.32. The corresponding
classes in the `ext` namespace are now deprecated.
- **Future change of default:** in a couple of releases, we're going
to switch the default for `ext::any` and `ext::optional` from the
Boost implementation to the standard one.

DATES AND CALENDARS
- Added `startOfMonth` and `isStartOfMonth` methods to both `Date` and
`Calendar`; thanks to Francois Botha.
- Added specialized Warsaw Stock Exchange (WSE) calendar to Poland;
thanks to Marcin Bogusz.
- Added a new one-off holiday to South Korean calendar; thanks to
Jongbong An.

CASH FLOWS
- Made` OvernightIndexedCouponPricer` public and renamed to
`CompoundingOvernightIndexedCouponPricer`, and moved
`ArithmeticAveragedOvernightIndexedCouponPricer` from experimental
to core library; thanks to Ralf Konrad Eckel.

INDEXES
- **Possibly breaking:** inherited the `Index` class from `Observer`
and added a virtual `pastFixing` method. If you inherited a class
from both `Index` and `Observer`, change your code to avoid
inheriting twice from `Observer`. Thanks to Ralf Konrad Eckel.
- Added currency information to `EquityIndex`; thanks to Ralf Konrad
Eckel.

INFLATION
- Inflation indexes are now better at deciding when to forecast;
also added a `needsForecast` method that makes the
information available.
- Added `CPI::laggedYoYRate`; also, `YoYInflationCoupon`,
`yoyInflationLeg`, `CappedFlooredYoYInflationCoupon`,
`YearOnYearInflationSwap`, `MakeYoYInflationCapFloor`,
`YearOnYearInflationSwapHelper`, `YoYOptionletHelper` and the
experimental `YoYCapFloorTermPriceSurface` and
`InterpolatedYoYCapFloorTermPriceSurface` can now take an explicit
`CPI::InterpolationType` parameter instead of relying on the index
being defined as interpolated or not. This is a first
step in removing interpolation from `YoYInflationIndex` and moving
it into the coupons where it belongs.
- Added method to YoY inflation index returning the date of the last
available fixing.

TERM STRUCTURES
- Allow passing a pricer to the constructor of the `OISRateHelper` and
`DatedOISRateHelper` classes; this makes it possible to
use arithmetic averaging of overnight rates.
- Allow custom constraint in non-linear fitting methods; thanks to Kai
Lin.
- Allow creating a swap helper with frequency "Once".
- The `GlobalBootstrap` constructor can now take an optional optimizer
and end criteria, allowing for better configuration; thanks to
Eugene Toder.

VOLATILITY
- Added exact Bachelier implied-vol formula from Jäckel's paper; thanks
to Peter Caspers.


DEPRECATED FEATURES
- **Removed** features deprecated in version 1.31:
- the `BlackVanillaOptionPricer` typedef;
- the constructors of `CPICoupon` taking a `spread` parameter, its
`spread` method, and its protected `spread_` data member;
- the `withSpreads` method of `CPILeg`;
- the protected `adjustedFixing` method and `spread_` data member of
`CPICouponPricer`;
- the `YYAUCPIr`, `YYEUHICPr`, `YYFRHICPr`, `YYUKRPIr`, `YYUSCPIr`
and `YYZACPIr` indexes and the experimental `YYGenericCPIr` class;
- the constructor of `YoYInflationIndex` taking a `ratio` parameter;
- a couple of constructors of `ForwardRateAgreement`;
- the empty files `ql/math/curve.hpp`, `ql/math/lexicographicalview.hpp`,
`ql/termstructures/yield/drifttermstructure.hpp`
and `ql/patterns/composite.hpp`;
- the `const_iterator` and `const_value_iterator` typedefs in the
`Garch11` class;
- the `const_time_iterator`, `const_value_iterator`,
`const_reverse_time_iterator` and `const_reverse_value_iterator`
typedefs and the `cbegin_values`, `cend_values`, `crbegin_values`,
`crend_values`, `cbegin_time`, `cend_time`, `crbegin_time` and
`crend_time` methods of the `TimeSeries` class;
- the `base`, `increment`, `decrement`, `advance` and `distance_to`
method of the `step_iterator` class.
- Deprecated `ext::function`, `ext::bind`, `ext::ref`, `ext::cref`,
`ext::placeholders`, `ext::tuple`, `ext::make_tuple`, `ext::get` and
`ext::tie`; use the corresponding `std::` classes and functions
instead.
- Deprecated the `ArithmeticAverageOIS`, `MakeArithmeticAverageOIS`
and `ArithmeticOISRateHelper` classes; use `OvernightIndexedSwap`,
`MakeOIS` and `OISRateHelper` instead.
- Deprecated the `YoYInflationCoupon`, `yoyInflationLeg`,
`CappedFlooredYoYInflationCoupon`, `YearOnYearInflationSwap`,
`MakeYoYInflationCapFloor`, `YearOnYearInflationSwapHelper`,
`YoYOptionletHelper`, `YoYCapFloorTermPriceSurface` and
`InterpolatedYoYCapFloorTermPriceSurface` constructors that don't
take an explicit CPI interpolation type.
- Deprecated the `getInfo` method of `LevenbergMarquardt`; inspect the
result of `minimize` instead.
- Deprecated the
`ql/experimental/averageois/averageoiscouponpricer.hpp` file;
include `ql/cashflows/overnightindexedcouponpricer.hpp` instead.
- Deprecated the somewhat out-of-scope and experimental
`CreditRiskPlus`, `SensitivityAnalysis`, `aggregateNPV`,
`parallelAnalysis` and `bucketAnalysis`.

Thanks go also to Jonathan Sweemer, Eugene Toder, Ralf Konrad
Eckel, Tony Wang and the XAD team for miscellaneous smaller fixes,
improvements or reports.

<strong>Release 1.35 - July 23rd, 2024</strong>

PORTABILITY
- **Future end of support:** as announced since release 1.32, this
Expand Down
1 change: 1 addition & 0 deletions LICENSE.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ QuantLib is
Copyright (C) 2023 Paul Xi Cao

Copyright (C) 2024 Jacques du Toit
Copyright (C) 2024 Jongbong An

QuantLib includes code taken from Peter Jäckel's book "Monte Carlo
Methods in Finance".
Expand Down
Loading

0 comments on commit 20c9956

Please sign in to comment.