Skip to content

Commit

Permalink
Merge branch 'master' into multiple-reset-coupon
Browse files Browse the repository at this point in the history
  • Loading branch information
lballabio committed Oct 16, 2024
2 parents b69302f + 065e2c7 commit 2c01e48
Show file tree
Hide file tree
Showing 84 changed files with 419 additions and 1,699 deletions.
6 changes: 3 additions & 3 deletions .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 All @@ -22,7 +22,7 @@ jobs:
- name: Capture baseline
run: |
mkdir -p coverage tmp
lcov --no-external --capture --ignore-errors mismatch --initial --directory . --output-file ./tmp/lcov_base.info
lcov --no-external --capture --initial --directory . --output-file ./tmp/lcov_base.info
- name: Run tests
run: |
./test-suite/quantlib-test-suite --log_level=message
Expand All @@ -31,7 +31,7 @@ jobs:
make -C Examples check-examples
- name: Capture coverage
run: |
lcov --no-external --capture --ignore-errors mismatch --directory . --output-file ./tmp/lcov_run.info
lcov --no-external --capture --directory . --output-file ./tmp/lcov_run.info
lcov --add-tracefile ./tmp/lcov_base.info --add-tracefile ./tmp/lcov_run.info --output-file ./tmp/lcov_total.info
lcov --remove ./tmp/lcov_total.info "$PWD/Examples/*" "$PWD/test-suite/*" --output-file ./coverage/lcov.info
- name: Upload coverage to Coveralls
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
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
20 changes: 2 additions & 18 deletions QuantLib.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -664,32 +664,23 @@
<ClInclude Include="ql\experimental\credit\spreadedhazardratecurve.hpp" />
<ClInclude Include="ql\experimental\credit\syntheticcdo.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\all.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticamericanmargrabeengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticcomplexchooserengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticcompoundoptionengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticeuropeanmargrabeengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticholderextensibleoptionengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticpartialtimebarrieroptionengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticpdfhestonengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticsimplechooserengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analytictwoassetbarrierengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analytictwoassetcorrelationengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\analyticwriterextensibleoptionengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\complexchooseroption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\compoundoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\continuousarithmeticasianlevyengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\continuousarithmeticasianvecerengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\everestoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\himalayaoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\holderextensibleoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\kirkspreadoptionengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\margrabeoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\mceverestengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\mchimalayaengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\mcpagodaengine.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\pagodaoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\partialtimebarrieroption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\simplechooseroption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\spreadoption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\twoassetbarrieroption.hpp" />
<ClInclude Include="ql\experimental\exoticoptions\twoassetcorrelationoption.hpp" />
Expand Down Expand Up @@ -792,7 +783,6 @@
<ClInclude Include="ql\experimental\termstructures\all.hpp" />
<ClInclude Include="ql\experimental\termstructures\basisswapratehelpers.hpp" />
<ClInclude Include="ql\experimental\termstructures\crosscurrencyratehelpers.hpp" />
<ClInclude Include="ql\experimental\termstructures\multicurvesensitivities.hpp" />
<ClInclude Include="ql\experimental\variancegamma\all.hpp" />
<ClInclude Include="ql\experimental\variancegamma\analyticvariancegammaengine.hpp" />
<ClInclude Include="ql\experimental\variancegamma\fftengine.hpp" />
Expand Down Expand Up @@ -849,6 +839,7 @@
<ClInclude Include="ql\indexes\ibor\gbplibor.hpp" />
<ClInclude Include="ql\indexes\ibor\jibar.hpp" />
<ClInclude Include="ql\indexes\ibor\jpylibor.hpp" />
<ClInclude Include="ql\indexes\ibor\kofr.hpp" />
<ClInclude Include="ql\indexes\ibor\libor.hpp" />
<ClInclude Include="ql\indexes\ibor\mosprime.hpp" />
<ClInclude Include="ql\indexes\ibor\nzdlibor.hpp" />
Expand Down Expand Up @@ -1222,7 +1213,6 @@
<ClInclude Include="ql\methods\finitedifferences\parallelevolver.hpp" />
<ClInclude Include="ql\methods\finitedifferences\pde.hpp" />
<ClInclude Include="ql\methods\finitedifferences\pdebsm.hpp" />
<ClInclude Include="ql\methods\finitedifferences\pdeshortrate.hpp" />
<ClInclude Include="ql\methods\finitedifferences\schemes\all.hpp" />
<ClInclude Include="ql\methods\finitedifferences\schemes\boundaryconditionschemehelper.hpp" />
<ClInclude Include="ql\methods\finitedifferences\schemes\craigsneydscheme.hpp" />
Expand All @@ -1234,7 +1224,6 @@
<ClInclude Include="ql\methods\finitedifferences\schemes\methodoflinesscheme.hpp" />
<ClInclude Include="ql\methods\finitedifferences\schemes\modifiedcraigsneydscheme.hpp" />
<ClInclude Include="ql\methods\finitedifferences\schemes\trbdf2scheme.hpp" />
<ClInclude Include="ql\methods\finitedifferences\shoutcondition.hpp" />
<ClInclude Include="ql\methods\finitedifferences\solvers\all.hpp" />
<ClInclude Include="ql\methods\finitedifferences\solvers\fdm1dimsolver.hpp" />
<ClInclude Include="ql\methods\finitedifferences\solvers\fdm2dblackscholessolver.hpp" />
Expand Down Expand Up @@ -1359,7 +1348,6 @@
<ClInclude Include="ql\models\marketmodels\driftcomputation\lmmdriftcalculator.hpp" />
<ClInclude Include="ql\models\marketmodels\driftcomputation\lmmnormaldriftcalculator.hpp" />
<ClInclude Include="ql\models\marketmodels\driftcomputation\smmdriftcalculator.hpp" />
<ClInclude Include="ql\models\marketmodels\duffsdeviceinnerproduct.hpp" />
<ClInclude Include="ql\models\marketmodels\evolutiondescription.hpp" />
<ClInclude Include="ql\models\marketmodels\evolver.hpp" />
<ClInclude Include="ql\models\marketmodels\evolvers\all.hpp" />
Expand Down Expand Up @@ -1608,14 +1596,11 @@
<ClInclude Include="ql\pricingengines\vanilla\fdblackscholesvanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdcevvanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdcirvanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdconditions.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fddividendengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdhestonhullwhitevanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdhestonvanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdmultiperiodengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdsabrvanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdsimplebsswingengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdstepconditionengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\fdvanillaengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\hestonexpansionengine.hpp" />
<ClInclude Include="ql\pricingengines\vanilla\integralengine.hpp" />
Expand Down Expand Up @@ -2138,6 +2123,7 @@
<ClCompile Include="ql\indexes\ibor\euribor.cpp" />
<ClCompile Include="ql\indexes\ibor\eurlibor.cpp" />
<ClCompile Include="ql\indexes\ibor\fedfunds.cpp" />
<ClCompile Include="ql\indexes\ibor\kofr.cpp" />
<ClCompile Include="ql\indexes\ibor\libor.cpp" />
<ClCompile Include="ql\indexes\ibor\shibor.cpp" />
<ClCompile Include="ql\indexes\ibor\sofr.cpp" />
Expand Down Expand Up @@ -2330,7 +2316,6 @@
<ClCompile Include="ql\math\randomnumbers\xoshiro256starstaruniformrng.cpp" />
<ClCompile Include="ql\math\richardsonextrapolation.cpp" />
<ClCompile Include="ql\math\rounding.cpp" />
<ClCompile Include="ql\math\sampledcurve.cpp" />
<ClCompile Include="ql\math\statistics\discrepancystatistics.cpp" />
<ClCompile Include="ql\math\statistics\generalstatistics.cpp" />
<ClCompile Include="ql\math\statistics\histogram.cpp" />
Expand Down Expand Up @@ -2650,7 +2635,6 @@
<ClCompile Include="ql\pricingengines\vanilla\fdhestonvanillaengine.cpp" />
<ClCompile Include="ql\pricingengines\vanilla\fdsabrvanillaengine.cpp" />
<ClCompile Include="ql\pricingengines\vanilla\fdsimplebsswingengine.cpp" />
<ClCompile Include="ql\pricingengines\vanilla\fdvanillaengine.cpp" />
<ClCompile Include="ql\pricingengines\vanilla\hestonexpansionengine.cpp" />
<ClCompile Include="ql\pricingengines\vanilla\integralengine.cpp" />
<ClCompile Include="ql\pricingengines\vanilla\jumpdiffusionengine.cpp" />
Expand Down
60 changes: 6 additions & 54 deletions QuantLib.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -450,12 +450,6 @@
<ClInclude Include="ql\methods\finitedifferences\pdebsm.hpp">
<Filter>methods\finitedifferences</Filter>
</ClInclude>
<ClInclude Include="ql\methods\finitedifferences\pdeshortrate.hpp">
<Filter>methods\finitedifferences</Filter>
</ClInclude>
<ClInclude Include="ql\methods\finitedifferences\shoutcondition.hpp">
<Filter>methods\finitedifferences</Filter>
</ClInclude>
<ClInclude Include="ql\methods\finitedifferences\stepcondition.hpp">
<Filter>methods\finitedifferences</Filter>
</ClInclude>
Expand Down Expand Up @@ -672,6 +666,9 @@
<ClInclude Include="ql\indexes\ibor\jpylibor.hpp">
<Filter>indexes\ibor</Filter>
</ClInclude>
<ClInclude Include="ql\indexes\ibor\kofr.hpp">
<Filter>indexes\ibor</Filter>
</ClInclude>
<ClInclude Include="ql\indexes\ibor\libor.hpp">
<Filter>indexes\ibor</Filter>
</ClInclude>
Expand Down Expand Up @@ -1485,9 +1482,6 @@
<ClInclude Include="ql\models\marketmodels\discounter.hpp">
<Filter>models\marketmodels</Filter>
</ClInclude>
<ClInclude Include="ql\models\marketmodels\duffsdeviceinnerproduct.hpp">
<Filter>models\marketmodels</Filter>
</ClInclude>
<ClInclude Include="ql\models\marketmodels\evolutiondescription.hpp">
<Filter>models\marketmodels</Filter>
</ClInclude>
Expand Down Expand Up @@ -2535,18 +2529,9 @@
<ClInclude Include="ql\pricingengines\vanilla\hestonexpansionengine.hpp">
<Filter>pricingengines\vanilla</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\vanilla\fdconditions.hpp">
<Filter>pricingengines\vanilla</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\vanilla\fddividendengine.hpp">
<Filter>pricingengines\vanilla</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\vanilla\fdmultiperiodengine.hpp">
<Filter>pricingengines\vanilla</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\vanilla\fdstepconditionengine.hpp">
<Filter>pricingengines\vanilla</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\vanilla\fdvanillaengine.hpp">
<Filter>pricingengines\vanilla</Filter>
</ClInclude>
Expand Down Expand Up @@ -3135,15 +3120,6 @@
<ClInclude Include="ql\experimental\exoticoptions\all.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analyticamericanmargrabeengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analyticcomplexchooserengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analyticeuropeanmargrabeengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analyticholderextensibleoptionengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
Expand All @@ -3159,9 +3135,6 @@
<ClInclude Include="ql\pricingengines\barrier\discretizedbarrieroption.hpp">
<Filter>pricingengines\barrier</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analyticsimplechooserengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analytictwoassetbarrierengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
Expand All @@ -3171,9 +3144,6 @@
<ClInclude Include="ql\experimental\exoticoptions\analyticwriterextensibleoptionengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\complexchooseroption.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\continuousarithmeticasianlevyengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
Expand All @@ -3192,9 +3162,6 @@
<ClInclude Include="ql\experimental\exoticoptions\kirkspreadoptionengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\margrabeoption.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\mceverestengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
Expand All @@ -3210,9 +3177,6 @@
<ClInclude Include="ql\experimental\exoticoptions\partialtimebarrieroption.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\simplechooseroption.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\spreadoption.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
Expand Down Expand Up @@ -3489,9 +3453,6 @@
<ClInclude Include="ql\experimental\termstructures\all.hpp">
<Filter>experimental\termstructures</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\termstructures\multicurvesensitivities.hpp">
<Filter>experimental\termstructures</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\varianceoption\all.hpp">
<Filter>experimental\varianceoption</Filter>
</ClInclude>
Expand Down Expand Up @@ -3642,12 +3603,6 @@
<ClInclude Include="ql\experimental\barrieroption\vannavolgainterpolation.hpp">
<Filter>experimental\barrieroption</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\analyticcompoundoptionengine.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\exoticoptions\compoundoption.hpp">
<Filter>experimental\exoticoptions</Filter>
</ClInclude>
<ClInclude Include="ql\experimental\inflation\all.hpp">
<Filter>experimental\inflation</Filter>
</ClInclude>
Expand Down Expand Up @@ -4616,6 +4571,9 @@
<ClCompile Include="ql\indexes\ibor\fedfunds.cpp">
<Filter>indexes\ibor</Filter>
</ClCompile>
<ClCompile Include="ql\indexes\ibor\kofr.cpp">
<Filter>indexes\ibor</Filter>
</ClCompile>
<ClCompile Include="ql\indexes\ibor\libor.cpp">
<Filter>indexes\ibor</Filter>
</ClCompile>
Expand Down Expand Up @@ -4865,9 +4823,6 @@
<ClCompile Include="ql\math\rounding.cpp">
<Filter>math</Filter>
</ClCompile>
<ClCompile Include="ql\math\sampledcurve.cpp">
<Filter>math</Filter>
</ClCompile>
<ClCompile Include="ql\math\statistics\discrepancystatistics.cpp">
<Filter>math\statistics</Filter>
</ClCompile>
Expand Down Expand Up @@ -5795,9 +5750,6 @@
<ClCompile Include="ql\pricingengines\vanilla\hestonexpansionengine.cpp">
<Filter>pricingengines\vanilla</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\vanilla\fdvanillaengine.cpp">
<Filter>pricingengines\vanilla</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\vanilla\integralengine.cpp">
<Filter>pricingengines\vanilla</Filter>
</ClCompile>
Expand Down
27 changes: 6 additions & 21 deletions cmake/GenerateHeaders.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -38,30 +38,15 @@ function(generate_dir_headers source_dir binary_dir)
file(GLOB children_hpp RELATIVE ${source_dir} "${source_dir}/*.hpp")
list(FILTER children_hpp EXCLUDE REGEX "all.hpp")

