cev
financepy.models.cev
Created on Fri Sep 4 21:15:09 2026
@author: Dominic
Class
CEV
CEV(
sigma: float,
beta: float,
)
No description available.
Methods
value
value(
self,
stock_price,
t_exp,
strike,
option_type,
interest_rate,
dividend_yield,
)
Value a European call or put option under the CEV model.
call_value
call_value(
self,
stock_price,
t_exp,
strike,
interest_rate,
dividend_yield,
)
Value a European call option under the CEV model.
For beta < 1 the exact European CEV formula is expressed in
terms of non-central chi-square distribution functions.
For beta = 1 the model reduces to Black-Scholes.
put_value
put_value(
self,
stock_price,
t_exp,
strike,
interest_rate,
dividend_yield,
)
Value a European put option using put-call parity.
local_volatility
local_volatility(
self,
stock_price,
)
Return the instantaneous percentage local volatility
sigma_loc(S) = sigma S^(beta - 1).
diffusion_coefficient
diffusion_coefficient(
self,
stock_price,
)
Return the absolute diffusion coefficient
sigma S^beta
appearing in
dS = (r-q)S dt + sigma S^beta dW.
implied_volatility
implied_volatility(
self,
stock_price,
t_exp,
strike,
interest_rate,
dividend_yield,
)
Return the Black-Scholes implied volatility corresponding
to the CEV European call price.
implied_volatility_curve
implied_volatility_curve(
self,
stock_price,
t_exp,
strikes,
interest_rate,
dividend_yield,
)
Return the Black-Scholes implied-volatility curve across strikes.
implied_volatility_skew
implied_volatility_skew(
self,
stock_price,
t_exp,
strikes,
interest_rate,
dividend_yield,
)
Alias for implied_volatility_curve().
For beta < 1 the basic CEV model generally produces a
negative implied-volatility skew.
value_mc
value_mc(
self,
stock_price,
t_exp,
strike_price,
option_type,
interest_rate,
dividend_yield,
num_paths = 10000,
num_steps_per_year = 252,
seed = 4242,
)
Monte Carlo valuation using a full-truncation Euler scheme.
This is primarily intended as a numerical cross-check of the
analytic European pricing formula.
implied_volatility_surface
implied_volatility_surface(
self,
stock_price,
expiries,
strikes,
interest_rate,
dividend_yield,
)
Return the Black-Scholes implied-volatility surface generated
by the CEV model.
Parameters
----------
stock_price : float
Current stock price.
expiries : array_like
Times to expiry in years.
strikes : array_like
Strike grid.
interest_rate : float
Continuously compounded risk-free rate.
dividend_yield : float
Continuously compounded dividend yield.
Returns
-------
vols : ndarray
Matrix of implied volatilities with shape
(len(expiries), len(strikes))
so that
vols[i, j]
is the implied volatility for expiries[i] and strikes[j].
Generated automatically from the FinancePy source code.
Do not edit this file manually.