QuantLib-SWIG icon indicating copy to clipboard operation
QuantLib-SWIG copied to clipboard

Expose Libor Market Model and BGM-Model in Python

Open GiacomoSergio opened this issue 3 years ago • 1 comments
trafficstars

Currently the LMM and BGM model classes are in the C++ repo but are not exposed to Python. It would be nice to have them also exposed to Python.

This is the minimum set of classes that would be useful to have exposed:

Base classes (3):

  • EvolutionDescription class, in marketmodel.hpp and in evolutiondescription.hpp
  • MarketModel, marketmodel.hpp
  • MarketModelFactory, marketmodel.hpp

Brownian generator classes (5):

  • Browniangenerator & BrownianGeneratorFactory, browniangenerator.hpp
  • MTBrownianGenerator & MTBrownianGeneratorFactory, browniangenerators/mtbrowniangenerator.hpp
  • SobolBrownianGenerator & SobolBrownianGeneratorFactory, browniangenerators/sobolbrowniangenerator.hpp

Correlation classes (2):

  • PiecewiseConstantCorrelation,correlations/piecewiseconstatcorrelation.hpp
  • ExponentialForwardCorrelation, correlations/expcorrelations.hpp

Curve state classes (2):

  • CurveState, curvestate.hpp
  • LMMCurveState, curvestates/lmmcurvestate.hpp

Drift calculation classes (1):

  • LMMDriftCalculator, driftcomputation/lmmdriftcalculator.hpp

Evolvers (2):

  • MarketModelEvolver, evolver.hpp
  • LogNormalFwdRateIpc, evolvers/lognormalfwdrateipc.hpp

Models (1):

  • AbcdVol, models/abcdvol.hpp

Helpers / utility (2):

  • AbcdMathFunction, from ql/math/abcdmathfunction.hpp
  • AbcdFunction, from ql/termstructures/volatility/abcd.hpp

Thanks a lot!

GiacomoSergio avatar May 28 '22 10:05 GiacomoSergio

Thanks for posting! It might take a while before we look at your issue, so don't worry if there seems to be no feedback. We'll get to it.

boring-cyborg[bot] avatar May 28 '22 10:05 boring-cyborg[bot]

I see that the issue was removed from Release 1.28. Do you think it will be scheduled in the future? Thank you.

GiacomoSergio avatar Nov 14 '22 12:11 GiacomoSergio

I didn't manage to work on this in time for the 1.28 release. I'll try again for 1.29.

lballabio avatar Nov 14 '22 16:11 lballabio

Done in #514.

lballabio avatar Nov 30 '22 14:11 lballabio