Parameter optimization - lsqnonlin with normcdf

2 visualizaciones (últimos 30 días)
berbay
berbay el 27 de Mayo de 2020
Respondida: Raunak Gupta el 30 de Mayo de 2020
Hi all,
I'm trying to optimize parameters with lsqnonlin to fit data. Actual data is market prices of options and I try to fit parameters to get those prices. However, since the formula is
and d1 is expressed as and v is a function of several parameters that I'd like to optimize. Initial parameters works well but when I run lsqnonlin v goes to negative at some point and I get an error of inputs must be real for erf function in normcdf. I made that non-negative using if statement in function v but then optimization doesn't work well.
I appreciate any lead to avoid this.
Best,

Respuesta aceptada

Raunak Gupta
Raunak Gupta el 30 de Mayo de 2020
Hi,
I see that the optimization variable in the question is v. Since in lsqnonlin you are mentioning v as your parameter I suggest to put a lower bound lb equal to 0 so that optimization will not return value less than zero.This can be done as mentioned in this example.
Upper bound can be mentioned as ‘inf because v can be any positive real number. You may remove if statement for checking the value of v because the functionality of putting bounds on optimization variable is available in lsqnonlin.

Más respuestas (0)

Categorías

Más información sobre Nonlinear Optimization en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by