Documentation of 'net.finmath.montecarlo.interestrate.products.Portfolio' Java class
Portfolio
net.finmath.montecarlo.interestrate.products

Class Portfolio

  • All Implemented Interfaces:
    java.io.Serializable, ProductInterface


    public class Portfolio
    extends AbstractProductComponent
    Implements the pricing of a portfolio of AbstractLIBORMonteCarloProduct products under a AbstractLIBORMarketModel. The products can be scaled by weights. The value of the portfolio is that of \( \sum_{i=0}^{n} weights\[i\] \cdot products\[i\] \text{.} \) Note: Currently the products have to be of the same currency.
    See Also:
    Serialized Form
    • Constructor Detail

      • Portfolio

        public Portfolio(AbstractLIBORMonteCarloProduct product,
                         double weight)
        Creates a portfolio consisting of a single product and a weight. The currency of this portfolio is the currency of the product.
        Parameters:
        product - A product.
        weight - A weight.
      • Portfolio

        public Portfolio(AbstractLIBORMonteCarloProduct[] products,
                         double[] weights)
        Creates a portfolio consisting of a set of products and a weights. Note: Currently the products have to be of the same currency.
        Parameters:
        products - An array of products.
        weights - An array of weights (having the same lengths as the array of products).
      • Portfolio

        public Portfolio(java.lang.String currency,
                         AbstractLIBORMonteCarloProduct[] products,
                         double[] weights)
        Creates a portfolio consisting of a set of products and a weights. Note: Currently the products have to be of the same currency, namely the one provided.
        Parameters:
        currency - The currency of the value of this portfolio when calling getValue.
        products - An array of products.
        weights - An array of weights (having the same lengths as the array of products).
    • Method Detail

      • queryUnderlyings

        public java.util.Set<java.lang.String> queryUnderlyings()
        Description copied from class: AbstractProductComponent
        Returns a set of underlying names referenced by this product component (i.e., required for valuation) or null if none.
        Specified by:
        queryUnderlyings in class AbstractProductComponent
        Returns:
        A set of underlying names referenced by this product component (i.e., required for valuation) or null if none.
      • getValue

        public RandomVariableInterface getValue(double evaluationTime,
                                                LIBORModelMonteCarloSimulationInterface 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.
        Specified by:
        getValue in class AbstractLIBORMonteCarloProduct
        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.
      • getWeights

        public double[] getWeights()
        Returns:
        the weights

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.