Likelihood evaluation with SMC filter

Hey, I try to understand how the likelihood of a nonlinear state-space (or DSGE) model can be evaluated. I read this note (Fernández-Villaverde and Rubio-Ramírez 2004) and tried to implement it in Julia (here).

They take as toy model

  1. x(t) = α + β*(x(t-1)/(1+x(t-1)²)) + w(t), where w(t) ∼ N(0,σ)

  2. y(t) = δ*x(t) + v(t), where v ∼ t(2)

and present a simple SMC filter to evaluate the likelihood for some given observables y.

However, my likelihood function seems to be quite inaccurate: Even with e.g. 100000 particles, α = 0.5 is barely distinct from α = 1. Additionally, the value (which is random, obviously) varies strongly, while the approximate direction is correct (a higher distance from the true values returns a smaller likelihood).

Is this expected behaviour? As I assume it isn’t, what goes wrong? I would appreciate any tip!