[R] Problem with nls function

William Dunlap wdunlap at tibco.com
Mon Nov 16 18:44:33 CET 2015


Instead of giving nls() start=0.01, give it a named vector of
parameters, start=c(theta=0.01).
Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Mon, Nov 16, 2015 at 6:19 AM, roberto marrone
<robertomarrone at hotmail.it> wrote:
> Dear all,
>
> I have a problem using the R finction nls. I am trying to perform an optimisation of the volatility parameter in the Black and Scholes formula. In the function nls I wrote as a formula the  call option price with the only unknown parameter the volatility that I called theta.  The code is the following and I have recevied some errors, one is that below. In my code I use as data a dataset of simuleted option price of length 99, and the same I did for subset.  I would like to have a code that compare my model with the volatility as an unknown parameter with a set of gien option data. Thanks in advance.
>
>
>
> optim<- nls(call ~ S*pnorm((log(15/14)+(0.015+theta^2/2)*0.17)/(theta*sqrt(0.17))) - 14*exp(-0.015*0-17)*pnorm((log(15/14)+(0.015+theta^2/2)*0.17)/(theta*sqrt(0.17)) - theta * sqrt(0.17)), data=data, start= 0.01, control= nls.control(maxiter = 50, tol = 1e-05, minFactor = 1/1024,                        printEval = FALSE, warnOnly = FALSE),  subset= "data1")
>
>
> Error in nls(call ~ S * pnorm((log(15/14) + (0.015 + theta^2/2) * 0.17)/(theta *  :
>   parameters without starting value in 'data': theta
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list