Module net.finmath.lib
Class AbstractIndex
- java.lang.Object
-
- net.finmath.montecarlo.AbstractMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.components.AbstractProductComponent
-
- net.finmath.montecarlo.interestrate.products.indices.AbstractIndex
-
- All Implemented Interfaces:
Serializable
,Product
,TermStructureMonteCarloProduct
,MonteCarloProduct
- Direct Known Subclasses:
AccruedInterest
,AnalyticModelForwardCurveIndex
,AnalyticModelIndex
,CappedFlooredIndex
,ConstantMaturitySwaprate
,DateIndex
,FixedCoupon
,ForwardCurveIndex
,LaggedIndex
,LIBORIndex
,LinearCombinationIndex
,MaxIndex
,MinIndex
,NumerairePerformanceIndex
,NumerairePerformanceOnScheduleIndex
,PerformanceIndex
,PowIndex
,ProductIndex
,TimeDiscreteEndOfMonthIndex
,TriggerIndex
,UnsupportedIndex
public abstract class AbstractIndex extends AbstractProductComponent
Base class for indices. Indices are small functions mapping time and a vector of random variables to a random variable, where the time is the fixing time of the index.- Version:
- 1.0
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractIndex()
Initialize an abstract index which does not have a dedicated name or currency, e.g.AbstractIndex(String name)
Initialize the name of an index.AbstractIndex(String name, String currency)
Initialize name and currency of an index.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description String
getName()
Returns the name of the index.abstract RandomVariable
getValue(double fixingTime, LIBORModelMonteCarloSimulationModel 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.interestrate.products.components.AbstractProductComponent
getExecutor, getValues, queryUnderlyings
-
Methods inherited from class net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
getFactorDrift, getValue, getValueForModifiedData
-
Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.finmath.montecarlo.MonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData
-
-
-
-
Constructor Detail
-
AbstractIndex
public AbstractIndex(String name, String currency)
Initialize name and currency of an index.- Parameters:
name
- The name of an index. Used to map an index on a curve.currency
- The natural currency of an index. This more for compatibility purposes, since the information sould be contained in the name.
-
AbstractIndex
public AbstractIndex(String name)
Initialize the name of an index.- Parameters:
name
- The name of an index. Used to map an index on a curve.
-
AbstractIndex
public AbstractIndex()
Initialize an abstract index which does not have a dedicated name or currency, e.g. a function of other indicies.
-
-
Method Detail
-
getValue
public abstract RandomVariable getValue(double fixingTime, LIBORModelMonteCarloSimulationModel model) throws CalculationException
Description copied from interface:TermStructureMonteCarloProduct
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 interfaceTermStructureMonteCarloProduct
- Specified by:
getValue
in classAbstractLIBORMonteCarloProduct
- Parameters:
fixingTime
- 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.
-
getName
public String getName()
Returns the name of the index.- Returns:
- The name of the index.
-
-