I have a question regarding the computation of the yield curve or the term structure of interest rates using Dynare solution.

Typically, the interest rate of a one-period zero coupon bond can be computed as:

1/exp(r) = exp(m(+1));

where m is the stochastic discount factor. If we want to compute the interest rate of a two-period zero coupon bond, it can be computed as:

M2 = m(+1);
1/exp(r2*2) = exp(m(+1)+M2(+1));

However, this gives r2 = r, despite the model being solved using 3rd order in Dynare, which should result in a term structure of interest rates.

My question is: is it possible to compute the yield curve or the term structure of interest rates correctly in Dynare?

In addition, I am wondering if there are any differences between Dynare and Dynare++ for version 5.3. I have the impression that Dynare++ has been fully incorporated into Dynare, is that correct? Could the above issue be related to the differences between the two programs?

Thanks! How should one set up the term structure variables then?

My approach is as follows: given that m represents the SDF, the one-period bond yield can be calculated using the formula 1/exp(r) = exp(m(+1)).

For a two-period bond, M2 = m(+1) where M2 takes the SDF one period forward and r2 is the two-period yield. In this case, the formula for the two-period bond yield is 1/exp(r2*2) = exp(m(+1)+M2(+1)).

Is there any paper or reference that I can learn how to do it correctly? i.e., any papers that have an upward-sloping or downward-sloping yield curve with dynare solution?

I am asking because I have implemented

1/e^{r_n} = E_t e^{m_{t+1}+m_{t+2}+...+m_{t+n}}

And then, I feed zero shocks to run the model simulation and obtain the yield curve. But I notice that the yield curve slope disappeared at period 3. That is

r_1 < r_2 \approx r_3=r_4= r_5=..

But in theory, it should be upward-sloping, it is because I solve the model with order 3? Or something I did run?