Page 1 of 1

Nonlinear Least Squares

Posted: Sun Dec 05, 2021 8:09 am
by gerluc
I have data on bond yields (192 time series observations with i = 1,2,..18 monthly maturities) and estimated the following code:

Code: Select all

' Compute factor loadings across maturities vector(18) tau group fm for !i=1 to 18 if !i=1 then tau(!i)=1 else if !i<=9 then tau(!i)=(!i-1)*3 else if !i<=11 then tau(!i)=(!i-5)*6 else tau(!i)=(!i-8)*12 endif endif endif %s=@str(tau(!i)) fm.add fm{%s} next equation reg matrix(192,4) beta for !i=1 to 192 vector(18) r for !j=1 to 18 %beta=@str(tau(!j)) r(!j)=fm{%beta}(!i) next mtos(r,yields) for !k=1 to 18 param c(1) 7.5 c(2) -2 c(3) 0.09 c(4) 0.06 reg.ls(optmethod="legacy", cov=hac) yields=c(1) + c(2)*((1 - exp(-tau(!k)*c(4)))/(tau(!k)*c(4))) + c(3)*((1 - exp(-tau(!k)*c(4)))/(tau(!k)*c(4)) - exp(-tau(!k)*c(4))) next next
As you can see, the last for loop command estimates a cross-sectional nonlinear regression for each month, which then gives me 192 estimates of c(1), c(2), c(3) and c(4). I then attach the results (please see below) of the last (192nd) non-linear regression estimates of these four parameters. As you can see that by using EViews legacy as the optimization method, I get convergence after 4 iterations, but I get a warning of Singular covariance - coefficients are not unique, which does not allow me to obtain estimates of the Std. Error, t-Statistic and p-values. What can be the reason for these results? If I change the optimization method to "bfgs" or "bhhh" or to another optimization method say "newton", I still get the same warning as well as an error message of failure to improve the hessian matrix. Was it because of not so good parameter starting values and/or that in each regression I only have 18 observations? Please kindly enlighten. Thank you.