Param heston
Heston parameter class.
HestonParam
Bases: GenericParam
Parameter storage for Heston model.
Attributes:
| Name | Type | Description |
|---|---|---|
riskfree |
float
|
Risk-free rate of return |
mean_v |
float
|
Mean of the volatility process |
kappa |
float
|
Mean reversion speed |
eta |
float
|
Instantaneous standard deviation of volatility |
lmbd |
float
|
Equity risk price |
lmbd_v |
float
|
Volatility risk price |
rho |
float
|
Correlation |
measure |
Measure
|
Under which measure (P or Q) |
Methods:
| Name | Description |
|---|---|
is_valid |
Check Feller condition |
convert_to_q |
Convert parameters to risk-neutral version |
__init__(*, riskfree=0.0, mean_v=0.5, kappa=1.5, eta=0.1, rho=-0.5, lmbd=0.1, lmbd_v=0.0, measure=Measure.P)
Initialize class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
riskfree
|
float
|
Risk-free rate of return |
0.0
|
mean_v
|
float
|
Mean of the volatility process |
0.5
|
kappa
|
float
|
Mean reversion speed |
1.5
|
eta
|
float
|
Instantaneous standard deviation of volatility |
0.1
|
lmbd
|
float
|
Equity risk price |
0.1
|
lmbd_v
|
float
|
Volatility risk price |
0.0
|
rho
|
float
|
Correlation |
-0.5
|
measure
|
Measure
|
|
P
|
convert_to_q()
Convert parameters to risk-neutral version.
feller()
Check Feller condition.
Returns:
| Type | Description |
|---|---|
bool
|
True for valid parameters, False for invalid |
from_theta(*, theta, measure=Measure.P)
classmethod
Initialize parameters from parameter vector.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
theta
|
(nparams, ) array
|
Parameter vector |
required |
measure
|
Measure
|
|
P
|
get_bounds(*, subset=Subset.all, measure=Measure.PQ)
Bounds on parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subset
|
Subset
|
Which parameters to update Belongs to - 'all' : all parameters, including those related to returns - 'vol' : only those related to volatility |
all
|
measure
|
Measure
|
Under which measure: - 'P' : physical measure - 'Q' : risk-neutral - 'PQ' : both |
PQ
|
Returns:
| Type | Description |
|---|---|
sequence of (min, max) tuples
|
|
get_model_name()
staticmethod
Return model name.
Returns:
| Type | Description |
|---|---|
str
|
Parameter vector |
get_names(*, subset=Subset.all, measure=Measure.PQ)
staticmethod
Return parameter names.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subset
|
Subset
|
Which parameters to return. Belongs to - 'all' : all parameters, including those related to returns - 'vol' : only those related to volatility |
all
|
measure
|
Measure
|
Under which measure: - 'P' : physical measure - 'Q' : risk-neutral - 'PQ' : both |
PQ
|
Returns:
| Type | Description |
|---|---|
list of str
|
Parameter names |
get_theta(*, subset=Subset.all, measure=Measure.PQ)
Return vector of model parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subset
|
Subset
|
Which parameters to update Belongs to - 'all' : all parameters, including those related to returns - 'vol' : only those related to volatility |
all
|
measure
|
Measure
|
Under which measure: - 'P' : physical measure - 'Q' : risk-neutral - 'PQ' : both |
PQ
|
Returns:
| Type | Description |
|---|---|
(nparams, ) array
|
Parameter vector |
is_valid()
Check validity of parameters.
Returns:
| Type | Description |
|---|---|
bool
|
True for valid parameters, False for invalid |
update(*, theta, subset=Subset.all, measure=Measure.PQ)
Update attributes from parameter vector.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
theta
|
(nparams, ) array
|
Parameter vector |
required |
subset
|
Subset
|
Which parameters to update Belongs to - 'all' : all parameters, including those related to returns - 'vol' : only those related to volatility |
all
|
measure
|
Measure
|
Under which measure: - 'P' : physical measure - 'Q' : risk-neutral - 'PQ' : both |
PQ
|
update_ajd()
Update AJD representation.