public class BlackScholesModelWithCurves extends AbstractProcessModel
MonteCarloProcess via the specification of
\( f = exp \), \( \mu = r - \frac{1}{2} \sigma^2 \), \( \lambda_{1,1} = \sigma \), i.e.,
of the SDE
\[
dX = \mu dt + \lambda_{1,1} dW, \quad X(0) = \log(S_{0}),
\]
with \( S = f(X) \). See MonteCarloProcess for the notation.The interface for numerical schemes.,
The interface for models provinding parameters to numerical schemes.| Constructor and Description |
|---|
BlackScholesModelWithCurves(Double initialValue,
DiscountCurve discountCurveForForwardRate,
Double volatility,
DiscountCurve discountCurveForDiscountRate,
AbstractRandomVariableFactory randomVariableFactory)
Create a Black-Scholes specification implementing AbstractProcessModel.
|
BlackScholesModelWithCurves(RandomVariable initialValue,
DiscountCurve discountCurveForForwardRate,
RandomVariable volatility,
DiscountCurve discountCurveForDiscountRate,
AbstractRandomVariableFactory randomVariableFactory)
Create a Black-Scholes specification implementing AbstractProcessModel.
|
| Modifier and Type | Method and Description |
|---|---|
RandomVariable |
applyStateSpaceTransform(int componentIndex,
RandomVariable randomVariable)
Applies the state space transform fi to the given state random variable
such that Yi → fi(Yi) =: Xi.
|
RandomVariable |
applyStateSpaceTransformInverse(int componentIndex,
RandomVariable randomVariable) |
BlackScholesModelWithCurves |
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.
|
RandomVariable[] |
getDrift(int timeIndex,
RandomVariable[] realizationAtTimeIndex,
RandomVariable[] realizationPredictor)
This method has to be implemented to return the drift, i.e.
|
RandomVariable[] |
getFactorLoading(int timeIndex,
int component,
RandomVariable[] realizationAtTimeIndex)
This method has to be implemented to return the factor loadings, i.e.
|
RandomVariable[] |
getInitialState()
Returns the initial value of the state variable of the process Y, not to be
confused with the initial value of the model X (which is the state space transform
applied to this state value.
|
RandomVariable[] |
getInitialValue()
Return the initial value of this model.
|
int |
getNumberOfComponents()
Returns the number of components
|
RandomVariable |
getNumeraire(double time)
Return the numeraire at a given time index.
|
RandomVariable |
getRandomVariableForConstant(double value)
Return a random variable initialized with a constant using the models random variable factory.
|
RandomVariable |
getVolatility()
Returns the volatility parameter of this model.
|
String |
toString() |
getMonteCarloWeights, getNumberOfFactors, getProcess, getProcessValue, getReferenceDate, getTime, getTimeDiscretization, getTimeIndex, setProcesspublic BlackScholesModelWithCurves(RandomVariable initialValue, DiscountCurve discountCurveForForwardRate, RandomVariable volatility, DiscountCurve discountCurveForDiscountRate, AbstractRandomVariableFactory randomVariableFactory)
initialValue - Spot value.discountCurveForForwardRate - The curve used for calcuation of the forward.volatility - The log volatility.discountCurveForDiscountRate - The curve used for calcualtion of the disocunt factor / numeraire.randomVariableFactory - The random variable factory used to create random variables from constants.public BlackScholesModelWithCurves(Double initialValue, DiscountCurve discountCurveForForwardRate, Double volatility, DiscountCurve discountCurveForDiscountRate, AbstractRandomVariableFactory randomVariableFactory)
initialValue - Spot value.discountCurveForForwardRate - The curve used for calcuation of the forward.volatility - The log volatility.discountCurveForDiscountRate - The curve used for calcualtion of the disocunt factor / numeraire.randomVariableFactory - The random variable factory used to create random variables from constants.public RandomVariable[] getInitialState()
ProcessModelpublic RandomVariable[] getDrift(int timeIndex, RandomVariable[] realizationAtTimeIndex, RandomVariable[] realizationPredictor)
ProcessModeltimeIndex - The time index (related to the model times discretization).realizationAtTimeIndex - The given realization at timeIndexrealizationPredictor - The given realization at timeIndex+1 or null if no predictor is available.public RandomVariable[] getFactorLoading(int timeIndex, int component, RandomVariable[] realizationAtTimeIndex)
ProcessModeltimeIndex - The time index (related to the model times discretization).component - The index j of the driven component.realizationAtTimeIndex - The realization of X at the time corresponding to timeIndex (in order to implement local and stochastic volatlity models).public RandomVariable applyStateSpaceTransform(int componentIndex, RandomVariable randomVariable)
ProcessModelcomponentIndex - The component index i.randomVariable - The state random variable Yi.public RandomVariable applyStateSpaceTransformInverse(int componentIndex, RandomVariable randomVariable)
public RandomVariable getNumeraire(double time)
ProcessModeltime - The time t for which the numeraire N(t) should be returned.RandomVariableFromDoubleArraypublic int getNumberOfComponents()
ProcessModelpublic RandomVariable getRandomVariableForConstant(double value)
ProcessModelvalue - The constant value.public BlackScholesModelWithCurves getCloneWithModifiedData(Map<String,Object> dataModified)
ProcessModeldataModified. If data is provided which is ignored by the model
no exception may be thrown.dataModified - Key-value-map of parameters to modify.public RandomVariable[] getInitialValue()
getInitialValue in class AbstractProcessModelpublic RandomVariable getVolatility()
Copyright © 2019. All rights reserved.