Skip to content

Commit

Permalink
Move a few exotic options from experimental to core (#1774)
Browse files Browse the repository at this point in the history
  • Loading branch information
lballabio authored Aug 25, 2023
2 parents 51b2bff + fad2b0b commit 1f19d49
Show file tree
Hide file tree
Showing 44 changed files with 887 additions and 564 deletions.
28 changes: 19 additions & 9 deletions QuantLib.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,9 @@
<ClInclude Include="ql\instruments\capfloor.hpp" />
<ClInclude Include="ql\instruments\claim.hpp" />
<ClInclude Include="ql\instruments\cliquetoption.hpp" />
<ClInclude Include="ql\instruments\complexchooseroption.hpp" />
<ClInclude Include="ql\instruments\compositeinstrument.hpp" />
<ClInclude Include="ql\instruments\compoundoption.hpp" />
<ClInclude Include="ql\instruments\cpicapfloor.hpp" />
<ClInclude Include="ql\instruments\cpiswap.hpp" />
<ClInclude Include="ql\instruments\creditdefaultswap.hpp" />
Expand Down Expand Up @@ -937,6 +939,7 @@
<ClInclude Include="ql\instruments\makeswaption.hpp" />
<ClInclude Include="ql\instruments\makevanillaswap.hpp" />
<ClInclude Include="ql\instruments\makeyoyinflationcapfloor.hpp" />
<ClInclude Include="ql\instruments\margrabeoption.hpp" />
<ClInclude Include="ql\instruments\multiassetoption.hpp" />
<ClInclude Include="ql\instruments\nonstandardswap.hpp" />
<ClInclude Include="ql\instruments\nonstandardswaption.hpp" />
Expand All @@ -947,6 +950,7 @@
<ClInclude Include="ql\instruments\quantobarrieroption.hpp" />
<ClInclude Include="ql\instruments\quantoforwardvanillaoption.hpp" />
<ClInclude Include="ql\instruments\quantovanillaoption.hpp" />
<ClInclude Include="ql\instruments\simplechooseroption.hpp" />
<ClInclude Include="ql\instruments\simplifynotificationgraph.hpp" />
<ClInclude Include="ql\instruments\stickyratchet.hpp" />
<ClInclude Include="ql\instruments\stock.hpp" />
Expand Down Expand Up @@ -1526,6 +1530,12 @@
<ClInclude Include="ql\pricingengines\credit\integralcdsengine.hpp" />
<ClInclude Include="ql\pricingengines\credit\isdacdsengine.hpp" />
<ClInclude Include="ql\pricingengines\credit\midpointcdsengine.hpp" />
<ClInclude Include="ql\pricingengines\exotic\all.hpp" />
<ClInclude Include="ql\pricingengines\exotic\analyticamericanmargrabeengine.hpp" />
<ClInclude Include="ql\pricingengines\exotic\analyticcomplexchooserengine.hpp" />
<ClInclude Include="ql\pricingengines\exotic\analyticcompoundoptionengine.hpp" />
<ClInclude Include="ql\pricingengines\exotic\analyticeuropeanmargrabeengine.hpp" />
<ClInclude Include="ql\pricingengines\exotic\analyticsimplechooserengine.hpp" />
<ClInclude Include="ql\pricingengines\forward\all.hpp" />
<ClInclude Include="ql\pricingengines\forward\forwardengine.hpp" />
<ClInclude Include="ql\pricingengines\forward\forwardperformanceengine.hpp" />
Expand Down Expand Up @@ -2013,32 +2023,23 @@
<ClCompile Include="ql\experimental\credit\riskyassetswap.cpp" />
<ClCompile Include="ql\experimental\credit\riskyassetswapoption.cpp" />
<ClCompile Include="ql\experimental\credit\syntheticcdo.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticamericanmargrabeengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticcomplexchooserengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticcompoundoptionengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticeuropeanmargrabeengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticholderextensibleoptionengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticpartialtimebarrieroptionengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticpdfhestonengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticsimplechooserengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analytictwoassetbarrierengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analytictwoassetcorrelationengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\analyticwriterextensibleoptionengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\complexchooseroption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\compoundoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\continuousarithmeticasianlevyengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\continuousarithmeticasianvecerengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\everestoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\himalayaoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\holderextensibleoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\kirkspreadoptionengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\margrabeoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\mceverestengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\mchimalayaengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\mcpagodaengine.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\pagodaoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\partialtimebarrieroption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\simplechooseroption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\twoassetbarrieroption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\twoassetcorrelationoption.cpp" />
<ClCompile Include="ql\experimental\exoticoptions\writerextensibleoption.cpp" />
Expand Down Expand Up @@ -2170,7 +2171,9 @@
<ClCompile Include="ql\instruments\capfloor.cpp" />
<ClCompile Include="ql\instruments\claim.cpp" />
<ClCompile Include="ql\instruments\cliquetoption.cpp" />
<ClCompile Include="ql\instruments\complexchooseroption.cpp" />
<ClCompile Include="ql\instruments\compositeinstrument.cpp" />
<ClCompile Include="ql\instruments\compoundoption.cpp" />
<ClCompile Include="ql\instruments\cpicapfloor.cpp" />
<ClCompile Include="ql\instruments\cpiswap.cpp" />
<ClCompile Include="ql\instruments\creditdefaultswap.cpp" />
Expand All @@ -2196,6 +2199,7 @@
<ClCompile Include="ql\instruments\makeswaption.cpp" />
<ClCompile Include="ql\instruments\makevanillaswap.cpp" />
<ClCompile Include="ql\instruments\makeyoyinflationcapfloor.cpp" />
<ClCompile Include="ql\instruments\margrabeoption.cpp" />
<ClCompile Include="ql\instruments\multiassetoption.cpp" />
<ClCompile Include="ql\instruments\nonstandardswap.cpp" />
<ClCompile Include="ql\instruments\nonstandardswaption.cpp" />
Expand All @@ -2206,6 +2210,7 @@
<ClCompile Include="ql\instruments\quantobarrieroption.cpp" />
<ClCompile Include="ql\instruments\quantoforwardvanillaoption.cpp" />
<ClCompile Include="ql\instruments\quantovanillaoption.cpp" />
<ClCompile Include="ql\instruments\simplechooseroption.cpp" />
<ClCompile Include="ql\instruments\simplifynotificationgraph.cpp" />
<ClCompile Include="ql\instruments\stickyratchet.cpp" />
<ClCompile Include="ql\instruments\stock.cpp" />
Expand Down Expand Up @@ -2583,6 +2588,11 @@
<ClCompile Include="ql\pricingengines\credit\integralcdsengine.cpp" />
<ClCompile Include="ql\pricingengines\credit\isdacdsengine.cpp" />
<ClCompile Include="ql\pricingengines\credit\midpointcdsengine.cpp" />
<ClCompile Include="ql\pricingengines\exotic\analyticamericanmargrabeengine.cpp" />
<ClCompile Include="ql\pricingengines\exotic\analyticcomplexchooserengine.cpp" />
<ClCompile Include="ql\pricingengines\exotic\analyticcompoundoptionengine.cpp" />
<ClCompile Include="ql\pricingengines\exotic\analyticeuropeanmargrabeengine.cpp" />
<ClCompile Include="ql\pricingengines\exotic\analyticsimplechooserengine.cpp" />
<ClCompile Include="ql\pricingengines\forward\mcforwardeuropeanbsengine.cpp" />
<ClCompile Include="ql\pricingengines\forward\mcforwardeuropeanhestonengine.cpp" />
<ClCompile Include="ql\pricingengines\greeks.cpp" />
Expand Down
87 changes: 60 additions & 27 deletions QuantLib.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,9 @@
<Filter Include="pricingengines\basket">
<UniqueIdentifier>{4b67a796-2576-42be-89cc-b751a07e3973}</UniqueIdentifier>
</Filter>
<Filter Include="pricingengines\exotic">
<UniqueIdentifier>{50c1f3c8-4281-11ee-be56-0242ac120002}</UniqueIdentifier>
</Filter>
<Filter Include="pricingengines\forward">
<UniqueIdentifier>{25671919-a7a3-4197-943c-23a5df4e8146}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -801,9 +804,15 @@
<ClInclude Include="ql\instruments\cliquetoption.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\complexchooseroption.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\compositeinstrument.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\compoundoption.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\creditdefaultswap.hpp">
<Filter>instruments</Filter>
</ClInclude>
Expand Down Expand Up @@ -858,6 +867,9 @@
<ClInclude Include="ql\instruments\makeyoyinflationcapfloor.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\margrabeoption.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\multiassetoption.hpp">
<Filter>instruments</Filter>
</ClInclude>
Expand All @@ -882,6 +894,9 @@
<ClInclude Include="ql\instruments\quantovanillaoption.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\simplechooseroption.hpp">
<Filter>instruments</Filter>
</ClInclude>
<ClInclude Include="ql\instruments\simplifynotificationgraph.hpp">
<Filter>instruments</Filter>
</ClInclude>
Expand Down Expand Up @@ -2418,6 +2433,24 @@
<ClInclude Include="ql\pricingengines\basket\stulzengine.hpp">
<Filter>pricingengines\basket</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\exotic\all.hpp">
<Filter>pricingengines\exotic</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\exotic\analyticamericanmargrabeengine.hpp">
<Filter>pricingengines\exotic</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\exotic\analyticcomplexchooserengine.hpp">
<Filter>pricingengines\exotic</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\exotic\analyticcompoundoptionengine.hpp">
<Filter>pricingengines\exotic</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\exotic\analyticeuropeanmargrabeengine.hpp">
<Filter>pricingengines\exotic</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\exotic\analyticsimplechooserengine.hpp">
<Filter>pricingengines\exotic</Filter>
</ClInclude>
<ClInclude Include="ql\pricingengines\forward\all.hpp">
<Filter>pricingengines\forward</Filter>
</ClInclude>
Expand Down Expand Up @@ -4661,9 +4694,15 @@
<ClCompile Include="ql\instruments\cliquetoption.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\complexchooseroption.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\compositeinstrument.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\compoundoption.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\creditdefaultswap.cpp">
<Filter>instruments</Filter>
</ClCompile>
Expand Down Expand Up @@ -4712,6 +4751,9 @@
<ClCompile Include="ql\instruments\makeyoyinflationcapfloor.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\margrabeoption.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\multiassetoption.cpp">
<Filter>instruments</Filter>
</ClCompile>
Expand All @@ -4736,6 +4778,9 @@
<ClCompile Include="ql\instruments\quantovanillaoption.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\simplechooseroption.cpp">
<Filter>instruments</Filter>
</ClCompile>
<ClCompile Include="ql\instruments\simplifynotificationgraph.cpp">
<Filter>instruments</Filter>
</ClCompile>
Expand Down Expand Up @@ -5813,6 +5858,21 @@
<ClCompile Include="ql\pricingengines\cliquet\mcperformanceengine.cpp">
<Filter>pricingengines\cliquet</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\exotic\analyticamericanmargrabeengine.cpp">
<Filter>pricingengines\exotic</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\exotic\analyticcomplexchooserengine.cpp">
<Filter>pricingengines\exotic</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\exotic\analyticcompoundoptionengine.cpp">
<Filter>pricingengines\exotic</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\exotic\analyticeuropeanmargrabeengine.cpp">
<Filter>pricingengines\exotic</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\exotic\analyticsimplechooserengine.cpp">
<Filter>pricingengines\exotic</Filter>
</ClCompile>
<ClCompile Include="ql\pricingengines\lookback\analyticcontinuousfixedlookback.cpp">
<Filter>pricingengines\lookback</Filter>
</ClCompile>
Expand Down Expand Up @@ -6212,15 +6272,6 @@
<ClCompile Include="ql\experimental\fx\deltavolquote.cpp">
<Filter>experimental\fx</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analyticamericanmargrabeengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analyticcomplexchooserengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analyticeuropeanmargrabeengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analyticholderextensibleoptionengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
Expand All @@ -6230,9 +6281,6 @@
<ClCompile Include="ql\experimental\exoticoptions\analyticpdfhestonengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analyticsimplechooserengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analytictwoassetbarrierengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
Expand All @@ -6242,9 +6290,6 @@
<ClCompile Include="ql\experimental\exoticoptions\analyticwriterextensibleoptionengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\complexchooseroption.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\continuousarithmeticasianlevyengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
Expand All @@ -6263,9 +6308,6 @@
<ClCompile Include="ql\experimental\exoticoptions\kirkspreadoptionengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\margrabeoption.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\mceverestengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
Expand All @@ -6281,9 +6323,6 @@
<ClCompile Include="ql\experimental\exoticoptions\partialtimebarrieroption.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\simplechooseroption.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\twoassetbarrieroption.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
Expand Down Expand Up @@ -6587,12 +6626,6 @@
<ClCompile Include="ql\experimental\barrieroption\vannavolgabarrierengine.cpp">
<Filter>experimental\barrieroption</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\analyticcompoundoptionengine.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\exoticoptions\compoundoption.cpp">
<Filter>experimental\exoticoptions</Filter>
</ClCompile>
<ClCompile Include="ql\experimental\inflation\yoycapfloortermpricesurface.cpp">
<Filter>experimental\inflation</Filter>
</ClCompile>
Expand Down
13 changes: 13 additions & 0 deletions cmake/GenerateHeaders.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,19 @@ function(generate_dir_headers source_dir binary_dir)
list(FILTER children_hpp EXCLUDE REGEX "amortizingcmsratebond.hpp")
endif ()

# Same for some headers in experimental/exoticoptions
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 "riskybond.hpp")
list(FILTER children_hpp EXCLUDE REGEX "composite.hpp")
list(FILTER children_hpp EXCLUDE REGEX "lexicographicalview.hpp")
Expand Down
1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,7 @@ AC_CONFIG_FILES([
ql/pricingengines/capfloor/Makefile
ql/pricingengines/cliquet/Makefile
ql/pricingengines/credit/Makefile
ql/pricingengines/exotic/Makefile
ql/pricingengines/forward/Makefile
ql/pricingengines/inflation/Makefile
ql/pricingengines/lookback/Makefile
Expand Down
Loading

0 comments on commit 1f19d49

Please sign in to comment.