Skip to content

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.