Param ct
CT parameter class.
CentTendParam
Bases: GenericParam
Parameter storage for CT model.
Attributes:
| Name | Type | Description |
|---|---|---|
riskfree |
float
|
Risk-free rate of return |
mean_v |
float
|
Mean of the volatility process |
kappa_s |
float
|
Mean reversion speed of volatility |
kappa_y |
float
|
Mean reversion speed of central tendency |
eta_s |
float
|
Instantaneous standard deviation of volatility |
eta_y |
float
|
Instantaneous standard deviation of central tendency |
lmbd |
float
|
Equity risk premium |
rho |
float
|
Correlation |
measure |
Measure
|
Under which measure (P or Q) |
__init__(*, riskfree=0.0, lmbd=0.1, lmbd_s=0.0, lmbd_y=0.0, mean_v=0.5, kappa_s=1.5, kappa_y=0.5, eta_s=0.1, eta_y=0.01, rho=-0.5, 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_s
|
float
|
Mean reversion speed of volatility |
1.5
|
kappa_y
|
float
|
Mean reversion speed of central tendency |
0.5
|
eta_s
|
float
|
Instantaneous standard deviation of volatility |
0.1
|
eta_y
|
float
|
Instantaneous standard deviation of central tendency |
0.01
|
lmbd
|
float
|
Equity risk price |
0.1
|
lmbd_s
|
float
|
Volatility risk price |
0.0
|
lmbd_y
|
float
|
Central tendency risk price |
0.0
|
rho
|
float
|
Correlation |
-0.5
|
measure
|
Measure
|
Under which measure: - Measure.P : physical measure - Measure.Q : risk-neutral |
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_constraints()
Get parameter constraints.
Returns:
| Type | Description |
|---|---|
dict or sequence of dict
|
Equality and inequality constraints. See scipy.optimize.minimize |
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 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 |
|---|---|
(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.