When using shooting algorithm to solve a transition path you set an update ‘factor’, this is done when you create the ‘howtoupdate’ rules. For example solving a transition path in the Aiyagari model we might set something like,
transpathoptions.GEnewprice3.howtoupdate={‘capitalmarket’,‘r’,0,0.1}
which is saying that the price (r) is updated by subtracting (the 0), the value of the general eqm condition (‘capitalmarket’) times a damping factor (0.1).
The bigger the damping factor, the faster the convergence, but a big damping factor can be unstable.
One thing you might want to do is set a small damping factor for the first few iterations (so that our poor initial guess does some convergence towards the solution), but then after some iterations we start increasing the damping factor (we are close enough to solution we are stable, and now we just want speed).
This is what the new transpathoptions.additionalfactor=[3,10,20] option enables you to do. The first number, 3, is and additional factor, so in the first iteration we would use the standard 0.1 factor, but in later iterations we would use 3*0.1 as the factor. The second and third numbers in ‘additionalfactor’ control the timing of the additional factor. Prior to period 10 we just use the standard factor of 0.1. After period 20 we use the full additional factor, so 3*0.1. Between periods 10 and 20 we linearly scale up from 1*0.1 to 3*0.1. So you can control both when we start, how quickly we introduce, and how big is the additional factor.
In a model with multiple general eqm eqns and prices, you can set up additionalfactor as a matrix which applies a different additional factor and different timings to each of the prices.
The following post is written by Claude and gives a more technical explanation of how this is done.
Hopefully this should help solving transition path general eqm a little bit faster.