net.finmath.montecarlo.products
Class PortfolioMonteCarloProduct
- java.lang.Object
-
- net.finmath.montecarlo.AbstractMonteCarloProduct
-
- net.finmath.montecarlo.products.PortfolioMonteCarloProduct
-
- All Implemented Interfaces:
- ProductInterface
public class PortfolioMonteCarloProduct extends AbstractMonteCarloProduct
A portfolio of products, each product being of AbstractMonteCarloProduct type. The valuation is performed multi-threaded over the portfolio of products.
-
-
Constructor Summary
Constructors Constructor and Description PortfolioMonteCarloProduct(AbstractMonteCarloProduct[] products)Create a portfolio of products, each product being of AbstractMonteCarloProduct type.PortfolioMonteCarloProduct(AbstractMonteCarloProduct[] products, double[] weights)Create a portfolio of products, each product being of AbstractMonteCarloProduct type and weighted with a given weight.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description RandomVariableInterfacegetValue(double evaluationTime, MonteCarloSimulationInterface model)This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.-
Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
-
-
-
Constructor Detail
-
PortfolioMonteCarloProduct
public PortfolioMonteCarloProduct(AbstractMonteCarloProduct[] products)
Create a portfolio of products, each product being of AbstractMonteCarloProduct type.- Parameters:
products- An array of products.
-
PortfolioMonteCarloProduct
public PortfolioMonteCarloProduct(AbstractMonteCarloProduct[] products, double[] weights)
Create a portfolio of products, each product being of AbstractMonteCarloProduct type and weighted with a given weight.- Parameters:
products- An array of products.weights- An array of weights.
-
-
Method Detail
-
getValue
public RandomVariableInterface getValue(double evaluationTime, MonteCarloSimulationInterface model) throws CalculationException
Description copied from class:AbstractMonteCarloProductThis method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. 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. More generally: The value random variable is a random variable V*(t) such that the time-t conditional expectation of V*(t) is equal to the value of the financial product in time t. An example for V*(t) is the sum of t-discounted payoffs. Cashflows prior evaluationTime are not considered.- Specified by:
getValuein classAbstractMonteCarloProduct- 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