WebCab Bonds
v2.01
(J2SE Edition)

webcab.lib.finance.pricing.models.rate
Class CoxIngersollRoss

java.lang.Object
  |
  +--webcab.lib.finance.pricing.models.StochasticDifferentialModel
        |
        +--webcab.lib.finance.pricing.core.models.MarkovModel
              |
              +--webcab.lib.finance.pricing.core.models.SemimartingaleMarkovModel
                    |
                    +--webcab.lib.finance.pricing.core.models.RationalSemimartingaleMarkovModel
                          |
                          +--webcab.lib.finance.pricing.models.rate.CoxIngersollRoss

public class CoxIngersollRoss
extends RationalSemimartingaleMarkovModel

Cox Ingersoll Ross is an equilibrium model derived under the assumption that interest rates are determined by the supply and demand of individuals having a logarithmic utility function. This spot rate process is semimartingale and the stochastic differential equation is:

The model is very similar to Vasicek, with the exception that its variance is proportional to the short rate, rather than constant.

The model guarantees the positivity of interest rates if the following condition is satisfied: sigma * sigma < 2 * adjustmentSpeed * averageLongTermRate


Constructor Summary
CoxIngersollRoss(String name, double averageLongTermRate, double adjustmentSpeed, double sigma, double initialRate)
          Creates a new instance of CoxIngersollRoss.
 
Method Summary
 int[] getCategoriesForExternalReferences()
           
 IntervalRat getCoef(int nProcess, int nCoef)
           
 double[][] getCorrelationMatrix()
           
 int getExternal()
           
 String[] getExternalReferences(Context context)
           
 double[] getExternalVariables(Context context)
           
 Context getInitialContext()
           
 int[] getNFactors()
           
 int getNumeraire()
           
 int getNVariables()
           
 int getTraded()
           
 StochasticDifferentialModel getUpdatedModel(Context context, double t)
          Sets the initial values of the models' variables to the ones given as parameters.
 
Methods inherited from class webcab.lib.finance.pricing.core.models.RationalSemimartingaleMarkovModel
comp, evaluateCoef
 
Methods inherited from class webcab.lib.finance.pricing.core.models.SemimartingaleMarkovModel
addInternalJumpConditions, dV, evaluateNotTradedAbsoluteCoef, evaluateNotTradedTimeCoef, evaluateNotTradedWienerCoef, evaluateTimeCoef, evaluateWienerCoef, getAbsoluteCoef, getExternalCorrelationMatrix, getExternalReferencesInJumpConditions, getFixedVariablesForCondition, getJumpCondition, getJumpValue, getNExternalFactors, getNJumpConditions, getNotTradedAbsoluteCoef, getNotTradedTimeCoef, getNotTradedWienerCoef, getTimeCoef, getTotalExternalFactors, getTotalTradedFactors, getWienerCoef, hasExternalJumpConditions, resetOnDemand
 
Methods inherited from class webcab.lib.finance.pricing.core.models.MarkovModel
dV_MarkovModel, dV
 
Methods inherited from class webcab.lib.finance.pricing.models.StochasticDifferentialModel
compoundModel, compoundModel, compoundModel, compoundModel, compoundModel, compoundModel, dV_StochasticDifferentialModel, getCholeskyMatrix, getContext, getStartVariableForContext, getSuperModel, getTotalFactors, getVariables, seekRoot, seekUpwards, setCholeskyMatrix, setSuperModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoxIngersollRoss

public CoxIngersollRoss(String name,
                        double averageLongTermRate,
                        double adjustmentSpeed,
                        double sigma,
                        double initialRate)
                 throws BondsException
Creates a new instance of CoxIngersollRoss.

Parameters:
name - the name of the spot rate context produced
averageLongTermRate - the equilibrium value of the spot rate
adjustmentSpeed - the reversion speed (towards the equilibrium value)
sigma - a measure of the spot rate volatility
initialRate - the initial value of the spot rate
Throws:
BondsException
Method Detail

getNVariables

public int getNVariables()
Specified by:
getNVariables in class StochasticDifferentialModel

getNFactors

public int[] getNFactors()
Specified by:
getNFactors in class StochasticDifferentialModel

getInitialContext

public Context getInitialContext()
Specified by:
getInitialContext in class StochasticDifferentialModel

getCorrelationMatrix

public double[][] getCorrelationMatrix()
Specified by:
getCorrelationMatrix in class StochasticDifferentialModel

getNumeraire

public int getNumeraire()
Specified by:
getNumeraire in class StochasticDifferentialModel

getTraded

public int getTraded()
Specified by:
getTraded in class SemimartingaleMarkovModel

getExternal

public int getExternal()
Specified by:
getExternal in class SemimartingaleMarkovModel

getExternalVariables

public double[] getExternalVariables(Context context)
Specified by:
getExternalVariables in class SemimartingaleMarkovModel

getExternalReferences

public String[] getExternalReferences(Context context)
Specified by:
getExternalReferences in class SemimartingaleMarkovModel

getCategoriesForExternalReferences

public int[] getCategoriesForExternalReferences()
Specified by:
getCategoriesForExternalReferences in class SemimartingaleMarkovModel

getCoef

public IntervalRat getCoef(int nProcess,
                           int nCoef)
                    throws BondsException
Specified by:
getCoef in class RationalSemimartingaleMarkovModel
BondsException

getUpdatedModel

public StochasticDifferentialModel getUpdatedModel(Context context,
                                                   double t)
                                            throws BondsException
Description copied from class: StochasticDifferentialModel
Sets the initial values of the models' variables to the ones given as parameters.

Specified by:
getUpdatedModel in class StochasticDifferentialModel
Parameters:
context - the context which will be the new initial context of the model
t - the initial moment for the model
Returns:
StochasticDifferentialModel
Throws:
BondsException

WebCab Bonds
v2.01
(J2SE Edition)