Package org.drip.dynamics.meanreverting
Class R1CIRStochasticEvolver
java.lang.Object
org.drip.dynamics.process.R1StochasticEvolver
org.drip.dynamics.meanreverting.R1CKLSStochasticEvolver
org.drip.dynamics.meanreverting.R1CIRStochasticEvolver
public class R1CIRStochasticEvolver extends R1CKLSStochasticEvolver
R1CIRStochasticEvolver implements the R1 Cos-Ingersoll-Ross Stochastic Evolver. The
References are:
- Doob, J. L. (1942): The Brownian Movement and Stochastic Equations Annals of Mathematics 43 (2) 351-369
- Gardiner, C. W. (2009): Stochastic Methods: A Handbook for the Natural and Social Sciences 4th Edition Springer-Verlag
- Kadanoff, L. P. (2000): Statistical Physics: Statics, Dynamics, and Re-normalization World Scientific
- Karatzas, I., and S. E. Shreve (1991): Brownian Motion and Stochastic Calculus 2nd Edition Springer-Verlag
- Risken, H., and F. Till (1996): The Fokker-Planck Equation – Methods of Solution and Applications Springer
- Module = Product Core Module
- Library = Fixed Income Analytics
- Project = HJM, Hull White, LMM, and SABR Dynamic Evolution Models
- Package = Mean Reverting Stochastic Process Dynamics
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description R1CIRStochasticEvolver(double meanReversionSpeed, double meanReversionLevel, double volatilityCoefficient, R1StochasticDriver r1StochasticDriver)
R1CIRStochasticEvolver Constructor -
Method Summary
Modifier and Type Method Description boolean
evolutionStrictlyPositive()
Indicate it the Evolution includes Zero, or is strictly PositiveR1FokkerPlanckCIR
fokkerPlanckGenerator()
Construct the Fokker Planck PDF Generator corresponding to R1 Stochastic EvolverR1NonCentral
futureValueDistribution(double r0, double t)
Generate the Future Value Distribution at Time tdouble
mean(double x0, double t)
Compute the Expected Value of x at a time t from a Starting Value x0PopulationCentralMeasures
steadyStatePopulationCentralMeasures(double x0)
Generate the Steady State Population Central MeasuresPopulationCentralMeasures
temporalPopulationCentralMeasures(double x0, double t)
Estimate the Temporal Central Measures for the Underlier given the Delta 0 Starting PDFdouble
timeVariance(double x0, double t)
Compute the Time Variance of x across at a Time Value tstatic R1CIRStochasticEvolver
Wiener(double meanReversionSpeed, double meanReversionLevel, double volatility, double timeWidth)
Construct a Weiner Instance of R1CIRStochasticEvolver ProcessMethods inherited from class org.drip.dynamics.meanreverting.R1CKLSStochasticEvolver
cklsParameters, Wiener
Methods inherited from class org.drip.dynamics.process.R1StochasticEvolver
driftFunction, evolve, stochasticDriver, volatilityFunction
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
R1CIRStochasticEvolver
public R1CIRStochasticEvolver(double meanReversionSpeed, double meanReversionLevel, double volatilityCoefficient, R1StochasticDriver r1StochasticDriver) throws java.lang.ExceptionR1CIRStochasticEvolver Constructor- Parameters:
meanReversionSpeed
- The Mean Reversion SpeedmeanReversionLevel
- The Mean Reversion LevelvolatilityCoefficient
- The Volatility Coefficientr1StochasticDriver
- The Stochastic Driver- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
Wiener
public static R1CIRStochasticEvolver Wiener(double meanReversionSpeed, double meanReversionLevel, double volatility, double timeWidth)Construct a Weiner Instance of R1CIRStochasticEvolver Process- Parameters:
meanReversionSpeed
- The Mean Reversion SpeedmeanReversionLevel
- The Mean Reversion Levelvolatility
- The VolatilitytimeWidth
- Wiener Time Width- Returns:
- Weiner Instance of R1CIRStochasticEvolver Process
-
evolutionStrictlyPositive
public boolean evolutionStrictlyPositive()Indicate it the Evolution includes Zero, or is strictly Positive- Returns:
- TRUE - Evoltuion is Strictly Positive
-
mean
public double mean(double x0, double t) throws java.lang.ExceptionCompute the Expected Value of x at a time t from a Starting Value x0- Parameters:
x0
- Starting Variatet
- Time- Returns:
- Expected Value of x
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
timeVariance
public double timeVariance(double x0, double t) throws java.lang.ExceptionCompute the Time Variance of x across at a Time Value t- Parameters:
x0
- Starting Variatet
- Time t- Returns:
- Time Variance of x
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
temporalPopulationCentralMeasures
Description copied from class:R1StochasticEvolver
Estimate the Temporal Central Measures for the Underlier given the Delta 0 Starting PDF- Overrides:
temporalPopulationCentralMeasures
in classR1StochasticEvolver
- Parameters:
x0
- The X Anchor for the Delta Functiont
- The Forward Time- Returns:
- The Temporal Central Measures for the Underlier
-
steadyStatePopulationCentralMeasures
Description copied from class:R1StochasticEvolver
Generate the Steady State Population Central Measures- Overrides:
steadyStatePopulationCentralMeasures
in classR1StochasticEvolver
- Parameters:
x0
- Starting Variate- Returns:
- The Steady State Population Central Measures
-
futureValueDistribution
Description copied from class:R1StochasticEvolver
Generate the Future Value Distribution at Time t- Overrides:
futureValueDistribution
in classR1StochasticEvolver
- Parameters:
r0
- Starting Variatet
- Time- Returns:
- The Future Value Distribution
-
fokkerPlanckGenerator
Description copied from class:R1StochasticEvolver
Construct the Fokker Planck PDF Generator corresponding to R1 Stochastic Evolver- Overrides:
fokkerPlanckGenerator
in classR1CKLSStochasticEvolver
- Returns:
- The Fokker Planck PDF Generator corresponding to R1 Stochastic Evolver
-