Behavioral Equations KirmansAnts#
Step Equations#
Run substeps Euler-Maruyama micro-steps in Lamperti space.
Uses the Lamperti transform \(\phi = \arcsin(2 x - 1)\) from
Moran, Fosset, Benzaquen, Bouchaud (2020). The diffusion in
\(\phi\) is constant \(= \sqrt{2\mu}\), so Euler-Maruyama in
\(\phi\) is Lipschitz and recovers the standard \(O(dt)\)
weak rate. The \(\phi\)-domain is \([-\pi/2,\,+\pi/2]\);
reflective BC in \(\phi\)-space is the geometrically correct
boundary condition.
\(x\) is clipped to \([\epsilon, 1 - \epsilon]\) with
\(\epsilon = 10^{-7}\) before the forward map and after the
inverse map. The clip sits above the float32 precision of the
side-buffer near the boundary and far below any KDE bandwidth used
downstream, so the clip is invisible to consumers.
_micro_trajectory stores \(x\) (not \(\phi\)); the
inverse map is applied at every substep so downstream consumers stay
method-agnostic.
Step
Run substeps Euler-Maruyama micro-steps in Lamperti space.
Uses the Lamperti transform \(\phi = \arcsin(2 x - 1)\) from
Moran, Fosset, Benzaquen, Bouchaud (2020). The diffusion in
\(\phi\) is constant \(= \sqrt{2\mu}\), so Euler-Maruyama in
\(\phi\) is Lipschitz and recovers the standard \(O(dt)\)
weak rate. The \(\phi\)-domain is \([-\pi/2,\,+\pi/2]\);
reflective BC in \(\phi\)-space is the geometrically correct
boundary condition.
\(x\) is clipped to \([\epsilon, 1 - \epsilon]\) with
\(\epsilon = 10^{-7}\) before the forward map and after the
inverse map. The clip sits above the float32 precision of the
side-buffer near the boundary and far below any KDE bandwidth used
downstream, so the clip is invisible to consumers.
_micro_trajectory stores \(x\) (not \(\phi\)); the
inverse map is applied at every substep so downstream consumers stay
method-agnostic.