Package org.drip.dynamics.hjm
Class MultiFactorStateEvolver
java.lang.Object
org.drip.dynamics.hjm.MultiFactorStateEvolver
- All Implemented Interfaces:
PointStateEvolver
public class MultiFactorStateEvolver extends java.lang.Object implements PointStateEvolver
MultiFactorStateEvolver sets up and implements the Base Multi-Factor No-arbitrage Dynamics of the
Rates State Quantifiers as formulated in:
In particular it looks to evolve the Multi-factor Instantaneous Forward Rates.
- Heath, D., R. Jarrow, and A. Morton (1992): Bond Pricing and Term Structure of Interest Rates: A New Methodology for Contingent Claims Valuation Econometrica 60 (1) 77-105
In particular it looks to evolve the Multi-factor Instantaneous Forward Rates.
- Module = Product Core Module
- Library = Fixed Income Analytics
- Project = HJM, Hull White, LMM, and SABR Dynamic Evolution Models
- Package = HJM Based Latent State Evolution
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description MultiFactorStateEvolver(FundingLabel lslFunding, ForwardLabel lslForward, MultiFactorVolatility mfv, R1ToR1 auInitialInstantaneousForwardRate)
MultiFactorStateEvolver Constructor -
Method Summary
Modifier and Type Method Description double
compoundedShortRateIncrement(int iSpotDate, int iViewDate, int iTargetDate, double dblCompoundedShortRate, double dblShortRate, int iViewTimeIncrement)
Compute the Continuously Compounded Short Rate Increment given the Spot Date, the View Date, the Target Date, the Continuously Compounded Short Rate, the Current Short Rate, and the View Time Increment.LSQMPointUpdate
evolve(int iSpotDate, int iViewDate, int iSpotTimeIncrement, LSQMPointUpdate lsqmPrev)
Evolve the Latent State and return the LSQM Point UpdateForwardLabel
forwardLabel()
Retrieve the Forward LabelFundingLabel
fundingLabel()
Retrieve the Funding LabelR1ToR1
instantaneousForwardInitialTermStructure()
Retrieve the Initial Instantaneous Forward Rate Term Structuredouble
instantaneousForwardRateIncrement(int iViewDate, int iTargetDate, int iViewTimeIncrement)
Compute the Instantaneous Forward Rate Increment given the View Date, the Target Date, and the View Time Incrementdouble
liborForwardRateIncrement(int iSpotDate, int iViewDate, int iTargetDate, double dblLIBORForwardRate, int iViewTimeIncrement)
Compute the LIBOR Forward Rate Increment given the Spot Date, the View Date, the Target Date, the Current LIBOR Forward Rate, and the View Time IncrementMultiFactorVolatility
mfv()
Retrieve the Multi-factor Volatility Instancedouble
proportionalPriceIncrement(int iViewDate, int iTargetDate, double dblShortRate, int iViewTimeIncrement)
Compute the Proportional Price Increment given the View Date, the Target Date, the Short Rate, and the View Time Incrementdouble
shiftedLIBORForwardIncrement(int iSpotDate, int iViewDate, int iTargetDate, double dblShiftedLIBORForwardRate, int iViewTimeIncrement)
Compute the Shifted LIBOR Forward Rate Increment given the Spot Date, the View Date, the Target Date, the Current Shifted LIBOR Forward Rate, and the View Time Incrementdouble
shortRateIncrement(int iSpotDate, int iViewDate, int iViewTimeIncrement)
Compute the Short Rate Increment given the Spot Date, the View Date, and the View Time IncrementMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
MultiFactorStateEvolver
public MultiFactorStateEvolver(FundingLabel lslFunding, ForwardLabel lslForward, MultiFactorVolatility mfv, R1ToR1 auInitialInstantaneousForwardRate) throws java.lang.ExceptionMultiFactorStateEvolver Constructor- Parameters:
lslFunding
- The Funding Latent State LabellslForward
- The Forward Latent State Labelmfv
- The Multi-Factor Volatility InstanceauInitialInstantaneousForwardRate
- The Initial Instantaneous Forward Rate Term Structure- Throws:
java.lang.Exception
- Thrown if Inputs are Invalid
-
-
Method Details
-
fundingLabel
Retrieve the Funding Label- Returns:
- The Funding Label
-
forwardLabel
Retrieve the Forward Label- Returns:
- The Forward Label
-
mfv
Retrieve the Multi-factor Volatility Instance- Returns:
- The Multi-factor Volatility Instance
-
instantaneousForwardInitialTermStructure
Retrieve the Initial Instantaneous Forward Rate Term Structure- Returns:
- The Initial Instantaneous Forward Rate Term Structure
-
instantaneousForwardRateIncrement
public double instantaneousForwardRateIncrement(int iViewDate, int iTargetDate, int iViewTimeIncrement) throws java.lang.ExceptionCompute the Instantaneous Forward Rate Increment given the View Date, the Target Date, and the View Time Increment- Parameters:
iViewDate
- The View DateiTargetDate
- The Target DateiViewTimeIncrement
- The View Time Increment- Returns:
- The Instantaneous Forward Rate Increment
- Throws:
java.lang.Exception
- Thrown if the Instantaneous Forward Rate Increment cannot be computed
-
proportionalPriceIncrement
public double proportionalPriceIncrement(int iViewDate, int iTargetDate, double dblShortRate, int iViewTimeIncrement) throws java.lang.ExceptionCompute the Proportional Price Increment given the View Date, the Target Date, the Short Rate, and the View Time Increment- Parameters:
iViewDate
- The View DateiTargetDate
- The Target DatedblShortRate
- The Short RateiViewTimeIncrement
- The View Time Increment- Returns:
- The Proportional Price Increment
- Throws:
java.lang.Exception
- Thrown if the Proportional Price Increment cannot be computed
-
shortRateIncrement
public double shortRateIncrement(int iSpotDate, int iViewDate, int iViewTimeIncrement) throws java.lang.ExceptionCompute the Short Rate Increment given the Spot Date, the View Date, and the View Time Increment- Parameters:
iSpotDate
- The Spot DateiViewDate
- The View DateiViewTimeIncrement
- The View Time Increment- Returns:
- The Short Rate Increment
- Throws:
java.lang.Exception
- Thrown if the Short Rate Increment cannot be computed
-
compoundedShortRateIncrement
public double compoundedShortRateIncrement(int iSpotDate, int iViewDate, int iTargetDate, double dblCompoundedShortRate, double dblShortRate, int iViewTimeIncrement) throws java.lang.ExceptionCompute the Continuously Compounded Short Rate Increment given the Spot Date, the View Date, the Target Date, the Continuously Compounded Short Rate, the Current Short Rate, and the View Time Increment.- Parameters:
iSpotDate
- The Spot DateiViewDate
- The View DateiTargetDate
- The Target DatedblCompoundedShortRate
- The Compounded Short RatedblShortRate
- The Short RateiViewTimeIncrement
- The View Time Increment- Returns:
- The Short Rate Increment
- Throws:
java.lang.Exception
- Thrown if the Continuously Compounded Short Rate Increment cannot be computed
-
liborForwardRateIncrement
public double liborForwardRateIncrement(int iSpotDate, int iViewDate, int iTargetDate, double dblLIBORForwardRate, int iViewTimeIncrement) throws java.lang.ExceptionCompute the LIBOR Forward Rate Increment given the Spot Date, the View Date, the Target Date, the Current LIBOR Forward Rate, and the View Time Increment- Parameters:
iSpotDate
- The Spot DateiViewDate
- The View DateiTargetDate
- The Target DatedblLIBORForwardRate
- The LIBOR Forward RateiViewTimeIncrement
- The View Time Increment- Returns:
- The Forward Rate Increment
- Throws:
java.lang.Exception
- Thrown if the LIBOR Forward Rate Increment cannot be computed
-
shiftedLIBORForwardIncrement
public double shiftedLIBORForwardIncrement(int iSpotDate, int iViewDate, int iTargetDate, double dblShiftedLIBORForwardRate, int iViewTimeIncrement) throws java.lang.ExceptionCompute the Shifted LIBOR Forward Rate Increment given the Spot Date, the View Date, the Target Date, the Current Shifted LIBOR Forward Rate, and the View Time Increment- Parameters:
iSpotDate
- The Spot DateiViewDate
- The View DateiTargetDate
- The Target DatedblShiftedLIBORForwardRate
- The Shifted LIBOR Forward RateiViewTimeIncrement
- The View Time Increment- Returns:
- The Shifted Forward Rate Increment
- Throws:
java.lang.Exception
- Thrown if the Shifted LIBOR Forward Rate Increment cannot be computed
-
evolve
public LSQMPointUpdate evolve(int iSpotDate, int iViewDate, int iSpotTimeIncrement, LSQMPointUpdate lsqmPrev)Description copied from interface:PointStateEvolver
Evolve the Latent State and return the LSQM Point Update- Specified by:
evolve
in interfacePointStateEvolver
- Parameters:
iSpotDate
- The Spot DateiViewDate
- The View DateiSpotTimeIncrement
- The Spot Time IncrementlsqmPrev
- The Previous LSQM Point Update- Returns:
- The LSQM Point Update
-