net.finmath.montecarlo.interestrate.products.components
Class AbstractProductComponent
- java.lang.Object
-
- net.finmath.montecarlo.AbstractMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.components.AbstractProductComponent
-
- All Implemented Interfaces:
- java.io.Serializable, ProductInterface
- Direct Known Subclasses:
- AbstractIndex, AbstractPeriod, AccrualAccount, Cashflow, Exposure, IndexedValue, Option, Portfolio, ProductCollection
public abstract class AbstractProductComponent extends AbstractLIBORMonteCarloProduct implements java.io.Serializable
Base class for product components. Product components are small functions mapping a vector of random variables to a random variable. Components are numeraire adjusted and can be valued on its own.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description AbstractProductComponent()AbstractProductComponent(java.lang.String currency)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description java.util.Map<java.lang.String,java.lang.Object>getValues(double evaluationTime, LIBORModelMonteCarloSimulationInterface model)This method returns the valuation of the product within the specified model, evaluated at a given evalutationTime.abstract java.util.Set<java.lang.String>queryUnderlyings()Returns a set of underlying names referenced by this product component (i.e., required for valuation) or null if none.-
Methods inherited from class net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
getFactorDrift, getValue, getValue, getValueForModifiedData
-
Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
-
-
-
Constructor Detail
-
AbstractProductComponent
public AbstractProductComponent(java.lang.String currency)
-
AbstractProductComponent
public AbstractProductComponent()
-
-
Method Detail
-
queryUnderlyings
public abstract java.util.Set<java.lang.String> queryUnderlyings()
Returns a set of underlying names referenced by this product component (i.e., required for valuation) or null if none.- Returns:
- A set of underlying names referenced by this product component (i.e., required for valuation) or null if none.
-
getValues
public java.util.Map<java.lang.String,java.lang.Object> getValues(double evaluationTime, LIBORModelMonteCarloSimulationInterface model) throws CalculationExceptionDescription copied from class:AbstractLIBORMonteCarloProductThis 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.- Overrides:
getValuesin classAbstractLIBORMonteCarloProduct- 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 thecause()method.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG