Skip to content

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.