Module net.finmath.lib
Class LIBORIndex
- 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
-
- net.finmath.montecarlo.interestrate.products.indices.LIBORIndex
-
- All Implemented Interfaces:
Serializable
,Product
,TermStructureMonteCarloProduct
,MonteCarloProduct
public class LIBORIndex extends AbstractIndex
A (floating) forward rate index for a given period start offset (offset from fixing) and period length.- Version:
- 1.1
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LIBORIndex(double periodStartOffset, double periodLength)
Creates a forward rate index for a given period start offset (offset from fixing) and period length.LIBORIndex(String name, double periodStartOffset, double periodLength)
Creates a forward rate index for a given period start offset (offset from fixing) and period length.LIBORIndex(String name, String currency, String paymentOffsetCode, BusinessdayCalendar paymentBusinessdayCalendar, BusinessdayCalendar.DateRollConvention paymentDateRollConvention)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getPeriodLength()
Returns the tenor encoded as an pseudo act/365 daycount fraction.double
getPeriodLength(LIBORModelMonteCarloSimulationModel model, double fixingTime)
double
getPeriodStartOffset()
Returns the periodStartOffset as an act/365 daycount.RandomVariable
getValue(double evaluationTime, LIBORModelMonteCarloSimulationModel model)
This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.Set<String>
queryUnderlyings()
Returns a set of underlying names referenced by this product component (i.e., required for valuation) or null if none.String
toString()
-
Methods inherited from class net.finmath.montecarlo.interestrate.products.indices.AbstractIndex
getName
-
Methods inherited from class net.finmath.montecarlo.interestrate.products.components.AbstractProductComponent
getExecutor, getValues
-
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
-
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
-
LIBORIndex
public LIBORIndex(String name, String currency, String paymentOffsetCode, BusinessdayCalendar paymentBusinessdayCalendar, BusinessdayCalendar.DateRollConvention paymentDateRollConvention)
-
LIBORIndex
public LIBORIndex(String name, double periodStartOffset, double periodLength)
Creates a forward rate index for a given period start offset (offset from fixing) and period length.- Parameters:
name
- The name of an index. Used to map an index on a curve.periodStartOffset
- An offset added to the fixing to define the period start.periodLength
- The period length
-
LIBORIndex
public LIBORIndex(double periodStartOffset, double periodLength)
Creates a forward rate index for a given period start offset (offset from fixing) and period length.- Parameters:
periodStartOffset
- An offset added to the fixing to define the period start.periodLength
- The period length
-
-
Method Detail
-
getValue
public RandomVariable getValue(double evaluationTime, 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 classAbstractIndex
- 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.
-
getPeriodStartOffset
public double getPeriodStartOffset()
Returns the periodStartOffset as an act/365 daycount.- Returns:
- the periodStartOffset
-
getPeriodLength
public double getPeriodLength(LIBORModelMonteCarloSimulationModel model, double fixingTime)
-
getPeriodLength
public double getPeriodLength()
Returns the tenor encoded as an pseudo act/365 daycount fraction.- Returns:
- the periodLength The tenor as an act/365 daycount fraction.
-
queryUnderlyings
public Set<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 classAbstractProductComponent
- Returns:
- A set of underlying names referenced by this product component (i.e., required for valuation) or null if none.
-
toString
public String toString()
- Overrides:
toString
in classAbstractMonteCarloProduct
-
-