Interface TermStructureMonteCarloProduct

All Superinterfaces:
MonteCarloProduct, Product
All Known Implementing Classes:
AbstractIndex, AbstractLIBORMonteCarloProduct, AbstractPeriod, AbstractProductComponent, AbstractTermStructureMonteCarloProduct, AccrualAccount, AccruedInterest, AnalyticModelForwardCurveIndex, AnalyticModelIndex, BermudanSwaption, BermudanSwaptionFromSwapSchedules, Bond, CancelableSwap, Caplet, CappedFlooredIndex, Cashflow, Choice, CMSOption, ConstantMaturitySwaprate, DateIndex, DigitalCaplet, DigitalFloorlet, ExpectedTailLoss, ExposureEstimator, FixedCoupon, FlexiCap, ForwardCurveIndex, ForwardRateVolatilitySurfaceCurvature, FundingCapacity, IndexedValue, InterestRateMonteCarloProductFactory.SwapLegMonteCarlo, InterestRateMonteCarloProductFactory.SwapMonteCarlo, InterestRateMonteCarloProductFactory.SwaptionPhysicalMonteCarlo, LaggedIndex, LIBORBond, LIBORIndex, LinearCombinationIndex, MaxIndex, MinIndex, MoneyMarketAccount, Numeraire, NumerairePerformanceIndex, NumerairePerformanceOnScheduleIndex, Option, PerformanceIndex, Period, Portfolio, PowIndex, ProductCollection, ProductIndex, Selector, SimpleCappedFlooredFloatingRateBond, SimpleSwap, SimpleZeroSwap, Swap, SwapLeg, SwapLegWithFundingProvider, Swaption, SwaptionAnalyticApproximation, SwaptionAnalyticApproximationRebonato, SwaptionATM, SwaptionFromSwapSchedules, SwaptionGeneralizedAnalyticApproximation, SwaptionSimple, SwaptionSingleCurve, SwaptionSingleCurveAnalyticApproximation, SwaptionWithComponents, SwapWithComponents, TimeDiscreteEndOfMonthIndex, TriggerIndex, UnsupportedIndex

public interface TermStructureMonteCarloProduct extends MonteCarloProduct
Interface for products requiring an LIBORModelMonteCarloSimulationModel as base class
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getValue

      RandomVariable getValue(double evaluationTime, TermStructureMonteCarloSimulationModel model) throws CalculationException
      This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. Note: For a lattice this is often the value conditional to evalutationTime, for a Monte-Carlo simulation this is the (sum of) value discounted to evaluation time. Cashflows prior evaluationTime are not considered.
      Parameters:
      evaluationTime - The time on which this products value should be observed.
      model - The model used to price the product.
      Returns:
      The random variable representing the value of the product discounted to evaluation time
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getValues

      Map<String,​Object> getValues(double evaluationTime, TermStructureMonteCarloSimulationModel model) throws CalculationException
      This method returns the valuation of the product within the specified model, evaluated at a given evalutationTime. The valuation is returned in terms of a map. The map may contain additional information. Note: For a lattice this is often the value conditional to evalutationTime, for a Monte-Carlo simulation this is the (sum of) value discounted to evaluation time. Cashflows prior evaluationTime are not considered.
      Parameters:
      evaluationTime - The time on which this products value should be observed.
      model - The model used to price the product.
      Returns:
      The random variable representing the value of the product discounted to evaluation time
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getFactorDrift

      Overwrite this method if the product supplies a custom FactorDriftInterface to be used in proxy simulation.
      Parameters:
      referenceScheme - The reference scheme
      targetScheme - The target scheme
      Returns:
      The FactorDriftInterface