First of all, your model is linear and in deviations from steady state. Hence, at the steady state, all deviations from steady state are 0, which is now the case. Your steady state is now correct. My first comment was wrong insofar as Dynare correctly found the steady state of the equations you entered (the residuals were 0 after the steady command), but as the steady state was not 0 for all variables (which must be the case for a linear model in deviations from steady state) some equations had to be wrong.
Regarding the timing, you should consult the user guide
http://www.dynare.org/documentation-and-support/user-guide/Dynare-UserGuide-WebBeta.pdf/view at page 20. Capital today was determined yesterday by yesterdays capital stock and investment through the law of motion. Hence k_t cannot be influenced at time t, but only at time t-1. The same often applies to bonds as you already know today what the bonds are going to pay you tomorrow (as they are a safe claim). That is, at time t you decide the amount b_t+1 the bond is going to pay you. Hence, tomorrows bonds b_t+1 are decided at time t. Note that it is possible to formulate the bonds timing differently.
However, in your case this seems to be the issue. In Dynare 4, there is an alternative to changing the timing by hand. You can leave the old timing and use the command
- Code: Select all
predetermined_variables k b;
in the variable declaration part. See the manual for more information. Apparently that solves the issue. Please find attached a version that's running.