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:
dr = adjustmentSpeed * (averageLongTermRate - r) * dt + sigma * sqrt(r) * dW
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. |
| 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.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 |
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 producedaverageLongTermRate - the equilibrium value of the spot rateadjustmentSpeed - the reversion speed (towards the equilibrium value)sigma - a measure of the spot rate volatilityinitialRate - the initial value of the spot rate
- Throws:
BondsException
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 modelt - the initial moment for the model
- Returns:
- StochasticDifferentialModel
- Throws:
BondsException