# These headers were moved to another location.
# Therefore, we can ignore them as they only contain a warning and the new includes.
if (${source_dir} MATCHES "experimental" AND ${source_dir} MATCHES "exoticoptions")
list(FILTER children_hpp EXCLUDE REGEX "margrabeoption.hpp")
list(FILTER children_hpp EXCLUDE REGEX "analyticamericanmargrabeengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "analyticeuropeanmargrabeengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "compoundoption.hpp")
list(FILTER children_hpp EXCLUDE REGEX "analyticcompoundoptionengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "simplechooseroption.hpp")
list(FILTER children_hpp EXCLUDE REGEX "analyticsimplechooserengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "complexchooseroption.hpp")
list(FILTER children_hpp EXCLUDE REGEX "analyticcomplexchooserengine.hpp")
endif ()

list(FILTER children_hpp EXCLUDE REGEX "multicurvesensitivities.hpp")
list(FILTER children_hpp EXCLUDE REGEX "shoutcondition.hpp")
list(FILTER children_hpp EXCLUDE REGEX "fdcondition.hpp")
list(FILTER children_hpp EXCLUDE REGEX "pdeshortrate.hpp")
list(FILTER children_hpp EXCLUDE REGEX "fddividendengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "fdstepconditionengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "duffsdeviceinnerproduct.hpp")
list(FILTER children_hpp EXCLUDE REGEX "dividendvanillaoption.hpp")
list(FILTER children_hpp EXCLUDE REGEX "averageoiscouponpricer.hpp")
list(FILTER children_hpp EXCLUDE REGEX "subperiodcoupon.hpp")
list(FILTER children_hpp EXCLUDE REGEX "fdmultiperiodengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "fdvanillaengine.hpp")
list(FILTER children_hpp EXCLUDE REGEX "sampledcurve.hpp")
list(FILTER children_hpp EXCLUDE REGEX "bsmtermoperator.hpp")
list(FILTER children_hpp EXCLUDE REGEX "fdtypedefs.hpp")
list(FILTER children_hpp EXCLUDE REGEX "parallelevolver.hpp")

file(GLOB children_dir RELATIVE ${source_dir} "${source_dir}/*")
list(FILTER children_dir EXCLUDE REGEX "CMakeFiles")
Expand Down
Loading

0 comments on commit 2c01e48

Please sign in to comment.