Module net.finmath.lib
Class BasketOption
java.lang.Object
net.finmath.montecarlo.AbstractMonteCarloProduct
net.finmath.montecarlo.assetderivativevaluation.products.AbstractAssetMonteCarloProduct
net.finmath.montecarlo.assetderivativevaluation.products.BasketOption
- All Implemented Interfaces:
Product
,AssetMonteCarloProduct
,MonteCarloProduct
Implements valuation of a European option on a basket of asset.
Given a model for asset \( S_{i} \), the European option with
basket weights \( \alpha_{i} \), strike K, maturity T
pays \[ max\left( \sum_{i} \alpha_{i} S_{i}(T) - K , 0 \right) \] in T.
Note that the specification of \( \alpha_{i} \) and \( K \) allows to construct some
special cases, like
- a European option \( \alpha_{1} = 1 \), \( \alpha_{j} = 0 \) for \( j \neq 1 \)
- an exchange option \( \alpha_{1} = 1 \), \( \alpha_{2} = -1 \), \( K = 0 \)
- Version:
- 1.0
- Author:
- Christian Fries
-
Constructor Summary
ConstructorsConstructorDescriptionBasketOption(double maturity, double strike, double[] weights)
Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case). -
Method Summary
Modifier and TypeMethodDescriptiongetValue(double evaluationTime, AssetModelMonteCarloSimulationModel 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.assetderivativevaluation.products.AbstractAssetMonteCarloProduct
getValue
Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
Constructor Details
-
BasketOption
public BasketOption(double maturity, double strike, double[] weights)Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).- Parameters:
maturity
- The maturity T in the option payoff \( max\left( \sum_{i} \alpha_{i} S_{i}(T) - K , 0 \right) \).strike
- The strike K in the option payoff \( max\left( \sum_{i} \alpha_{i} S_{i}(T) - K , 0 \right) \).weights
- The weights \( \alpha_{i} \) in the option payof \( max\left( \sum_{i} \alpha_{i} S_{i}(T) - K , 0 \right) \).
-
-
Method Details
-
getValue
public RandomVariable getValue(double evaluationTime, AssetModelMonteCarloSimulationModel model) throws CalculationExceptionThis 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 interfaceAssetMonteCarloProduct
- Specified by:
getValue
in classAbstractAssetMonteCarloProduct
- 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.
-