java.lang.Object
net.finmath.montecarlo.hybridassetinterestrate.ModelFactory

public class ModelFactory extends Object
Helper factory to create a simple equity hybrid LIBOR market model.
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getInstance

      public static ModelFactory getInstance()
    • getHybridAssetLIBORModel

      public HybridAssetLIBORModelMonteCarloSimulation getHybridAssetLIBORModel(LIBORModelMonteCarloSimulationModel baseModel, BrownianMotion brownianMotion, double[] initialValues, double riskFreeRate, double[][] correlations, double[] maturities, double[] strikes, double[] volatilities, DiscountCurve discountCurve) throws CalculationException
      Create a simple equity hybrid LIBOR market model with a calibration of the equity processes to a given Black-Scholes implied volatility.
      Parameters:
      baseModel - LIBOR model providing the stochastic numeraire.
      brownianMotion - BrownianMotion for the asset process.
      initialValues - Initial value of the asset process.
      riskFreeRate - Not used (internally used to generate paths, will be later adjusted)
      correlations - Correlation of the asset processes.
      maturities - Maturities of the options (one for each asset process).
      strikes - Strikes of the options (one for each asset process).
      volatilities - Implied volatilities of the options (one for each asset process).
      discountCurve - Discount curve used for the final hybrid model (not used in calibration).
      Returns:
      An object implementing HybridAssetLIBORModelMonteCarloSimulation, where each asset process is calibrated to a given option.
      Throws:
      CalculationException - Thrown if calibration fails.