I am trying to determine the parameters for the Nelson Siegel Svensson model and am solving a Non-Linear Optimization problem to do this.
I am trying to solve:
$$ \min_\theta{\sum{(p_i - \hat p_i)^2}}. $$
where $p_i$ are the observed dirty prices of the bonds and $\hat p_i$ are the prices that have been calculated using the NSS parameters, $\theta$
I am using the procedure presented in this paper. But I've also read that the Optimization is highly sensitive to the input set of parameters ($\theta$) as mentioned in Page 2 of this paper. Hence, if I don't have data on these parameters how should I look to set the input. I am currently trying to do this for GBP Government Bonds, but am unable to find any published parameters. I was also unable to find how people circumvent this problem.
Currently, I am using the $\theta$ values presented here as I thought they may be similar for the GBP Government Bonds. However, the Optimization proves to be unsolvable.
This is part of the code that I am using in Python to solve the optimization problem. func
just returns the sum of the squared difference in prices (Objective function) and params
refer to $\theta$. These are the input params
I am currently using.
params = [3.15698855, -2.98240445, -3.37586632, -1.67713694, 0.88538977, 3.84324841] #Theta
optimize.minimize(func, params, method='COBYLA', constraints = cons, options={'disp': True})
Thank You