# Impossible to find steady state in Ireland 2003

**URL:** <https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557>\
**Category:** Steady state\
**Created:** [26 February 2021 13:16 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557 "2021-02-26T13:16:03Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [29 November 2021 08:24 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/41 "2021-11-29T08:24:42Z")

</div>

I am pretty sure you did not upload the correct files. `dsge_steadystate_helpera` still contains `e`. Again, in steady state all shocks are 0. Thus, shocks should not appear anywhere in the steady state computations. This should simplify other computations as well.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [12 December 2021 19:05 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/42 "2021-12-12T19:05:40Z")

</div>

I set the shocks x, a, e, z, v to 0 but I obtained the error message:

error: The steadystate file did not compute the steady state

I’m not sure I should’ve done that. For example, setting z=0 makes also denominator of lambd 0 so it sends lambd to infinity.

In the paper quoted above, authors define steady state by setting just the “shock part” of shocks to zero, i.e. the epsilons. For x, a, e, z and v they claim this values for the steady state:

x,a,v are set to 1  
e=e  
z=z  
[Model.mod](https://forum.dynare.org/uploads/short-url/525ZSnVh1HDlitpRlPKec24LTLA.mod) (1.7 KB)  
[Model\_steadystate.m](https://forum.dynare.org/uploads/short-url/jrLZTpjlfEZ855LOvg1guWBWDqf.m) (1.2 KB)  
[dsge\_steadystate\_helpert.m](https://forum.dynare.org/uploads/short-url/1363h7RE5NOc5tlmwxqlb7Cx1h9.m) (164 Bytes)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [13 December 2021 08:05 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/43 "2021-12-13T08:05:12Z")

</div>

I cannot run your code, because `pi` is undefined when calling the helper. Also why does your model contain

```auto
e_ss=4.02;
z_ss=3394.8;
pi_ss=80.38;
y_ss=26933;
r_ss=8.96;
tau_ss=0.0066;

```

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [16 December 2021 19:24 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/44 "2021-12-16T19:24:42Z")

</div>

I am attaching files with corrected mistake (pi). The var\_ss values enter the model equations in Model.mod file and consequently appear in Model\_steadystate.m. The reason for them is that some variables are in steady state and some in certain time period t or t+1. I designated the latter ones var and var(+1), but how would I designate the former ones? Should I unify the designation with the Model\_steadystate.m file and use var0 notation or simply plug in approximations from real world or do something else?

The reported error is still the same as before.

[Model.mod](https://forum.dynare.org/uploads/short-url/525ZSnVh1HDlitpRlPKec24LTLA.mod) (1.7 KB)  
[Model\_steadystate.m](https://forum.dynare.org/uploads/short-url/uDoIJQV3qTPjmV4tFXouAeyCFX.m) (1.2 KB)  
[dsge\_steadystate\_helpert.m](https://forum.dynare.org/uploads/short-url/1363h7RE5NOc5tlmwxqlb7Cx1h9.m) (164 Bytes)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [18 December 2021 19:57 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/45 "2021-12-18T19:57:23Z")

</div>

Sorry, but I still don’t understand what you are doing. Your helper is

> tau = fsolve(@(tau)(m/m)\*pi,tau0,options);

So if m\neq0 you are trying to solve the equation  
f(\tau)=\pi=0  
Regardless of \tau this equation will never be 0 unless \pi is 0. But additionally, m=0 in the file, so you are dividing by 0.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [26 December 2021 14:44 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/46 "2021-12-26T14:44:39Z")

</div>

Sorry, I didn’t know how to designate the lagged value of m in the helper file. The same designation as in the Model.mod file didn’t work and was reported as error. I checked Dynare Reference Manual and Griffoli’s Manual (2008), but there’s no reference to the helper files. The correct function would be tau=(m/m(-1))\*pi. But as we’re assuming a steady state I simply assumed m(-1)=m. Additionally, I unified steady state designation into var0, to avoid confusion with var\_ss notation.

[Model.mod](https://forum.dynare.org/uploads/short-url/taFRupvfWRPrJReRXiUSP2XfjCT.mod) (1.7 KB)  
[Model\_steadystate.m](https://forum.dynare.org/uploads/short-url/5HiOVjeEjUKaVf8Zne43JXQGfre.m) (1.1 KB)  
[dsge\_steadystate\_helpert.m](https://forum.dynare.org/uploads/short-url/1363h7RE5NOc5tlmwxqlb7Cx1h9.m) (164 Bytes)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [27 December 2021 10:16 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/47 "2021-12-27T10:16:10Z")

</div>

You still did not solve the issue. As I said, in steady state `tau=pi`. Why would you need a solver for this?. But `m/m(-1)` clearly shows that `m=0` as in your steady state file is impossible.

Please approach the problem from an economic instead of a technical perspective. Shocks are 0 in steady state and lagged values are equal to the contemporaneous ones (unless there is a trend).

In that respect `k=684000;` seems strange.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [1 January 2022 19:12 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/48 "2022-01-01T19:12:19Z")

</div>

OK, I replaced the helper file with tau=pi. “k” is capital rented to intermediate goods-producing sector from households. For my country, corporate debt was 13,3 bn in 2020, dividing with 19442 number of companies I obtained 684.086 or 684.000. However, this is only firm’s debt to the banks, while total debt is cca 49.4 bn, which would make the average in my thesis 2.540.891. I tried setting it to 2.500.000, but Dynare still reports the steady-state can’t be computed.

[Model.mod](https://forum.dynare.org/uploads/short-url/taFRupvfWRPrJReRXiUSP2XfjCT.mod) (1.7 KB)  
[Model\_steadystate.m](https://forum.dynare.org/uploads/short-url/iwEQ2qvN0MBtNbUqqBcTV0wdZLz.m) (1.1 KB)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [4 January 2022 08:31 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/49 "2022-01-04T08:31:18Z")

</div>

I think you have a serious problem in matching the model to the data. Just because you observe a number in data does not mean that this number will be the steady state for a model with an arbitrary parameterization. In fact, the whole issue of calibration is concerned with finding parameters to match stylized facts of the data.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [30 January 2022 14:30 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/50 "2022-01-30T14:30:16Z")

</div>

I used scaling for steady state values of variables, I multiplied them with total factor productivity (I used GDP per hour worked as % of USA), e.g. for panel average for GDP I used (x \* 0.84+y \* 0.73 +z \* 0.61)/3 to get sample average for three countries taking into account productivity.

Still Dynare reports steady state couldn’t be computed. I’m attaching model files.

[Model.mod](https://forum.dynare.org/uploads/short-url/iBtgLxeC6BlidlVw4Oh82uT2NvG.mod) (1.7 KB)  
[Model\_steadystate.m](https://forum.dynare.org/uploads/short-url/dcONjxMwRWv77nKCK6vV572PcRt.m) (1.1 KB)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [1 February 2022 12:40 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/51 "2022-02-01T12:40:00Z")

</div>

It seems you are not listening. Why should in the model

```auto
c=9378.02;

```

?  
Which parameter assures this?

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [20 February 2022 18:37 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/52 "2022-02-20T18:37:45Z")

</div>

I’ve read some material on calibration in Uribe’s Open Economy Macroeconomics [Chapter 4](http://www.columbia.edu/~mu2166/book/soe_rbc/slides_soe_rbc.pdf) and also your [Github](https://github.com/JohannesPfeifer/DSGE_mod/tree/master/Gali_2010) and paper by [Gomme](https://paulgomme.github.io/calibration.pdf).

It’s my understanding that calibration targets for variables in steady state can be based on data observed in the real world. And then parameter values are computed by simply plugging this values in equations of a non-linearized steady-state model. Doing so, I obtained e.g. bet=9.97 (instead of 0.99 suggested by microeconomic evidence) by plugging r from my observations, as well as lambd and pi from microeconomic evidence into lambd=bet \* r \* ((lambd(+1))/(pi(+1))) (assuming lambd(+1)=lambd in the steady-state).

I haven’t found any exact description of this procedure in literature, so I hope this is correct.

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [21 February 2022 08:31 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/53 "2022-02-21T08:31:41Z")

</div>

Yes, the general approach seems correct. I hope you mean 0.97, not 9.97 for `bet`. Also note that `lambd(+1)=lambd` only hold for a properly detrended model (or with log-utility). Otherwise, there is typically a risk aversion parameter showing up. You may want to have a look at

> **[Chapter\_2\_RBC.pdf](https://drive.google.com/file/d/1o2-3Bo3S11cziP5XE6F5gVBWZRfDtGYF/view)**
>
> Google Drive file.

Section 3.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [12 March 2022 19:03 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/54 "2022-03-12T19:03:15Z")

</div>

Thank you for the link. I’m not sure if I understand the difference between growth observatons and business cycle observations. In my case, I used my real world observations to compute the values of five variables and microeconomic evidence from literature to compute the rest of variables and all parameters.

I actually obtained value 9.97 for bet. Could I be having bad data? For inflation, I used index 2015=100, and I computed average for quarters 1991Q1-2020Q1 to compute average for panel.

I also scaled data, as you suggested, with total factor productivity (GDP per hour worked as % of USA). So instead of inflation rate 80.83 computed as simple average, I multiplied it with productivity factors 0.6115, 0.7286 and 0.8378 for the three countries and computed their mean 58.71.

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [13 March 2022 08:30 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/55 "2022-03-13T08:30:06Z")

</div>

1. A growth observation concerns the long-run like average inflation over a sample.
2. I am not following. Inflation rates are percent changes in the price index. Also, why are you scaling inflation rates? It’s not a per unit of effective labor variable in the model.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [13 March 2022 10:13 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/56 "2022-03-13T10:13:54Z")

</div>

In this case I won’t scale inflation, but I’m happy the procedure is correct, I wasn’t sure about that.

Also, I will use normal notation, e.g. 1 for 1 % inflation, and not add 100, to obtain price index.

In the meantime, the majority of my non-linearized steady-state model equations include shock variables e,a,z,x and v that are 0 in the steady state. How would I compute the parameters from these equations?

Regarding growth observations, I think I correctly inserted real world observations for the variables I observed.

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [13 March 2022 15:25 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/57 "2022-03-13T15:25:29Z")

</div>

What do you mean with

> [@redbanana](#):
>
> equations include shock variables e,a,z,x and v that are 0 in the steady state. How would I compute the parameters from these equations?

?

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [14 March 2022 17:10 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/58 "2022-03-14T17:10:14Z")

</div>

I mean, for example in equation

`lambd=bet*r*((lambd(+1))/(pi(+1)))`

parameter `bet` can be easily expressed with the rest of parameters and variables, because they’re all non-zero.

But in the majority of 20 equations of my non-linear steady-state model, there is always either `a,e,x,z` or `v` present, making expression for every parameter either zero or infinity (if I plug in zero for the shock). E.g. in

`y=(k^alph)*(z*h)^(1-alph)`

Expressing `alph` using the rest of variables will always include `z`.

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [15 March 2022 07:36 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/59 "2022-03-15T07:36:13Z")

</div>

Then your equation is wrong. If `z` is

```auto
z=rho*z(-1)+eps_z

```

then it needs to be exp(z) in the production function, which is 1 in steady state.

---

<div class="post-metadata">

**Author:** ![redbanana](https://forum.dynare.org/user_avatar/forum.dynare.org/redbanana/32/12120_2.png) [@redbanana](https://forum.dynare.org/u/redbanana)\
**Post date:** [5 June 2022 11:24 UTC](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557/60 "2022-06-05T11:24:57Z")

</div>

I mean, originally, z is stated to be

![Zt](https://forum.dynare.org/uploads/default/original/2X/d/dc4c4c763e0c204161b8be08ef89241e79484444.png)

However, even if I use antilogs, I still get z values, which are 0 in the steady-state.

[Previous page](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557.md?page=2)

[Next page](https://forum.dynare.org/t/impossible-to-find-steady-state-in-ireland-2003/17557.md?page=4)
