This utility finds the fixed point lambda from larger lambda to smaller lambda
until the calculated ATM skew is smaller than ATM skew from data.
It uses ecop.find_fixed_point_sd_by_lambda
to locate stdev.
Other smile related parameters are abstracted away via the closure function fn_get_ld1
.
This utility is used primarily to solve the fixed point ATM hypothesis (for VIX option smile).
Note that this utility alone is not the full solution. Another utility is needed to match
the two tails (via mu and epsilon). This utility doesn't handle beta either.
ecop.find_fixed_point_lambda_by_atm_skew(
fn_get_ld1,
lambda,
step,
atm_skew,
k_atm,
ttm,
otype = "c",
verbose = TRUE,
msg_prefix = "",
min_lambda = 1.1
)
function, takes stdev, lambda, beta as input, return ld1 object
via ecop.get_ld_triple
. This closure function encapulates
mu_plus_ratio, epsilon_ratio, atm_imp_k.
numeric, the lambda parameter.
numeric, increment to decrease lambda.
numeric, ATM skew from data.
a vector of numeric, range of log-strike to calculate ATM skew via lm.
numeric, time to expiration, with 1 representing 1 year (365 days).
character, option type. Default: "c".
boolean, print debug message. Default: FALSE
.
character, command line message prefix. Default: "".
numeric, do not try lambda lower than this and return it. Default is 1.1.
numeric, representing lambda.