Package org.drip.dynamics.hjm
Class MultiFactorVolatility
java.lang.Object
org.drip.dynamics.hjm.MultiFactorVolatility
- Direct Known Subclasses:
LognormalLIBORVolatility
public class MultiFactorVolatility
extends java.lang.Object
MultiFactorVolatility implements the Volatility of the Multi-factor Stochastic Evolution Process.
The Factors may come from the Underlying Stochastic Variables, or from Principal Components.
- 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 MultiFactorVolatility(MarketSurface[] aMSVolatility, PrincipalFactorSequenceGenerator pfsg)
MultiFactorVolatility Constructor -
Method Summary
Modifier and Type Method Description double[]
factorPointVolatility(int iXDate, int iYDate)
Compute the Array of Factor Point Volatilitiesdouble
factorPointVolatility(int iFactorIndex, int iXDate, int iYDate)
Compute the Factor Point VolatilityPrincipalFactorSequenceGenerator
msg()
Retrieve the Principal Factor Sequence Generatordouble
pointVolatilityModulus(int iXDate, int iYDate)
Compute the Point Volatility Modulusdouble
pointVolatilityModulusDerivative(int iXDate, int iYDate, int iOrder, boolean bTerminal)
Compute the Point Volatility Modulus Derivativedouble
volatilityIntegral(int iFactorIndex, int iXDate, int iYDate)
Compute the Factor Volatility IntegralMarketSurface[]
volatilitySurface()
Retrieve the Array of Volatility Surfacesdouble
weightedFactorPointVolatility(int iFactorIndex, int iXDate, int iYDate)
Compute the Weighted Factor Point VolatilityR1ToR1
xDateVolatilityFunction(int iFactorIndex, int iXDate)
Retrieve the Factor-Specific Univariate Volatility Function for the Specified DateMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
MultiFactorVolatility
public MultiFactorVolatility(MarketSurface[] aMSVolatility, PrincipalFactorSequenceGenerator pfsg) throws java.lang.ExceptionMultiFactorVolatility Constructor- Parameters:
aMSVolatility
- Array of the Multi-Factor Volatility Surfacespfsg
- Principal Factor Sequence Generator- Throws:
java.lang.Exception
- Thrown if Inputs are Invalid
-
-
Method Details
-
volatilitySurface
Retrieve the Array of Volatility Surfaces- Returns:
- The Array of Volatility Surfaces
-
msg
Retrieve the Principal Factor Sequence Generator- Returns:
- The Principal Factor Sequence Generator
-
xDateVolatilityFunction
Retrieve the Factor-Specific Univariate Volatility Function for the Specified Date- Parameters:
iFactorIndex
- The Factor IndexiXDate
- The X Date- Returns:
- The Factor-Specific Univariate Volatility Function for the Specified Date
-
volatilityIntegral
public double volatilityIntegral(int iFactorIndex, int iXDate, int iYDate) throws java.lang.ExceptionCompute the Factor Volatility Integral- Parameters:
iFactorIndex
- The Factor IndexiXDate
- The X DateiYDate
- The Y Date- Returns:
- The Factor Volatility Integral
- Throws:
java.lang.Exception
- Thrown if the Factor Volatility Integral cannot be computed
-
factorPointVolatility
public double factorPointVolatility(int iFactorIndex, int iXDate, int iYDate) throws java.lang.ExceptionCompute the Factor Point Volatility- Parameters:
iFactorIndex
- The Factor IndexiXDate
- The X DateiYDate
- The Y Date- Returns:
- The Factor Point Volatility
- Throws:
java.lang.Exception
- Thrown if the Factor Point Volatility cannot be computed
-
factorPointVolatility
public double[] factorPointVolatility(int iXDate, int iYDate)Compute the Array of Factor Point Volatilities- Parameters:
iXDate
- The X DateiYDate
- The Y Date- Returns:
- The Array of Factor Point Volatilities
-
weightedFactorPointVolatility
public double weightedFactorPointVolatility(int iFactorIndex, int iXDate, int iYDate) throws java.lang.ExceptionCompute the Weighted Factor Point Volatility- Parameters:
iFactorIndex
- The Factor IndexiXDate
- The X DateiYDate
- The Y Date- Returns:
- The Weighted Factor Point Volatility
- Throws:
java.lang.Exception
- Thrown if the Weighted Factor Point Volatility cannot be computed
-
pointVolatilityModulus
public double pointVolatilityModulus(int iXDate, int iYDate) throws java.lang.ExceptionCompute the Point Volatility Modulus- Parameters:
iXDate
- The X DateiYDate
- The Y Date- Returns:
- The Point Volatility Modulus
- Throws:
java.lang.Exception
- Thrown if the Point Volatility Modulus cannot be computed
-
pointVolatilityModulusDerivative
public double pointVolatilityModulusDerivative(int iXDate, int iYDate, int iOrder, boolean bTerminal) throws java.lang.ExceptionCompute the Point Volatility Modulus Derivative- Parameters:
iXDate
- The X DateiYDate
- The Y DateiOrder
- The Derivative OrderbTerminal
- TRUE - Derivative off of the Y Date; FALSE - Derivative off of the X Date- Returns:
- The Point Volatility Modulus Derivative
- Throws:
java.lang.Exception
- Thrown if the Point Volatility Modulus Derivative cannot be computed
-