public class StochasticVolatilityStateEvolver extends java.lang.Object implements PointStateEvolver
Constructor and Description |
---|
StochasticVolatilityStateEvolver(ForwardLabel lslForward,
double dblBeta,
double dblRho,
double dblVolatilityOfVolatility,
UnivariateSequenceGenerator usgForwardRate,
UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
StochasticVolatilityStateEvolver Constructor
|
Modifier and Type | Method and Description |
---|---|
double |
beta()
Retrieve SABR Beta
|
static StochasticVolatilityStateEvolver |
CEV(ForwardLabel lslForward,
double dblBeta,
double dblRho,
UnivariateSequenceGenerator usgForwardRate,
UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
Create a Constant Elasticity of Variance SABR Instance
|
ImpliedBlackVolatility |
computeATMBlackVolatility(double dblATMForwardRate,
double dblTTE,
double dblSigma0)
Compute the Implied ATM Black Volatility for the ATM Forward Rate and the TTE
|
ImpliedBlackVolatility |
computeBlackVolatility(double dblStrike,
double dblATMForwardRate,
double dblTTE,
double dblSigma0)
Compute the Implied Black Volatility for the Specified Strike, the ATM Forward Rate, and the TTE
|
LSQMPointUpdate |
evolve(int iSpotDate,
int iViewDate,
int iSpotTimeIncrement,
LSQMPointUpdate lsqmPrev)
Evolve the Latent State and return the LSQM Point Update
|
ForwardLabel |
forwardLabel()
Retrieve the Forward Label
|
static StochasticVolatilityStateEvolver |
Gaussian(ForwardLabel lslForward,
double dblRho,
double dblVolatilityOfVolatility,
UnivariateSequenceGenerator usgForwardRate,
UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
Create a Gaussian SABR Instance
|
static StochasticVolatilityStateEvolver |
Lognormal(ForwardLabel lslForward,
double dblRho,
double dblVolatilityOfVolatility,
UnivariateSequenceGenerator usgForwardRate,
UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
Create a Log-normal SABR Instance
|
double |
rho()
Retrieve SABR Rho
|
UnivariateSequenceGenerator |
usgForwardRate()
The Forward Rate Univariate Random Variable Generator Sequence
|
UnivariateSequenceGenerator |
usgForwardRateVolatilityIdiosyncratic()
The Idiosyncratic Component of Forward Rate Volatility Univariate Random Variable Generator Sequence
|
double |
volatilityOfVolatility()
Retrieve SABR Volatility of Volatility
|
public StochasticVolatilityStateEvolver(ForwardLabel lslForward, double dblBeta, double dblRho, double dblVolatilityOfVolatility, UnivariateSequenceGenerator usgForwardRate, UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic) throws java.lang.Exception
lslForward
- The Forward Rate Latent State LabeldblBeta
- SABR BetadblRho
- SABR RhodblVolatilityOfVolatility
- SABR Volatility Of VolatilityusgForwardRate
- The Forward Rate Univariate Sequence GeneratorusgForwardRateVolatilityIdiosyncratic
- The Idiosyncratic Component Forward Rate Volatility
Univariate Sequence Generatorjava.lang.Exception
- Thrown if the Inputs are Invalidpublic static final StochasticVolatilityStateEvolver Gaussian(ForwardLabel lslForward, double dblRho, double dblVolatilityOfVolatility, UnivariateSequenceGenerator usgForwardRate, UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
lslForward
- The Forward Rate Latent State LabeldblRho
- SABR RhodblVolatilityOfVolatility
- SABR Volatility Of VolatilityusgForwardRate
- The Forward Rate Univariate Sequence GeneratorusgForwardRateVolatilityIdiosyncratic
- The Idiosyncratic Component Forward Rate Volatility
Univariate Sequence Generatorpublic static final StochasticVolatilityStateEvolver Lognormal(ForwardLabel lslForward, double dblRho, double dblVolatilityOfVolatility, UnivariateSequenceGenerator usgForwardRate, UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
lslForward
- The Forward Rate Latent State LabeldblRho
- SABR RhodblVolatilityOfVolatility
- SABR Volatility Of VolatilityusgForwardRate
- The Forward Rate Univariate Sequence GeneratorusgForwardRateVolatilityIdiosyncratic
- The Idiosyncratic Component Forward Rate Volatility
Univariate Sequence Generatorpublic static final StochasticVolatilityStateEvolver CEV(ForwardLabel lslForward, double dblBeta, double dblRho, UnivariateSequenceGenerator usgForwardRate, UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic)
lslForward
- The Forward Rate Latent State LabeldblBeta
- SABR BetadblRho
- SABR RhousgForwardRate
- The Forward Rate Univariate Sequence GeneratorusgForwardRateVolatilityIdiosyncratic
- The Idiosyncratic Component Forward Rate Volatility
Univariate Sequence Generatorpublic ForwardLabel forwardLabel()
public double volatilityOfVolatility()
public double beta()
public double rho()
public UnivariateSequenceGenerator usgForwardRate()
public UnivariateSequenceGenerator usgForwardRateVolatilityIdiosyncratic()
public LSQMPointUpdate evolve(int iSpotDate, int iViewDate, int iSpotTimeIncrement, LSQMPointUpdate lsqmPrev)
PointStateEvolver
evolve
in interface PointStateEvolver
iSpotDate
- The Spot DateiViewDate
- The View DateiSpotTimeIncrement
- The Spot Time IncrementlsqmPrev
- The Previous LSQM Point Updatepublic ImpliedBlackVolatility computeATMBlackVolatility(double dblATMForwardRate, double dblTTE, double dblSigma0)
dblATMForwardRate
- ATM Forward RatedblTTE
- Time to ExpirydblSigma0
- Initial Sigmapublic ImpliedBlackVolatility computeBlackVolatility(double dblStrike, double dblATMForwardRate, double dblTTE, double dblSigma0)
dblStrike
- StrikedblATMForwardRate
- ATM Forward RatedblTTE
- Time to ExpirydblSigma0
- Initial Sigma